<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用S3C2410實現(xiàn)鐵路數(shù)據(jù)實時采集系統(tǒng)

          用S3C2410實現(xiàn)鐵路數(shù)據(jù)實時采集系統(tǒng)

          作者: 時間:2006-02-28 來源:網(wǎng)絡 收藏

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

          1 引 言

          隨著列車全面提速以及部門客貨運輸量不斷增大,線路負荷不斷加重,安全問題日益突出。目前鐵道檢測部門主要采用鐵軌檢查車檢測鐵軌質(zhì)量,但是由于鐵軌檢查車價格昂貴,各機務段配備的數(shù)量有限,不能滿足鐵路檢測部門對鐵軌質(zhì)量數(shù)據(jù)連續(xù)檢測和積累的要求。因此鐵道檢測部門迫切需要一種可靠性高,實時性強的小型智能作為鐵軌檢查車的補充。針對這種情況,本文設計了一種新型鐵路線路質(zhì)量遠程實時監(jiān)測系統(tǒng)。本系統(tǒng)綜合利用移動通信和嵌入式系統(tǒng)設計等技術(shù),了鐵軌數(shù)據(jù)的實時、分析、傳輸,以及自動評估和報警。
          ARM技術(shù)是嵌入式系統(tǒng)方面的主流技術(shù)。目前市場上ARM芯片速度可達幾百兆,以此為主控芯片可在硬件上高速、高精度且具有一定處理能力的數(shù)據(jù)處理通信系統(tǒng)。本系統(tǒng)采用的Samsung公司的處理器,結(jié)合Windows CE操作系統(tǒng)來實現(xiàn)其功能。處理器是一款低價、低功耗、高性能的16/32位系統(tǒng)微處理器,在嵌入式應用領(lǐng)域有著良好的表現(xiàn)。具有豐富的接口資源,能夠滿足本系統(tǒng)的設計需求。Windows CE操作系統(tǒng)是專門為掌上型電腦設計的電腦環(huán)境,它將便攜式技術(shù)和現(xiàn)有的Windows技術(shù)相結(jié)合,并提供了豐富的驅(qū)動資源。本系統(tǒng)在設計中采用了CMDA模塊和USB接口。原始數(shù)據(jù)可通過USB接口取出,進一步進行事后處理。本系統(tǒng)通過CDMA模塊連接無線網(wǎng)絡,將處理完畢的地送到客戶端,以實現(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)絡將數(shù)據(jù)傳回客戶端。


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

          2.1 協(xié)處理器FPGA模塊
          本系統(tǒng)的協(xié)處理器采用Xilinx公司的FPGA,型號為SPARTANIIE XC2S100E。該芯片共有2700個邏輯單元,10萬個邏輯門,片內(nèi)塊RAM為40 KB。協(xié)處理器內(nèi)部結(jié)構(gòu)見圖2。其具體實現(xiàn)以下功能:

          • A/D模塊讀/寫時序控制;
          • 生成3個FIFO,其主要功能是存儲經(jīng)A/D編碼的數(shù)據(jù);
          • 提供ARM處理器控制信號。

          FPGA芯片分4部分來實現(xiàn)上述功能:
          (1) 內(nèi)部控制信號產(chǎn)生器
          FPGA對50 MHz時鐘分頻產(chǎn)生A/D芯片采樣時鐘Sampleclk和ARM處理器外部時鐘Sysclk;Sysclk經(jīng)鎖相環(huán)電路(PLL)后產(chǎn)生ARM處理器工作所需的時鐘信號。
          (2) ARM控制器
          提供ARM處理器正常工作所必須的各種控制信號;實現(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寫入信號,實現(xiàn)數(shù)據(jù)轉(zhuǎn)換通道選擇。
          (4) FIFO存儲器
          生成3個16位、數(shù)據(jù)深度為511的FIFO,完成A/D轉(zhuǎn)換數(shù)據(jù)的存儲。
          2.2 ARM處理器模塊
          ARM處理器模塊由FLASH、SDRAM和S3C2410共同構(gòu)建。本系統(tǒng)選配用Samsung公司的K9F1208U0A構(gòu)建8位FLASH存儲器系統(tǒng)。K9F1208U0A單片容量為64 MB;選用兩片單片容量為32 MB,數(shù)據(jù)寬度為16位的HY57V561620CT,并聯(lián)構(gòu)建32位SDRAM存儲器系統(tǒng),共64 MB的SDRAM空間可以滿足嵌入式操作系統(tǒng)和各種復雜算法的運行要求。ARM處理器對各模塊的控制則是通過底層驅(qū)動控制協(xié)處理器FPGA產(chǎn)生各種控制信號來實現(xiàn)。


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

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

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

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

          3 軟件設計

          軟件設計主要使用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個數(shù)據(jù)輸出通道對應的FIFO中。FIFO中的數(shù)據(jù)容量達到一定限度即產(chǎn)生中斷,ARM處理器中的主程序產(chǎn)生中斷等待線程;一旦中斷產(chǎn)生則進入中斷服務程序,讀取數(shù)據(jù)。數(shù)據(jù)經(jīng)檢測程序進行預處理后通過CDMA模塊發(fā)送出去。圖3為系統(tǒng)工作流程圖。


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

          3.1 系統(tǒng)的同步處理
          因為A/D模塊與FPGA協(xié)處理器上電即開始工作而ARM處理器完成系統(tǒng)加載,端口初始化大概需要10 s左右的時間。在這個過程中FIFO中存儲的數(shù)據(jù)已經(jīng)被寫滿。如果ARM處理器在程序加載完成后直接使用這部分數(shù)據(jù)則會產(chǎn)生檢測結(jié)果與廣播信息不匹配的問題。為防止系統(tǒng)因各模塊工作時序混亂而出現(xiàn)的數(shù)據(jù)檢測錯誤的情況。在ARM完成Windows CE系統(tǒng)加載并進入檢測主程序后產(chǎn)生一個清零信號用于清除3個FIFO中的數(shù)據(jù)。實現(xiàn)系統(tǒng)的同步工作。
          3.2 中斷的產(chǎn)生及處理
          在本系統(tǒng)中如果對A/D轉(zhuǎn)換數(shù)據(jù)采用實時讀取的方式,則必然導致ARM處理器工作效率較低,所以在電路設計時采用了中斷方式。A/D模塊輸出數(shù)據(jù)以循環(huán)方式分別寫入3個FIFO中。一旦FIFO中可使用數(shù)據(jù)容量減小到一定限度則產(chǎn)生中斷,ARM處理器進入中斷服務程序并讀取FIFO中的數(shù)據(jù)。
          3.3 列車廣播信息讀取
          火車機車廣播信息通過監(jiān)控設備不斷地發(fā)送廣播信息。信息傳輸以標準的RS485傳輸協(xié)議進行,通信波特率為9600 bps,采用10位異步通信方式:1位起始位+8位數(shù)據(jù)位+1位停止位。每組數(shù)據(jù)包由17字節(jié)數(shù)據(jù)組成,包括月日時分秒、時速、公里標、交路號和車次。數(shù)據(jù)格式為:起始位+數(shù)據(jù)位+停止位+BCC校驗。其中:起始位為1字節(jié),固定為0x02;數(shù)據(jù)位為14字節(jié);停止位為1字節(jié),固定為0x03;BBC校驗為1字節(jié),是前面15字節(jié)的“異或”校驗。
          軟件實現(xiàn):接收廣播信息程序的實現(xiàn)主要是利用了Windows的消息機制。首先初始化S3C2410芯片的UART2口,包括設置波特率為9600 bps,配置端口,并將端口與事件綁定。然后啟動線程不斷偵聽端口。如果有數(shù)據(jù)輸入則會產(chǎn)生讀取事件,此時線程讀取一個字節(jié)的數(shù)據(jù),并由串口將數(shù)據(jù)發(fā)送至主線程。最后,主線程通過相應函數(shù)接收數(shù)據(jù),數(shù)據(jù)接收完畢則對數(shù)據(jù)進行長度檢測和異或校驗。如果檢驗通過則將數(shù)據(jù)轉(zhuǎn)存入二級緩存(一級緩存繼續(xù)存放數(shù)據(jù)),并通知上級模塊讀出數(shù)據(jù);然后清空二級緩存,等待下次數(shù)據(jù)進入。廣播信息讀取程序界面見圖4。
          3.4 加速度數(shù)據(jù)獲取
          數(shù)據(jù)采集是通過應用程序與驅(qū)動程序的交互來完成的。實現(xiàn)交互的方式有很多,例如可以利用callback函數(shù)(回調(diào)函數(shù))或?qū)⒑瘮?shù)應用程序中的數(shù)據(jù)處理函數(shù)指針傳給驅(qū)動,以及使用SETEVENT等來實現(xiàn)??紤]到軟件的升級,本系統(tǒng)采用的是SETEVENT方法。Windows CE系統(tǒng)與PC上的系統(tǒng)存在很大差異。一旦系統(tǒng)的某些模塊有所改動,必須重新編譯Windows CE系統(tǒng)和燒寫FLASH,工作量較大。使用SETEVENT的方法可在不改動驅(qū)動的情況下對應用程序進行調(diào)試,從而避免了反復燒寫FLASH。
          軟件設計思路:數(shù)據(jù)采集軟件啟動后必須對FIFO中數(shù)據(jù)進行復位。因為從Windows CE系統(tǒng)啟動到數(shù)據(jù)采集軟件開始工作需要15 s,但 A/D模塊及FIFO模塊在系統(tǒng)上電后即開始工作,因此如果使用這部分數(shù)據(jù)就會造成數(shù)據(jù)與列車廣播信息的不匹配。驅(qū)動程序在響應中斷后通過SETEVENT機制通知應用程序,此時數(shù)據(jù)讀取控制權(quán)就完全交給了頂層用戶。用戶可以根據(jù)自己的需要來控制數(shù)據(jù)的讀取及處理。數(shù)據(jù)采集程序界面見圖5。

          4 結(jié)束語

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


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



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();