色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

          作者: 時(shí)間:2006-02-28 來(lái)源:網(wǎng)絡(luò) 收藏

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

          1 引 言

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

          2 系統(tǒng)工作原理

          系統(tǒng)分為ARM處理器模塊、協(xié)處理器FPGA模塊、A/D模塊、傳感器模塊和外部通信模塊5部分,基本結(jié)構(gòu)如圖1所示。ARM處理器和現(xiàn)場(chǎng)可編程門(mén)陣列(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ú)線(xiàn)網(wǎng)絡(luò)將數(shù)據(jù)傳回客戶(hù)端。


          圖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è)邏輯門(mén),片內(nèi)塊RAM為40 KB。協(xié)處理器內(nèi)部結(jié)構(gòu)見(jiàn)圖2。其具體實(shí)現(xiàn)以下功能:

          • A/D模塊讀/寫(xiě)時(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處理器地址總線(xiàn)、數(shù)據(jù)總線(xiàn)和外部中斷信號(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寫(xiě)入信號(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空間可以滿(mǎn)足嵌入式操作系統(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)換開(kāi)始,經(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)用于火車(chē)機(jī)車(chē)車(chē)體震動(dòng)測(cè)量,所以采用3個(gè)使用ADXL105高精度單軸加速度傳感器芯片制作的加速度測(cè)量模塊。測(cè)量模塊分別安置于車(chē)體底部的垂直方向和水平方向,用于測(cè)量車(chē)體在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ǔ)言用于編寫(xiě)FPGA程序;ARM處理器的調(diào)試則使用C語(yǔ)言。
          系統(tǒng)開(kāi)始工作后ARM處理器和FPGA協(xié)處理器中的FIFO開(kāi)始初始化。經(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)生中斷等待線(xià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é)處理器上電即開(kāi)始工作而ARM處理器完成系統(tǒng)加載,端口初始化大概需要10 s左右的時(shí)間。在這個(gè)過(guò)程中FIFO中存儲(chǔ)的數(shù)據(jù)已經(jīng)被寫(xiě)滿(mǎn)。如果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)方式分別寫(xiě)入3個(gè)FIFO中。一旦FIFO中可使用數(shù)據(jù)容量減小到一定限度則產(chǎn)生中斷,ARM處理器進(jìn)入中斷服務(wù)程序并讀取FIFO中的數(shù)據(jù)。
          3.3 列車(chē)廣播信息讀取
          火車(chē)機(jī)車(chē)廣播信息通過(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)和車(chē)次。數(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)線(xiàn)程不斷偵聽(tīng)端口。如果有數(shù)據(jù)輸入則會(huì)產(chǎn)生讀取事件,此時(shí)線(xiàn)程讀取一個(gè)字節(jié)的數(shù)據(jù),并由串口將數(shù)據(jù)發(fā)送至主線(xiàn)程。最后,主線(xiàn)程通過(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)入。廣播信息讀取程序界面見(jià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)和燒寫(xiě)FLASH,工作量較大。使用SETEVENT的方法可在不改動(dòng)驅(qū)動(dòng)的情況下對(duì)應(yīng)用程序進(jìn)行調(diào)試,從而避免了反復(fù)燒寫(xiě)FLASH。
          軟件設(shè)計(jì)思路:數(shù)據(jù)采集軟件啟動(dòng)后必須對(duì)FIFO中數(shù)據(jù)進(jìn)行復(fù)位。因?yàn)閺腤indows CE系統(tǒng)啟動(dòng)到數(shù)據(jù)采集軟件開(kāi)始工作需要15 s,但 A/D模塊及FIFO模塊在系統(tǒng)上電后即開(kāi)始工作,因此如果使用這部分?jǐn)?shù)據(jù)就會(huì)造成數(shù)據(jù)與列車(chē)廣播信息的不匹配。驅(qū)動(dòng)程序在響應(yīng)中斷后通過(guò)SETEVENT機(jī)制通知應(yīng)用程序,此時(shí)數(shù)據(jù)讀取控制權(quán)就完全交給了頂層用戶(hù)。用戶(hù)可以根據(jù)自己的需要來(lái)控制數(shù)據(jù)的讀取及處理。數(shù)據(jù)采集程序界面見(jiàn)圖5。

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

          本文所研制的系統(tǒng)綜合利用了移動(dòng)通信和嵌入式系統(tǒng)設(shè)計(jì)等技術(shù),與傳統(tǒng)檢測(cè)設(shè)備相比,大大提高了線(xiàn)路監(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ù)不同的功能要求編寫(xiě)相應(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ù)采集程序



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉