現代工業(yè)生產(chǎn)中一般通過(guò)PCI口、ISA口或是RS 232串行接口進(jìn)行數據通訊,但是這些傳統的接口存在著(zhù)體積龐大、共享性差、電磁抗干擾性弱等缺點(diǎn),因此數據容易失真,與傳統的接口相比較,USB接口技術(shù)以其即插即用、熱插拔、接口體積小巧、傳輸可靠、良好的兼容性、共享式通信和低成本等優(yōu)點(diǎn),成為外圍設備與計算機進(jìn)行連接的新型接口。 本文針對現有樁基測試數據采集方法的弊端和實(shí)時(shí)數據監測和控制的需要,設計了一個(gè)基于USB接口傳輸的實(shí)驗系統,此系統能夠實(shí)現上位機與數據采集箱之間的快速數據傳輸,實(shí)現上位機對各個(gè)通道的數據進(jìn)行分析、管理(及對下位機的)控制,系統安全可靠。 1 測控系統設計 該系統由負責實(shí)現采集、存儲、數據傳輸功能的數據采集箱、上位機、無(wú)線(xiàn)收發(fā)模塊及接收機組成。結構如圖1所示。數據采集箱采用傳感器前端+智能采集、控制單元(應力傳感器模塊,位移傳感器模塊,振弦傳感器模塊,RS 232通信模塊,液壓控制模塊)+主控單元的架構,主控卡為數據采集箱的核心,實(shí)現與上位機的通信以及與智能數據測控單元的通信。各種傳感器信號首先經(jīng)過(guò)智能采集單元模塊進(jìn)行信號調理、A/D轉換,同時(shí)與主控單元模塊通過(guò)CAN總線(xiàn)進(jìn)行數據傳輸,這樣便于其他功能的擴展。經(jīng)過(guò)主控卡讀取來(lái)的信號通過(guò)無(wú)線(xiàn)傳輸模塊發(fā)送給接收機,接收機再通過(guò)USB與上位機通訊。主控卡中增設有大容量NandFLASH存儲器,實(shí)現傳感器采集數據的存儲備份。當主控卡和上位機無(wú)線(xiàn)傳輸數據失敗時(shí),可以通過(guò)主控卡上預留的RS 232接口把FLASH存儲器內的數據讀走,FLASH存儲器內的數據掉電后也可長(cháng)時(shí)間保存,增強了系統的可靠性。 系統中各模塊通過(guò)底板供電,為了抗干擾消除模塊之間電源的相互影響,每個(gè)模塊內部對+5 V電源采用DC/DC隔離。由于在樁基施工現場(chǎng)一般電源不太穩定,各種重型設備引起的干擾比較大,本系統各個(gè)智能采集單元相互電氣隔離,通過(guò)CAN總線(xiàn)進(jìn)行各模塊之間的通訊,增強系統了的安全性。數據采集箱采用4U歐式標準機箱,機箱由插槽、背板、電源模塊等構成。由于傳輸距離要求不高,無(wú)線(xiàn)模塊采用的是瑞米斯公司先前生產(chǎn)的并口傳輸模塊能夠實(shí)現數據的高速傳輸。接收機實(shí)現無(wú)線(xiàn)數據收發(fā)功能,是由Cypress公司的CY7C68013控制芯片擴展而來(lái)。整個(gè)系統結構緊湊,搭建方便,能夠達到預定要求。 2 接收機設計 接收機由Cypress公司的CY7C68013芯片擴展而來(lái)。CY7C68013包括1個(gè)8051處理器,1個(gè)串行接口引擎(SIE),1個(gè)USB收發(fā)器,8.5 KB片上RAM,4 KBFIFO存儲器以及1個(gè)通用可編程接口(GPIF)。智能串行接口引擎(SIE)執行所有基本的USB功能,并將嵌入式MCU解放出來(lái)以用于實(shí)現專(zhuān)用的功能,保證其持續的高性能的傳輸速率。 2.1 硬件設計 CY7C68013有三種可用的接口模式:端口、GPIF主控和從FIFO。本系統采用此GPIF主控模式,GPIF作為內部的主控制器與FIFO直接相連,通過(guò)編程來(lái)決定控制信號的輸出狀態(tài)。對于接口數據的總8位,選擇FD[7:0]引腳,并設置WORDWIDE=0?刂戚敵鲆_CTLn被用作讀和寫(xiě)選通信號。準備好輸入引腳RDYn,通過(guò)GPIF采樣,并且能強制進(jìn)行等待,繼續或重復等操作,直至進(jìn)入特定的狀態(tài)。GPIF地址線(xiàn)隨著(zhù)數據傳輸產(chǎn)生地址累加。芯片時(shí)鐘被配置為48 MHz的內部時(shí)鐘,通過(guò)IFCLK引腳輸出,見(jiàn)圖2。 2.2 程序設計 2.2.1 固件設計 固件(Firmware)直接與硬件進(jìn)行通信,主要功能是負責接受和處理主機發(fā)給設備的各種請求,并向主機返回設備的狀態(tài)信息。Cypress公司為了簡(jiǎn)化固件代碼的開(kāi)發(fā)過(guò)程,特別設計一個(gè)固件程序框架,框架如圖3所示。主要工作是完成初始化、USB標準設備請求的處理和USB掛起電源管理服務(wù)。使用框架來(lái)構造固件程序,首先框架初始化內部的狀態(tài)變量,調用用戶(hù)初始化函數TD_Init()。該函數返回后,初始化USB接口到未配置狀態(tài)并使能中斷。每隔1s進(jìn)行一次設備重枚舉,直到端點(diǎn)接受到一個(gè)SETUP包。函數TD_Init()在框架初始化期間被調用,在設備重枚舉和任務(wù)調度啟用之前調用該函數,用來(lái)初始化用戶(hù)的全局變量。 2.2.2 驅動(dòng)程序 EZ-USB FX2的開(kāi)發(fā)包提供了一個(gè)通用驅動(dòng)程序(GPD),可直接在應用程序中調用GPD函數來(lái)實(shí)現與設備的數據交換。GPD中提供的函數可以實(shí)現獲取設備信息、上傳下載固件、讀寫(xiě)設備等操作。對GPD中的EZUSBSYS.C,EZUSBSYS.H,SOURCES進(jìn)行修改,在WindowsDDK與VC++6.0利用Build命令重新編譯即可生成驅動(dòng)程序。使用GPD前,首先在程序中包含ezusbsys.h頭文件: #include”..\..\drives\ezusbdrv\ezusbsys.h”。 2.2.3 應用程序 應用程序通過(guò)I/O控制調用訪(fǎng)問(wèn)EZ-USB GPD。程序首先調用API函數Createfile()打開(kāi)設備,并返回設備句柄,然后通過(guò)調用Win32函數DeviceIoControl()函數向設備驅動(dòng)程序發(fā)送請求。 程序采用BULK方式讀數據到EZ-USB設備,主要清單如下: 2.2.4 固件下載驅動(dòng)程序 使用該芯片特有軟配置功能,將固件程序存儲在計算機中,當設備接入USB電纜時(shí),由于EZ-USB具有重新枚舉的能力,在初始化枚舉以后,用戶(hù)只需要通過(guò)Cypress公司提供的開(kāi)發(fā)軟件UsbContro1Panel中Download項,就可以將固件載人到控制芯片中。該方法完全是軟操作,不需要額外的硬件設備,方便程序的修改調試。 3 結 語(yǔ) 介紹了基于USB接口的無(wú)線(xiàn)測控系統,USB接口技術(shù)以其即插即用、穩定的特性以及低廉的價(jià)格,得到了廣泛的應用。該設計是樁基靜載荷測控系統的最新嘗試。實(shí)驗表明該系統結構合理、性能穩定、運行可靠,在應用中達到了預定的效果,對于改善樁基測控系統數據傳輸的實(shí)時(shí)監控、穩定性、抗干擾性,提高數據傳輸的準確性提供了很好的實(shí)用價(jià)值。 |