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