1、引 言
隨著列車全面提速以及鐵路部門客貨運(yùn)輸量不斷增大,鐵路線路負(fù)荷不斷加重,鐵路安全問題日益突出。目前鐵道檢測部門主要采用鐵軌檢查車檢測鐵軌質(zhì)量,但是由于鐵軌檢查車價(jià)格昂貴,各機(jī)務(wù)段配備的數(shù)量有限,不能滿足鐵路檢測部門對鐵軌質(zhì)量數(shù)據(jù)連續(xù)檢測和積累的要求。因此鐵道檢測部門迫切需要一種可靠性高,實(shí)時(shí)性強(qiáng)的小型智能系統(tǒng)作為鐵軌檢查車的補(bǔ)充。針對這種情況,本文設(shè)計(jì)了一種新型鐵路線路質(zhì)量遠(yuǎn)程實(shí)時(shí)監(jiān)測系統(tǒng)。本系統(tǒng)綜合利用移動(dòng)通信和嵌入式系統(tǒng)設(shè)計(jì)等技術(shù),實(shí)現(xiàn)了鐵軌數(shù)據(jù)的實(shí)時(shí)采集、分析、傳輸,以及自動(dòng)評估和報(bào)警。
ARM技術(shù)是嵌入式系統(tǒng)方面的主流技術(shù)。目前市場上ARM芯片速度可達(dá)幾百兆,以此為主控芯片可在硬件上實(shí)現(xiàn)高速、高精度且具有一定處理能力的數(shù)據(jù)采集處理通信系統(tǒng)。本系統(tǒng)采用的Samsung公司的S3C2410處理器,結(jié)合Windows CE操作系統(tǒng)來實(shí)現(xiàn)其功能。S3C2410處理器是一款低價(jià)、低功耗、高性能的16/32位系統(tǒng)微處理器,在嵌入式應(yīng)用領(lǐng)域有著良好的表現(xiàn)。S3C2410具有豐富的接口資源,能夠滿足本系統(tǒng)的設(shè)計(jì)需求。Windows CE操作系統(tǒng)是專門為掌上型電腦設(shè)計(jì)的電腦環(huán)境,它將便攜式技術(shù)和現(xiàn)有的Windows技術(shù)相結(jié)合,并提供了豐富的驅(qū)動(dòng)資源。本系統(tǒng)在設(shè)計(jì)中采用了CMDA模塊和USB接口。原始數(shù)據(jù)可通過USB接口取出,進(jìn)一步進(jìn)行事后處理。本系統(tǒng)通過CDMA模塊連接無線網(wǎng)絡(luò),將處理完畢的數(shù)據(jù)實(shí)時(shí)地送到客戶端,以實(shí)現(xiàn)特定信息查詢和告警功能。
2、系統(tǒng)工作原理
系統(tǒng)分為ARM處理器模塊、協(xié)處理器FPGA模塊、A/D模塊、傳感器模塊和外部通信模塊5部分,基本結(jié)構(gòu)如圖1所示。ARM處理器和現(xiàn)場可編程門陣列(FPGA)共同組成監(jiān)控系統(tǒng)的核心處理單元。傳感器模塊采集的模擬信號經(jīng)A/D模塊量化后,存入FPGA生成的FIFO中;ARM處理器通過FPGA產(chǎn)生的中斷信號來讀取FIFO中的數(shù)據(jù);數(shù)據(jù)處理完畢后ARM處理器通過FGPA控制CDMA模塊建立TCP/IP連接,連接一旦建立則通過無線網(wǎng)絡(luò)將數(shù)據(jù)傳回客戶端。
2.1 協(xié)處理器FPGA模塊
本系統(tǒng)的協(xié)處理器采用Xilinx公司的FPGA,型號為SPARTANIIE XC2S100E。該芯片共有2700個(gè)邏輯單元,10萬個(gè)邏輯門,片內(nèi)塊RAM為40 KB。協(xié)處理器內(nèi)部結(jié)構(gòu)見圖2。其具體實(shí)現(xiàn)以下功能:
A/D模塊讀/寫時(shí)序控制;
生成3個(gè)FIFO,其主要功能是存儲(chǔ)經(jīng)A/D編碼的數(shù)據(jù);
提供ARM處理器控制信號。
FPGA芯片分4部分來實(shí)現(xiàn)上述功能:
(1) 內(nèi)部控制信號產(chǎn)生器
FPGA對50 MHz時(shí)鐘分頻產(chǎn)生A/D芯片采樣時(shí)鐘Sampleclk和ARM處理器外部時(shí)鐘Sysclk;Sysclk經(jīng)鎖相環(huán)電路(PLL)后產(chǎn)生ARM處理器工作所需的時(shí)鐘信號。
(2) ARM控制器
提供ARM處理器正常工作所必須的各種控制信號;實(shí)現(xiàn)ARM處理器地址總線、數(shù)據(jù)總線和外部中斷信號接入。
(3) A/D控制器
控制A/D模塊的數(shù)據(jù)轉(zhuǎn)換。產(chǎn)生A/D轉(zhuǎn)換起始信號(/HOLD),檢測數(shù)據(jù)轉(zhuǎn)換完成信號(/EOC),產(chǎn)生FIFO寫入信號,實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換通道選擇。
(4) FIFO存儲(chǔ)器
生成3個(gè)16位、數(shù)據(jù)深度為511的FIFO,完成A/D轉(zhuǎn)換數(shù)據(jù)的存儲(chǔ)。
2.2 ARM處理器模塊
ARM處理器模塊由FLASH、SDRAM和S3C2410共同構(gòu)建。本系統(tǒng)選配用Samsung公司的K9F1208U0A構(gòu)建8位FLASH存儲(chǔ)器系統(tǒng)。K9F1208U0A單片容量為64 MB;選用兩片單片容量為32 MB,數(shù)據(jù)寬度為16位的HY57V561620CT,并聯(lián)構(gòu)建32位SDRAM存儲(chǔ)器系統(tǒng),共64 MB的SDRAM空間可以滿足嵌入式操作系統(tǒng)和各種復(fù)雜算法的運(yùn)行要求。ARM處理器對各模塊的控制則是通過底層驅(qū)動(dòng)控制協(xié)處理器FPGA產(chǎn)生各種控制信號來實(shí)現(xiàn)。
2.3 A/D模塊
A/D轉(zhuǎn)換芯片采用TI公司的ADS8364芯片,它具有以下性能:
6個(gè)獨(dú)立數(shù)據(jù)輸出通道;
模擬信號差分輸入;
6個(gè)獨(dú)立的16位ADC;
采樣頻率最高為250 MHz;
采樣精度到最后兩位,且抗噪性能好。
通過FPGA內(nèi)產(chǎn)生的采樣時(shí)鐘信號控制A/D模塊的采樣頻率。FPGA輸出寬度為一個(gè)時(shí)鐘周期的低電平脈沖到/HOLD_X引腳,A/D轉(zhuǎn)換開始,經(jīng)16.5個(gè)時(shí)鐘周期后A/D轉(zhuǎn)換完成。A/D模塊根據(jù)FPGA內(nèi)產(chǎn)生的讀信號和通道選擇信號選擇相應(yīng)的FIFO存儲(chǔ)數(shù)據(jù)。
2.4 傳感器模塊
傳感器模塊可以根據(jù)所須采集的數(shù)據(jù)來選擇。本系統(tǒng)主要運(yùn)用于火車機(jī)車車體震動(dòng)測量,所以采用3個(gè)使用ADXL105高精度單軸加速度傳感器芯片制作的加速度測量模塊。測量模塊分別安置于車體底部的垂直方向和水平方向,用于測量車體在X、Y、Z方向上的加速度。測量數(shù)據(jù)以差分信號的形式輸入到精密放大器中,經(jīng)比較放大后直接送到A/D模塊中。
2.5 外部通信模塊
外部通信模塊由兩部分組成: 485通信模塊和CDMA模塊。
485通信接口采用的是MAXIM公司的MAX1490芯片。這是一款完全隔離的485數(shù)據(jù)接口芯片,單工工作方式,傳輸波特率最大可達(dá)2.5 Mbps。其輸出引腳直接與ARM處理器的串口2(UART2)相連;ARM處理器通過串口2讀取時(shí)間和坐標(biāo)等相關(guān)數(shù)據(jù)的廣播信息。ARM處理器串口0(UART0)與AnyData DTGS800 CDMA模塊相連;監(jiān)測數(shù)據(jù)經(jīng)預(yù)處理后通過CDMA模塊發(fā)送到地面服務(wù)器。
3、軟件設(shè)計(jì)
軟件設(shè)計(jì)主要使用Embedded Visual C++語言和VHDL語言。VHDL語言用于編寫FPGA程序;ARM處理器的調(diào)試則使用C語言。
系統(tǒng)開始工作后ARM處理器和FPGA協(xié)處理器中的FIFO開始初始化。經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)存入3個(gè)數(shù)據(jù)輸出通道對應(yīng)的FIFO中。FIFO中的數(shù)據(jù)容量達(dá)到一定限度即產(chǎn)生中斷,ARM處理器中的主程序產(chǎn)生中斷等待線程;一旦中斷產(chǎn)生則進(jìn)入中斷服務(wù)程序,讀取數(shù)據(jù)。數(shù)據(jù)經(jīng)檢測程序進(jìn)行預(yù)處理后通過CDMA模塊發(fā)送出去。圖3為系統(tǒng)工作流程圖。
3.1 系統(tǒng)的同步處理
因?yàn)锳/D模塊與FPGA協(xié)處理器上電即開始工作而ARM處理器完成系統(tǒng)加載,端口初始化大概需要10 s左右的時(shí)間。在這個(gè)過程中FIFO中存儲(chǔ)的數(shù)據(jù)已經(jīng)被寫滿。如果ARM處理器在程序加載完成后直接使用這部分?jǐn)?shù)據(jù)則會(huì)產(chǎn)生檢測結(jié)果與廣播信息不匹配的問題。為防止系統(tǒng)因各模塊工作時(shí)序混亂而出現(xiàn)的數(shù)據(jù)檢測錯(cuò)誤的情況。在ARM完成Windows CE系統(tǒng)加載并進(jìn)入檢測主程序后產(chǎn)生一個(gè)清零信號用于清除3個(gè)FIFO中的數(shù)據(jù)。實(shí)現(xiàn)系統(tǒng)的同步工作。
3.2 中斷的產(chǎn)生及處理
在本系統(tǒng)中如果對A/D轉(zhuǎn)換數(shù)據(jù)采用實(shí)時(shí)讀取的方式,則必然導(dǎo)致ARM處理器工作效率較低,所以在電路設(shè)計(jì)時(shí)采用了中斷方式。A/D模塊輸出數(shù)據(jù)以循環(huán)方式分別寫入3個(gè)FIFO中。一旦FIFO中可使用數(shù)據(jù)容量減小到一定限度則產(chǎn)生中斷,ARM處理器進(jìn)入中斷服務(wù)程序并讀取FIFO中的數(shù)據(jù)。
3.3 列車廣播信息讀取
火車機(jī)車廣播信息通過監(jiān)控設(shè)備不斷地發(fā)送廣播信息。信息傳輸以標(biāo)準(zhǔn)的RS485傳輸協(xié)議進(jìn)行,通信波特率為9600 bps,采用10位異步通信方式:1位起始位+8位數(shù)據(jù)位+1位停止位。每組數(shù)據(jù)包由17字節(jié)數(shù)據(jù)組成,包括月日時(shí)分秒、時(shí)速、公里標(biāo)、交路號和車次。數(shù)據(jù)格式為:起始位+數(shù)據(jù)位+停止位+BCC校驗(yàn)。其中:起始位為1字節(jié),固定為0x02;數(shù)據(jù)位為14字節(jié);停止位為1字節(jié),固定為0x03;BBC校驗(yàn)為1字節(jié),是前面15字節(jié)的“異或”校驗(yàn)。
軟件實(shí)現(xiàn):接收廣播信息程序的實(shí)現(xiàn)主要是利用了Windows的消息機(jī)制。首先初始化S3C2410芯片的UART2口,包括設(shè)置波特率為9600 bps,配置端口,并將端口與事件綁定。然后啟動(dòng)線程不斷偵聽端口。如果有數(shù)據(jù)輸入則會(huì)產(chǎn)生讀取事件,此時(shí)線程讀取一個(gè)字節(jié)的數(shù)據(jù),并由串口將數(shù)據(jù)發(fā)送至主線程。最后,主線程通過相應(yīng)函數(shù)接收數(shù)據(jù),數(shù)據(jù)接收完畢則對數(shù)據(jù)進(jìn)行長度檢測和異或校驗(yàn)。如果檢驗(yàn)通過則將數(shù)據(jù)轉(zhuǎn)存入二級緩存(一級緩存繼續(xù)存放數(shù)據(jù)),并通知上級模塊讀出數(shù)據(jù);然后清空二級緩存,等待下次數(shù)據(jù)進(jìn)入。廣播信息讀取程序界面見圖4。
3.4 加速度數(shù)據(jù)獲取
數(shù)據(jù)采集是通過應(yīng)用程序與驅(qū)動(dòng)程序的交互來完成的。實(shí)現(xiàn)交互的方式有很多,例如可以利用callback函數(shù)(回調(diào)函數(shù))或?qū)⒑瘮?shù)應(yīng)用程序中的數(shù)據(jù)處理函數(shù)指針傳給驅(qū)動(dòng),以及使用SETEVENT等來實(shí)現(xiàn)??紤]到軟件的升級,本系統(tǒng)采用的是SETEVENT方法。Windows CE系統(tǒng)與PC上的系統(tǒng)存在很大差異。一旦系統(tǒng)的某些模塊有所改動(dòng),必須重新編譯Windows CE系統(tǒng)和燒寫FLASH,工作量較大。使用SETEVENT的方法可在不改動(dòng)驅(qū)動(dòng)的情況下對應(yīng)用程序進(jìn)行調(diào)試,從而避免了反復(fù)燒寫FLASH。
軟件設(shè)計(jì)思路:數(shù)據(jù)采集軟件啟動(dòng)后必須對FIFO中數(shù)據(jù)進(jìn)行復(fù)位。因?yàn)閺腤indows CE系統(tǒng)啟動(dòng)到數(shù)據(jù)采集軟件開始工作需要15 s,但 A/D模塊及FIFO模塊在系統(tǒng)上電后即開始工作,因此如果使用這部分?jǐn)?shù)據(jù)就會(huì)造成數(shù)據(jù)與列車廣播信息的不匹配。驅(qū)動(dòng)程序在響應(yīng)中斷后通過SETEVENT機(jī)制通知應(yīng)用程序,此時(shí)數(shù)據(jù)讀取控制權(quán)就完全交給了頂層用戶。用戶可以根據(jù)自己的需要來控制數(shù)據(jù)的讀取及處理。數(shù)據(jù)采集程序界面見圖5。
4 結(jié)束語
本文所研制的系統(tǒng)綜合利用了移動(dòng)通信和嵌入式系統(tǒng)設(shè)計(jì)等技術(shù),與傳統(tǒng)檢測設(shè)備相比,大大提高了線路監(jiān)測的實(shí)時(shí)性及系統(tǒng)性。同時(shí),該系統(tǒng)注重監(jiān)測數(shù)據(jù)處理和檢測方法的研究,并在實(shí)際系統(tǒng)中加以應(yīng)用。
本系統(tǒng)在設(shè)計(jì)時(shí)充分考慮了電路的靈活性和通用性,可根據(jù)不同的功能要求編寫相應(yīng)的VHDL語言程序。系統(tǒng)所使用的Windows CE操作系統(tǒng)可以任意裁剪,這對于功能的轉(zhuǎn)換很有幫助。本系統(tǒng)已研制完畢,現(xiàn)處于現(xiàn)場實(shí)驗(yàn)階段。
-
傳感器
+關(guān)注
關(guān)注
2550文章
51047瀏覽量
753171 -
處理器
+關(guān)注
關(guān)注
68文章
19265瀏覽量
229690 -
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
603059
發(fā)布評論請先 登錄
相關(guān)推薦
評論