當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]用S3C2410實(shí)現(xiàn)鐵路數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)

    摘  要  本文闡述了一種基于ARM處理器的高性能遠(yuǎn)程監(jiān)控系統(tǒng)的組成、工作原理及其實(shí)現(xiàn)方法。該系統(tǒng)利用高性能處理器和移動(dòng)通信網(wǎng)絡(luò)構(gòu)建具有實(shí)時(shí)數(shù)據(jù)處理能力、可提供遠(yuǎn)端信息查詢和告警服務(wù)的平臺(tái)。
    關(guān)鍵詞  ARM,嵌入式,監(jiān)控

1  引  言

    隨著列車全面提速以及鐵路部門客貨運(yùn)輸量不斷增大,鐵路線路負(fù)荷不斷加重,鐵路安全問(wèn)題日益突出。目前鐵道檢測(cè)部門主要采用鐵軌檢查車檢測(cè)鐵軌質(zhì)量,但是由于鐵軌檢查車價(jià)格昂貴,各機(jī)務(wù)段配備的數(shù)量有限,不能滿足鐵路檢測(cè)部門對(duì)鐵軌質(zhì)量數(shù)據(jù)連續(xù)檢測(cè)和積累的要求。因此鐵道檢測(cè)部門迫切需要一種可靠性高,實(shí)時(shí)性強(qiáng)的小型智能系統(tǒng)作為鐵軌檢查車的補(bǔ)充。針對(duì)這種情況,本文設(shè)計(jì)了一種新型鐵路線路質(zhì)量遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。本系統(tǒng)綜合利用移動(dòng)通信和嵌入式系統(tǒng)設(shè)計(jì)等技術(shù),實(shí)現(xiàn)了鐵軌數(shù)據(jù)的實(shí)時(shí)采集、分析、傳輸,以及自動(dòng)評(píng)估和報(bào)警。
    ARM技術(shù)是嵌入式系統(tǒng)方面的主流技術(shù)。目前市場(chǎng)上ARM芯片速度可達(dá)幾百兆,以此為主控芯片可在硬件上實(shí)現(xiàn)高速、高精度且具有一定處理能力的數(shù)據(jù)采集處理通信系統(tǒng)。本系統(tǒng)采用的Samsung公司的S3C2410處理器,結(jié)合Windows CE操作系統(tǒng)來(lái)實(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ù)可通過(guò)USB接口取出,進(jìn)一步進(jìn)行事后處理。本系統(tǒng)通過(guò)CDMA模塊連接無(wú)線網(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)場(chǎng)可編程門陣列(FPGA)共同組成監(jiān)控系統(tǒng)的核心處理單元。傳感器模塊采集的模擬信號(hào)經(jīng)A/D模塊量化后,存入FPGA生成的FIFO中;ARM處理器通過(guò)FPGA產(chǎn)生的中斷信號(hào)來(lái)讀取FIFO中的數(shù)據(jù);數(shù)據(jù)處理完畢后ARM處理器通過(guò)FGPA控制CDMA模塊建立TCP/IP連接,連接一旦建立則通過(guò)無(wú)線網(wǎng)絡(luò)將數(shù)據(jù)傳回客戶端。


圖1  系統(tǒng)結(jié)構(gòu)框圖

2.1  協(xié)處理器FPGA模塊
    本系統(tǒng)的協(xié)處理器采用Xilinx公司的FPGA,型號(hào)為SPARTANIIE XC2S100E。該芯片共有2700個(gè)邏輯單元,10萬(wàn)個(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處理器控制信號(hào)。

    FPGA芯片分4部分來(lái)實(shí)現(xiàn)上述功能:
    (1) 內(nèi)部控制信號(hào)產(chǎn)生器
    FPGA對(duì)50 MHz時(shí)鐘分頻產(chǎn)生A/D芯片采樣時(shí)鐘Sampleclk和ARM處理器外部時(shí)鐘Sysclk;Sysclk經(jīng)鎖相環(huán)電路(PLL)后產(chǎn)生ARM處理器工作所需的時(shí)鐘信號(hào)。
    (2) ARM控制器
    提供ARM處理器正常工作所必須的各種控制信號(hào);實(shí)現(xiàn)ARM處理器地址總線、數(shù)據(jù)總線和外部中斷信號(hào)接入。
    (3) A/D控制器
    控制A/D模塊的數(shù)據(jù)轉(zhuǎn)換。產(chǎn)生A/D轉(zhuǎn)換起始信號(hào)(/HOLD),檢測(cè)數(shù)據(jù)轉(zhuǎn)換完成信號(hào)(/EOC),產(chǎn)生FIFO寫入信號(hào),實(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處理器對(duì)各模塊的控制則是通過(guò)底層驅(qū)動(dòng)控制協(xié)處理器FPGA產(chǎn)生各種控制信號(hào)來(lái)實(shí)現(xiàn)。


圖2  協(xié)處理器內(nèi)部結(jié)構(gòu)圖

2.3  A/D模塊
    A/D轉(zhuǎn)換芯片采用TI公司的ADS8364芯片,它具有以下性能:

  • 6個(gè)獨(dú)立數(shù)據(jù)輸出通道;
  • 模擬信號(hào)差分輸入;
  • 6個(gè)獨(dú)立的16位ADC;
  • 采樣頻率最高為250 MHz;
  • 采樣精度到最后兩位,且抗噪性能好。

    通過(guò)FPGA內(nèi)產(chǎn)生的采樣時(shí)鐘信號(hào)控制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)生的讀信號(hào)和通道選擇信號(hào)選擇相應(yīng)的FIFO存儲(chǔ)數(shù)據(jù)。
2.4  傳感器模塊
    傳感器模塊可以根據(jù)所須采集的數(shù)據(jù)來(lái)選擇。本系統(tǒng)主要運(yùn)用于火車機(jī)車車體震動(dòng)測(cè)量,所以采用3個(gè)使用ADXL105高精度單軸加速度傳感器芯片制作的加速度測(cè)量模塊。測(cè)量模塊分別安置于車體底部的垂直方向和水平方向,用于測(cè)量車體在X、Y、Z方向上的加速度。測(cè)量數(shù)據(jù)以差分信號(hào)的形式輸入到精密放大器中,經(jīng)比較放大后直接送到A/D模塊中。
2.5  外部通信模塊
    外部通信模塊由兩部分組成: 485通信模塊和CDMA模塊。
    485通信接口采用的是MAXIM公司的MAX1490芯片。這是一款完全隔離的485數(shù)據(jù)接口芯片,單工工作方式,傳輸波特率最大可達(dá)2.5 Mbps。其輸出引腳直接與ARM處理器的串口2(UART2)相連;ARM處理器通過(guò)串口2讀取時(shí)間和坐標(biāo)等相關(guān)數(shù)據(jù)的廣播信息。ARM處理器串口0(UART0)與AnyData DTGS800 CDMA模塊相連;監(jiān)測(cè)數(shù)據(jù)經(jīng)預(yù)處理后通過(guò)CDMA模塊發(fā)送到地面服務(wù)器。

3  軟件設(shè)計(jì)

    軟件設(shè)計(jì)主要使用Embedded Visual C++語(yǔ)言和VHDL語(yǔ)言。VHDL語(yǔ)言用于編寫FPGA程序;ARM處理器的調(diào)試則使用C語(yǔ)言。
    系統(tǒng)開始工作后ARM處理器和FPGA協(xié)處理器中的FIFO開始初始化。經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)存入3個(gè)數(shù)據(jù)輸出通道對(duì)應(yīng)的FIFO中。FIFO中的數(shù)據(jù)容量達(dá)到一定限度即產(chǎn)生中斷,ARM處理器中的主程序產(chǎn)生中斷等待線程;一旦中斷產(chǎn)生則進(jìn)入中斷服務(wù)程序,讀取數(shù)據(jù)。數(shù)據(jù)經(jīng)檢測(cè)程序進(jìn)行預(yù)處理后通過(guò)CDMA模塊發(fā)送出去。圖3為系統(tǒng)工作流程圖。


圖3  系統(tǒng)工作流程圖

3.1  系統(tǒng)的同步處理
    因?yàn)锳/D模塊與FPGA協(xié)處理器上電即開始工作而ARM處理器完成系統(tǒng)加載,端口初始化大概需要10 s左右的時(shí)間。在這個(gè)過(guò)程中FIFO中存儲(chǔ)的數(shù)據(jù)已經(jīng)被寫滿。如果ARM處理器在程序加載完成后直接使用這部分?jǐn)?shù)據(jù)則會(huì)產(chǎn)生檢測(cè)結(jié)果與廣播信息不匹配的問(wèn)題。為防止系統(tǒng)因各模塊工作時(shí)序混亂而出現(xiàn)的數(shù)據(jù)檢測(cè)錯(cuò)誤的情況。在ARM完成Windows CE系統(tǒng)加載并進(jìn)入檢測(cè)主程序后產(chǎn)生一個(gè)清零信號(hào)用于清除3個(gè)FIFO中的數(shù)據(jù)。實(shí)現(xiàn)系統(tǒng)的同步工作。
3.2  中斷的產(chǎn)生及處理
    在本系統(tǒng)中如果對(duì)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ī)車廣播信息通過(guò)監(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)、交路號(hà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ā)送至主線程。最后,主線程通過(guò)相應(yīng)函數(shù)接收數(shù)據(jù),數(shù)據(jù)接收完畢則對(duì)數(shù)據(jù)進(jìn)行長(zhǎng)度檢測(cè)和異或校驗(yàn)。如果檢驗(yàn)通過(guò)則將數(shù)據(jù)轉(zhuǎn)存入二級(jí)緩存(一級(jí)緩存繼續(xù)存放數(shù)據(jù)),并通知上級(jí)模塊讀出數(shù)據(jù);然后清空二級(jí)緩存,等待下次數(shù)據(jù)進(jìn)入。廣播信息讀取程序界面見圖4。
3.4  加速度數(shù)據(jù)獲取
    數(shù)據(jù)采集是通過(guò)應(yīng)用程序與驅(qū)動(dòng)程序的交互來(lái)完成的。實(shí)現(xiàn)交互的方式有很多,例如可以利用callback函數(shù)(回調(diào)函數(shù))或?qū)⒑瘮?shù)應(yīng)用程序中的數(shù)據(jù)處理函數(shù)指針傳給驅(qū)動(dòng),以及使用SETEVENT等來(lái)實(shí)現(xiàn)。考慮到軟件的升級(jí),本系統(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)的情況下對(duì)應(yīng)用程序進(jìn)行調(diào)試,從而避免了反復(fù)燒寫FLASH。
    軟件設(shè)計(jì)思路:數(shù)據(jù)采集軟件啟動(dòng)后必須對(duì)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)中斷后通過(guò)SETEVENT機(jī)制通知應(yīng)用程序,此時(shí)數(shù)據(jù)讀取控制權(quán)就完全交給了頂層用戶。用戶可以根據(jù)自己的需要來(lái)控制數(shù)據(jù)的讀取及處理。數(shù)據(jù)采集程序界面見圖5。

4  結(jié)束語(yǔ)

    本文所研制的系統(tǒng)綜合利用了移動(dòng)通信和嵌入式系統(tǒng)設(shè)計(jì)等技術(shù),與傳統(tǒng)檢測(cè)設(shè)備相比,大大提高了線路監(jiān)測(cè)的實(shí)時(shí)性及系統(tǒng)性。同時(shí),該系統(tǒng)注重監(jiān)測(cè)數(shù)據(jù)處理和檢測(cè)方法的研究,并在實(shí)際系統(tǒng)中加以應(yīng)用。
    本系統(tǒng)在設(shè)計(jì)時(shí)充分考慮了電路的靈活性和通用性,可根據(jù)不同的功能要求編寫相應(yīng)的VHDL語(yǔ)言程序。系統(tǒng)所使用的Windows CE操作系統(tǒng)可以任意裁剪,這對(duì)于功能的轉(zhuǎn)換很有幫助。本系統(tǒng)已研制完畢,現(xiàn)處于現(xiàn)場(chǎng)實(shí)驗(yàn)階段。


        圖4  廣播信息讀取程序                            圖5  數(shù)據(jù)采集程序

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉