陳天柱,李旭偉,李甫永,秦 菊
(中國(guó)鐵道科學(xué)研究院 鐵道建筑研究所,北京 100081)
鐵路軌邊數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
陳天柱,李旭偉,李甫永,秦 菊
(中國(guó)鐵道科學(xué)研究院 鐵道建筑研究所,北京 100081)
針對(duì)鐵路線路復(fù)雜和惡劣的測(cè)試環(huán)境,設(shè)計(jì)了軌邊數(shù)據(jù)采集系統(tǒng),本系統(tǒng)利用無(wú)線傳輸模塊進(jìn)行傳輸,使遠(yuǎn)程數(shù)據(jù)采集、分析和處理成為現(xiàn)實(shí),更少地受到自然條件的制約。本設(shè)計(jì)采用一種以Altera FPGA為核心控制器,通過(guò)對(duì)模擬開(kāi)關(guān)ADG408、模數(shù)轉(zhuǎn)換器AD976控制,實(shí)現(xiàn)了8路模擬信號(hào)的采集;同時(shí)利用單片機(jī)C8051F020對(duì)GPRS網(wǎng)絡(luò)模塊MC37I控制,實(shí)現(xiàn)無(wú)線數(shù)據(jù)控制和傳輸。
數(shù)據(jù)采集;無(wú)線傳輸;Altera FPGA;單片機(jī)
在鐵路線測(cè)試中,經(jīng)常需要對(duì)鋼軌受力等進(jìn)行監(jiān)測(cè),對(duì)數(shù)據(jù)采集設(shè)備有靈活性和機(jī)動(dòng)性的要求,軌邊數(shù)據(jù)采集系統(tǒng)很好地滿足這一需求。該數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)了對(duì)鐵路鐵軌以及限界測(cè)試中的各種傳感器產(chǎn)生的電壓信號(hào)進(jìn)行采集,有效克服惡劣自然條件對(duì)數(shù)據(jù)采集的影響。
軌邊數(shù)據(jù)采集系統(tǒng)由數(shù)據(jù)采集、存儲(chǔ)處理、接口控制、無(wú)線控制和傳輸?shù)炔糠纸M成,如圖1中虛線框中所示。
該系統(tǒng)主要是將傳感器輸出的模擬電壓信號(hào),通過(guò)模擬開(kāi)關(guān)由選擇的輸入給A/D轉(zhuǎn)換電路,經(jīng)過(guò)處理后,通過(guò)通用無(wú)線分組業(yè)務(wù)(GPRS)網(wǎng)絡(luò)傳輸?shù)浇邮战K端,可以實(shí)現(xiàn)8路模擬信號(hào)輸入,通過(guò)控制A/D轉(zhuǎn)換器實(shí)現(xiàn)對(duì)采樣速率的控制。
圖1 軌邊數(shù)據(jù)采集系統(tǒng)框圖
2.1 FPGA硬件設(shè)計(jì)
在整個(gè)軌邊數(shù)據(jù)采集系統(tǒng)中,既要對(duì)數(shù)據(jù)采集模塊進(jìn)行控制,又要對(duì)采集到的數(shù)據(jù)進(jìn)行存儲(chǔ)并發(fā)送給微控器,實(shí)現(xiàn)數(shù)據(jù)的無(wú)線傳輸。本系統(tǒng)選用Cyclone系列EP1C12的現(xiàn)場(chǎng)可編程門陣列(FPGA)。它具有12 060個(gè)邏輯單元(LE),一個(gè)LE由4輸入查找表和一個(gè)可編程觸發(fā)器以及輔助電路組成,支持雙數(shù)據(jù)速率同步動(dòng)態(tài)存儲(chǔ)器(SDRAM)快速可靠的數(shù)據(jù)交換,支持聯(lián)合測(cè)試協(xié)議(JTAG)配置方式。
2.1.1 EP1C12配置電路
電源電路:根據(jù)EP1C12芯片對(duì)電源的要求,在本系統(tǒng)中需要的電源如下:1.5V/3A、2.5V/6A、3.3V/3A,選用的電壓轉(zhuǎn)換芯片分別為AS2830AT-1.5、AS2830AT-2.5、AS2830AT-3.3,采用50 MHz的4腳晶振。
FPGA是使用靜態(tài)存儲(chǔ)器(SRAM)工藝生產(chǎn)的,掉電后SRAM的數(shù)據(jù)丟失,因而FPGA每次啟動(dòng)都需要重新加載數(shù)據(jù)。主動(dòng)配置方式(AS),將配置數(shù)據(jù)從配置芯片EPCS4中讀到SRAM里,不需要外部下載設(shè)備進(jìn)行配置,可實(shí)現(xiàn)斷電后的自動(dòng)加載。
2.1.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊主要有模擬開(kāi)關(guān)、A/D轉(zhuǎn)換器、FPGA控制器組成,結(jié)構(gòu)如圖2所示。
圖2 數(shù)據(jù)采集結(jié)構(gòu)框圖
圖3 ADG408與AD976的電路原理圖
由模擬開(kāi)關(guān)ADG408,A/D轉(zhuǎn)換芯片AD976組成的電路原理圖,如圖3所示。
2.2 單片機(jī)硬件設(shè)計(jì)部分
在整個(gè)軌邊數(shù)據(jù)采集系統(tǒng)中,單片機(jī)部分主要負(fù)責(zé)從FPGA中讀取數(shù)據(jù),然后通過(guò)GPRS芯片實(shí)現(xiàn)無(wú)線傳輸。無(wú)線傳輸部分主要是有單片機(jī)和GPRS芯片以及一些輔助電路組成。
單片機(jī)C8051F020是Silicon Labs推出的高度集成混合信號(hào)單片機(jī),具有25 MIPS 8 051 CPU內(nèi)核、64 KB Flash存儲(chǔ)器和4 352 BRAM,兩個(gè)獨(dú)立的ADC轉(zhuǎn)換器??梢酝ㄟ^(guò)片上4腳JTAG調(diào)試電路允許使用安裝在最終產(chǎn)品上的單片機(jī)進(jìn)行非侵入、全速度、在系統(tǒng)調(diào)試?;谝陨咸攸c(diǎn),采用C8051F020作為整個(gè)系統(tǒng)的單片機(jī)處理芯片。
2.3 無(wú)線傳輸模塊
無(wú)線傳輸模塊主要是由CF8051F020的UART與GPRS通信模塊MC37I的全雙工通信串口相連接,實(shí)現(xiàn)CF8051F020對(duì)MC37I的控制和通信。原理如圖4所示。
圖4 無(wú)線傳輸模塊電路原理圖
2.4 FPGA與單片機(jī)的接口
目前,單片機(jī)或微控器與各種可編制邏輯門陣列芯片相級(jí)聯(lián),實(shí)現(xiàn)多機(jī)通信。C8051F020與FPGA EP1C12之間通信的方式也有兩種方式,分別是串口通信和并口通信,兩種方式各有優(yōu)缺點(diǎn)。本系統(tǒng)采用C8051F020與FPGA EP1C12之間通過(guò)并口連接來(lái)通信,如圖5所示。
圖5 單片機(jī)與FPGA并口通信框圖
C8051F020的端口P2、P3的16個(gè)數(shù)據(jù)位端口與EP1C12的16個(gè)數(shù)據(jù)端口相連接,可以通過(guò)系統(tǒng)總線從EP1C12中讀取采集到的數(shù)據(jù); EP1C12可以對(duì)單片機(jī)C8051F020發(fā)送復(fù)位信號(hào)RST;ALE為地址鎖存信號(hào),低電平有效;RD為讀出使能信號(hào),當(dāng)RD被置高電平時(shí)有效。WR為寫(xiě)出使能信號(hào),當(dāng)被置高電平時(shí)有效;READY為系統(tǒng)準(zhǔn)備好信號(hào),高電平有效,C8051F020可以從系統(tǒng)總線上讀取數(shù)據(jù)。C8051F020與EP1C12采用總線方式連接的原理圖如圖6所示。
系統(tǒng)的軟件設(shè)計(jì)分為數(shù)據(jù)采集模塊、FPGA與單片機(jī)通信模塊和無(wú)線傳輸模塊的軟件設(shè)計(jì)。
3.1 數(shù)據(jù)采集模塊的軟件設(shè)計(jì)
模擬開(kāi)關(guān)控制電路的主要功能是負(fù)責(zé)對(duì)不同地址的輸入信號(hào)進(jìn)行控制,確定哪個(gè)通道的信號(hào)被允許輸入到模數(shù)轉(zhuǎn)換器中,從而保證各通道信號(hào)依次輸入到AD976中,不斷循環(huán)。ADG408的3個(gè)地址選通端A0、A1、A2以及使能控制端共同決定相應(yīng)地址的信號(hào)輸入,使得從ADG408的S1,S2,…,S8這8個(gè)輸入端的輸入信號(hào),依次被AD976進(jìn)行采樣,依次循環(huán),完成對(duì)輸入信號(hào)的周期性數(shù)據(jù)采集。ADG408工作時(shí),每次使能信號(hào)(EN)被置位時(shí),稍后向系統(tǒng)發(fā)送轉(zhuǎn)換脈沖,模擬開(kāi)關(guān)控制電路在FPGA上的設(shè)計(jì)模塊如圖7所示。
圖6 C8051F020與EP1C12采用總線方式連接的原理圖
圖7 模擬開(kāi)關(guān)控制模塊框圖
本模塊共有15個(gè)信號(hào)端。S1、S2、…、S8是外部信號(hào)輸入端;A0、A1、A2是地址信號(hào)端;clk是系統(tǒng)時(shí)鐘輸入端;EN_C是芯片選通使能信號(hào)端;AD_CS是片選信號(hào)輸出端;AD_IN是信號(hào)輸出端。
A/D轉(zhuǎn)換電路主要是把從ADG408輸出過(guò)來(lái)的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),在輸送到EP1C12中完成數(shù)據(jù)處理,實(shí)現(xiàn)AD轉(zhuǎn)換工作。D15、D14、…、D8是輸出數(shù)據(jù)的高8位;D7、D6、…、D0是輸出數(shù)據(jù)的低8位;BYTE是輸出高低字節(jié)的選擇端;clk是時(shí)鐘輸入端;CS_N是芯片選通端,低電平有效;R_ C是轉(zhuǎn)換控制端;BUSY_N是轉(zhuǎn)換完成標(biāo)志位,低電平有效。
A/D轉(zhuǎn)換電路采用一個(gè)有限狀態(tài)機(jī)來(lái)產(chǎn)生AD976的工作時(shí)序。工作過(guò)程為:在state1狀態(tài)時(shí)將CS_N置位,使其有效;進(jìn)入state2狀態(tài),在R_ C信號(hào)的下降沿時(shí),BUSY_N被置為低電平,輸入信號(hào)進(jìn)行轉(zhuǎn)換;在state3狀態(tài),等待BUSY_N變?yōu)楦唠娖?,表明轉(zhuǎn)換結(jié)束,在BUSY_N的上升沿將輸出數(shù)據(jù)進(jìn)行鎖存;在state4狀態(tài)下,R_C被置為高電平,此時(shí)將轉(zhuǎn)換結(jié)果發(fā)到數(shù)據(jù)總線,數(shù)據(jù)有效可用;在state5狀態(tài)時(shí),BYTE為低電平,數(shù)據(jù)的高8位被輸出,在state6狀態(tài)時(shí),BYTE為高電平,數(shù)據(jù)的低8位被輸出,如此循環(huán)可以連續(xù)不斷對(duì)模擬輸入信號(hào)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。AD976轉(zhuǎn)換過(guò)程的有限狀態(tài)機(jī)如圖8所示。
圖8 AD976轉(zhuǎn)換過(guò)程的有限狀態(tài)機(jī)
利用FPGA內(nèi)部雙口RAM存儲(chǔ)單元將AD976讀取的數(shù)據(jù)進(jìn)行轉(zhuǎn)換與存儲(chǔ),同時(shí)將數(shù)據(jù)輸出到與其相連的單片機(jī),實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。本系統(tǒng)通過(guò)乒乓操作對(duì)兩片RAM(RAM1、RAM2)輪流進(jìn)行讀,實(shí)現(xiàn)數(shù)據(jù)的緩沖和處理,乒乓操作方法如圖9所示。
圖9 乒乓操作流程圖
乒乓操作的處理流程為:“輸入數(shù)據(jù)選擇單元”將輸入數(shù)據(jù)流分配到RAM1和RAM2中。在第1個(gè)處理周期,輸入數(shù)據(jù)流被緩存到RAM1中;在第2個(gè)處理周期,“輸入數(shù)據(jù)選擇單元”進(jìn)行切換,將輸入數(shù)據(jù)流緩存到RAM2,同時(shí)將RAM1緩存的數(shù)據(jù)通過(guò)“輸出數(shù)據(jù)選擇單元”的選擇,送到 “數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行運(yùn)算處理;在第3個(gè)緩沖周期通過(guò)“輸入數(shù)據(jù)選擇單元”的再次切換,將輸入的數(shù)據(jù)流緩存到RAM1中,同時(shí)將RAM2緩存的數(shù)據(jù)通過(guò)“輸出數(shù)據(jù)選擇單元”切換,送到“數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行運(yùn)算處理。如此循環(huán),實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)換和處理。
3.2 FPGA與單片機(jī)通信模塊
為了更加充分地利用FPGA的系統(tǒng)資源,提高通信效率和穩(wěn)定性,本系統(tǒng)在FPGA與單片機(jī)進(jìn)行控制與通信時(shí)采用總線方式相連接,軟件流程如圖10所示。
圖10 FPGA與單片機(jī)通信軟件流程圖
通過(guò)對(duì)單片機(jī)C8051F020總線時(shí)序的分析,當(dāng)檢測(cè)到RST信號(hào)有效后,地址鎖存信號(hào)ALE將FPGA中高8位與低8位地址進(jìn)行編碼,組成16 位地址,然后根據(jù)C8051F020單片機(jī)的讀寫(xiě)命令,實(shí)現(xiàn)對(duì)FPGA的讀寫(xiě)操作,然后將數(shù)據(jù)給串口進(jìn)行后續(xù)傳輸。
3.3 無(wú)線傳輸模塊的軟件設(shè)計(jì)
無(wú)線傳輸模塊的主要內(nèi)容是利用C8051F020的UART與MC37I芯片上的標(biāo)準(zhǔn)串口RS232進(jìn)行通信。通過(guò)C8051F020的程序設(shè)計(jì)對(duì)GPRS模塊MC37I發(fā)送指令實(shí)現(xiàn)對(duì)其控制。主要從以下兩個(gè)方面來(lái)進(jìn)行軟件設(shè)計(jì):(1)對(duì)單片機(jī)C8051F020初始化等程序設(shè)計(jì);(2)C8051F020對(duì)GPRS模塊MC37I芯片控制的程序設(shè)計(jì),向其發(fā)送不同的AT命令,來(lái)完成MC37I初始化、GPRS網(wǎng)絡(luò)登錄、數(shù)據(jù)發(fā)送等。
通過(guò)專用下載線,利用JTAG接口,將程序下載到單片機(jī)C8051F020芯片中,可以在線實(shí)現(xiàn)對(duì)程序的編譯和運(yùn)行調(diào)試,即可實(shí)現(xiàn)GPRS模塊MC37I的控制。
在系統(tǒng)全部設(shè)計(jì)完成后,必須對(duì)系統(tǒng)的各個(gè)組成部分及功能進(jìn)行仿真、調(diào)試與驗(yàn)證,保證所設(shè)計(jì)的系統(tǒng)設(shè)計(jì)合理。
利用模擬開(kāi)關(guān)ADG408和模數(shù)轉(zhuǎn)換器AD976搭建的數(shù)據(jù)采集模塊測(cè)試電路板如圖11所示。
圖11 ADG408和AD976搭建的數(shù)據(jù)采集板
系統(tǒng)的控制核心FPGA EP1C12測(cè)試板如圖12所示。
圖12 EP1C12測(cè)試板
由C8051F和MC37I搭建的無(wú)線傳輸測(cè)試板,將SIM卡放入MC37I的SIM卡槽中,建立起該號(hào)碼與指定號(hào)碼通過(guò)GPRS網(wǎng)絡(luò)建立起網(wǎng)絡(luò)通路,通過(guò)單片機(jī)啟動(dòng)數(shù)據(jù)采集系統(tǒng),并傳輸?shù)骄W(wǎng)絡(luò)上。無(wú)線傳輸測(cè)試板如圖13所示。
圖13 無(wú)線傳輸測(cè)試板
通過(guò)GPRS終端,發(fā)送短信息GPRS START給無(wú)線傳輸測(cè)試板,得到回復(fù)GPRSREADY,表明測(cè)試板與接收終端的GPRS連接正常,可以傳輸數(shù)據(jù),接收終端軟件生成以年月日為文件名的文件。在計(jì)算機(jī)上回放數(shù)據(jù)波形圖。
軌邊數(shù)據(jù)采集系統(tǒng)很好地解決了在鐵路線路上復(fù)雜、惡劣測(cè)試環(huán)境進(jìn)行數(shù)據(jù)采集的問(wèn)題,發(fā)揮了靈活性和機(jī)動(dòng)性的特點(diǎn),滿足了實(shí)際測(cè)試工作中對(duì)軌道上各種傳感器數(shù)據(jù)的采集需要。在軌邊數(shù)據(jù)采集系統(tǒng)的基礎(chǔ)上,可以結(jié)合實(shí)際情況采用有線傳輸和海量存儲(chǔ)等性價(jià)比更高的方式。本系統(tǒng)適合短期低速率數(shù)據(jù)采集的情況使用。
[1]柴雪松,朱興紅. 車輛運(yùn)行狀態(tài)監(jiān)測(cè)系統(tǒng)(TPDS)在軌道負(fù)荷監(jiān)測(cè)中的應(yīng)用[J].鐵道建筑,2008(11):93-95.
[2]徐 洋,李 彥. 基于Verilog HDL 的PFGA設(shè)計(jì)與工程應(yīng)用[M]. 北京:人民郵電出版社,2009.
[3]張培仁,孫 力. 基于C語(yǔ)言C8051F系列微控制器原理與應(yīng)用[M]. 北京:清華大學(xué)出版社,2009.
[4]李文仲,段朝玉. ARM9微控制器與嵌入式無(wú)線網(wǎng)絡(luò)實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
[5]葛亞明,彭永豐,薛 冰.零基礎(chǔ)學(xué)FPGA[M]. 北京:機(jī)械工業(yè)出版社,2010.
[6]李東生,張 勇,許四毛.Protel99SE電路設(shè)計(jì)教程[M]. 北京:電子工業(yè)出版社,2007.
[7]何立民. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 北京:北京航空航天大學(xué)出版社,1990.
[8]章堅(jiān)武. 移動(dòng)通信[M]. 西安:西安電子科技大學(xué)出版社,2003.
責(zé)任編輯 方 圓
Railway Track Edge Data Acquisition System
CHEN Tianzhu, LI Xuwei, LI Fuyong, QIN Ju
( Railway Engineering Research Institute, China Academy of Railway Sciences, Beijing 100081, China )
Aiming to the complexity of the railway line and the harsh test environment, the Railway Track Edge Data Acquisition System was designed. The System was used wireless transmission module to make transmission, the remote data acquisition of analysis and processing become true, and be less restricted by natural conditions. In this design, the Altera FPGA was used as the core controller. Through controlling the analog switch ADG408 and analog to digital converter AD976, the eight analog signals acquisition was implemented. At the same time, the wireless data control and transmission were implemented by using C8051F020 MCU to control MC37I module of GPRS network.
data acquisition; wireless transmission; Altera FPGA; micro control unit (MCU)
U213.4∶TP39
A
1005-8451(2015)06-0031-05
2015-01-07
陳天柱,助理研究員;李旭偉,副研究員。