摘 要:以ARM為開發(fā)平臺(tái),融合CAN有線數(shù)據(jù)傳輸和無線數(shù)據(jù)傳輸?shù)母髯詢?yōu)勢,在有線數(shù)據(jù)傳輸?shù)幕A(chǔ)上,,針對非接觸測量場合和智能檢測的需要,,設(shè)計(jì)了一種基于ARM9和Linux的手持式智能化故障診斷儀。該系統(tǒng)采用Samsung S3C2410微處理器,,在Linux環(huán)境下通過ARM處理器與智能RF的接口設(shè)計(jì)實(shí)現(xiàn)網(wǎng)絡(luò)通信和數(shù)據(jù)撿測功能,,完成數(shù)據(jù)的無線檢測。下位機(jī)通過AVR單片機(jī)控制,,具有實(shí)用價(jià)值,。
關(guān)鍵詞:ARM; 嵌入式Iinux; 智能RF; 無線數(shù)據(jù)通信模塊
狀態(tài)監(jiān)測與故障診斷技術(shù)是現(xiàn)代工業(yè)技術(shù)發(fā)展的產(chǎn)物,已發(fā)展到了以專家系統(tǒng),、神經(jīng)網(wǎng)絡(luò)和模糊分析等理論為基礎(chǔ),,以網(wǎng)絡(luò)技術(shù)為依托,以知識(shí)處理為核心的先進(jìn)智能化技術(shù),。Linux和RFID已成為現(xiàn)代工業(yè)技術(shù)熱點(diǎn),,隨著嵌入式技術(shù)的蓬勃發(fā)展,嵌入式系統(tǒng)憑借其性價(jià)比高,、穩(wěn)定性好,、體積小、功耗低等眾多優(yōu)點(diǎn)已經(jīng)深入到國防,、網(wǎng)絡(luò)通信,、工業(yè)控制、數(shù)字多媒體相關(guān)的消費(fèi)類領(lǐng)域,。本文所介紹的面向鐵路的手持式智能化故障診斷儀,,涉及了Linux、RFID,、嵌入式數(shù)據(jù)采集和無線傳輸功能及嵌入式系統(tǒng)的新技術(shù),。該套系統(tǒng)正是以知識(shí)處理為核心的嵌入式在線監(jiān)測故障診斷儀器,,具有功能強(qiáng)大、簡單易用,、便于攜帶等優(yōu)點(diǎn),。原始數(shù)據(jù)可通過USB接口取出,進(jìn)一步進(jìn)行事后處理,。本系統(tǒng)還可通過CDMA模塊連接無線網(wǎng)絡(luò),將處理完畢的數(shù)據(jù)實(shí)時(shí)地發(fā)送到客戶端,,以實(shí)現(xiàn)特定信息查詢和告警功能,。
1 系統(tǒng)的組成和結(jié)構(gòu)
該面向鐵路的手持式智能化故障診斷儀,是一套基于電池供電的智能化儀器,。測試系統(tǒng)主要由測試頭,、主測試設(shè)備和遠(yuǎn)程監(jiān)控站3級(jí)測試層組成。前端測試頭主要由AVR采集MCU,、傳感器和智能RF芯片構(gòu)成,;下位機(jī)是基于ATmega128單片機(jī)的數(shù)據(jù)采集系統(tǒng),承擔(dān)多路現(xiàn)場快變及緩變信號(hào)的采集,,主要完成任務(wù)采集,、接收來自主采集設(shè)備的指令并執(zhí)行主設(shè)備的任務(wù)調(diào)度。主測試設(shè)備主要由內(nèi)嵌Linux操作系統(tǒng)的ARM9處理器,、智能RF芯片,、網(wǎng)絡(luò)和串行通信接口、存儲(chǔ)設(shè)備和顯示設(shè)備構(gòu)成,。主測試設(shè)備主要完成各無線采集點(diǎn)的任務(wù)分配,、數(shù)據(jù)收集分析,可同時(shí)監(jiān)測和管理若干個(gè)連接的無線網(wǎng)絡(luò)范圍內(nèi)的傳感器測試頭,,并可通過無線數(shù)據(jù)傳輸模塊或通過Internet傳向遠(yuǎn)程監(jiān)控站并接受遠(yuǎn)程控制站的任務(wù)調(diào)度,。
遠(yuǎn)程監(jiān)控站主要由服務(wù)器、監(jiān)測數(shù)據(jù)庫和外圍設(shè)備構(gòu)成,,分為數(shù)據(jù)采集(上位機(jī))和數(shù)據(jù)處理(下位機(jī))兩大部分,,承擔(dān)實(shí)時(shí)數(shù)據(jù)的處理,也可以通過USB口或者以太網(wǎng)下載到PC上,,進(jìn)行進(jìn)一步深入的故障趨勢分析,。本系統(tǒng)對整個(gè)現(xiàn)場監(jiān)測的任務(wù)進(jìn)行合理地分解:將模擬信號(hào)的采集、A/D轉(zhuǎn)換以及簡單的數(shù)據(jù)處理部分放在下位機(jī)實(shí)現(xiàn),,以控制系統(tǒng)的硬件規(guī)模及耗電量,。將數(shù)據(jù)的進(jìn)一步處理、實(shí)現(xiàn)現(xiàn)場實(shí)時(shí)分析的構(gòu)件,、歷史數(shù)據(jù)重現(xiàn)及精簡的專家系統(tǒng)放在上位機(jī)上實(shí)現(xiàn),,本文主要介紹無線數(shù)據(jù)傳輸?shù)难芯吭O(shè)計(jì),。系統(tǒng)框架如圖1所示。
2 硬件系統(tǒng)設(shè)計(jì)
2.1 智能nRF905無線收發(fā)芯片
增加安全可靠,、穩(wěn)定的無線模塊功能,,是傳統(tǒng)PDA設(shè)備的技術(shù)趨勢。該設(shè)備采用Nordic公司的單片無線收發(fā)芯片nRF905,。該芯片工作在433/869/915 MHz的ISM頻段,,由1個(gè)完全集成的頻率調(diào)制器,1個(gè)帶解調(diào)器的接收器,、1個(gè)功率放大器,、1個(gè)晶體振蕩器和1個(gè)調(diào)節(jié)器組成,可以很容易地通過SPI接口進(jìn)行編程配置。電流消耗很低,,可以很容易地進(jìn)入Powerdown模式實(shí)現(xiàn)節(jié)電,。nRF905采用VLSI ShockBurst技術(shù),使得nRF905能夠提供高速的數(shù)據(jù)傳輸,,將與RF協(xié)議有關(guān)的高速信號(hào)處理放到芯片內(nèi)部,。在ShockBurst TX模式中,nRF905自動(dòng)產(chǎn)生前導(dǎo)碼和CRC校驗(yàn)碼,,數(shù)據(jù)準(zhǔn)備就緒DR信號(hào)通知主控制其數(shù)據(jù)傳輸已經(jīng)完成,。該芯片可與測試設(shè)備ARM和AVR的MCU通過簡單的串行接口連接,使用方便,。
2.2 ARM處理器模塊
構(gòu)建可移植嵌入式Linux的ARM9系統(tǒng),,嵌入式Linux是目前廣泛應(yīng)用的一種嵌入式操作系統(tǒng),ARM處理器模塊由Flash,、SDRAM和S3C2410共同構(gòu)建,。本系統(tǒng)選用Samsung公司的K9F1208U0A構(gòu)建8位Flash存儲(chǔ)器系統(tǒng)。
K9F1208U0A單片容量為64 MB:選用2片單片容量為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é)處理器產(chǎn)生各種控制信號(hào)實(shí)現(xiàn),。
2.3 傳感器模塊
傳感器模塊可以根據(jù)所需采集的數(shù)據(jù)來選擇,。本系統(tǒng)是在CAN總線有線數(shù)據(jù)傳輸?shù)幕A(chǔ)上開發(fā)的,CAN總線通信電路由微處理器S3C2410,、控制器MCP2515,、驅(qū)動(dòng)器TJA1050、光耦6N137和電源隔離模塊組成,,CAN通信主要用于機(jī)車惡劣環(huán)境下的數(shù)據(jù)采集,。該系統(tǒng)的無線傳輸功能主要運(yùn)用于火車機(jī)車車體振動(dòng)測量,也可運(yùn)用于機(jī)車的運(yùn)行監(jiān)測。所以采用3個(gè)使用ADXL105高精度單軸加速度傳感器芯片制作的加速度測量模塊,。測量模塊分別安置于車體底部的垂直方向和水平方向,,用于測量車體在X、Y,、Z方向上的加速度,。測量數(shù)據(jù)以差分信號(hào)的形式輸入到精密放大器中,經(jīng)比較放大后直接送到A/D模塊中。
2.4 外部通信模塊
設(shè)備外部通信模塊由2部分組成:485通信模塊和CDMA模塊,。485通信接口采用MAX1490芯片,。這是一款完全隔離的485數(shù)據(jù)接口芯片,單工工作方式,,傳輸波特率最大可達(dá)2.5 Mb/s,。其輸出引腳直接與ARM處理器的串口2(UART2)相連,ARM處理器通過串口2讀取時(shí)間和坐標(biāo)等相關(guān)數(shù)據(jù)的廣播信息,,串口0(UART0)與AnyData DTGS800 CDMA模塊相連,監(jiān)測數(shù)據(jù)經(jīng)預(yù)處理后通過CDMA模塊發(fā)送到地面服務(wù)器,。
2.5 系統(tǒng)關(guān)鍵硬件接口設(shè)計(jì)
系統(tǒng)硬件主要接口包括AVR與nRF905的接口,、AVR與ARM9的接口以及ARM9的外圍接口等。本文主要介紹AVR與nRF905和ARM9的接口,。AVR MCU通過nRF905接口收發(fā)數(shù)據(jù),,然后將收到的數(shù)據(jù)寫入雙口RAM等待讀取數(shù)據(jù),另外ARM9將要發(fā)送的數(shù)據(jù)寫入雙口RAM后給AVR MCU發(fā)送中斷信號(hào),,AVR MCU再從雙口RAM中讀取數(shù)據(jù),,根據(jù)指令將其發(fā)送至相應(yīng)的采樣傳感器測試頭。但由于ARM與AVR之間的通信速率不匹配,,2個(gè)CPU的數(shù)據(jù)交換通過一片雙口RAM完成,。因此應(yīng)用了異步高速雙口RAM IDT7130,很好地解決了異步串口通信的瓶頸問題,,雙口RAM對于存儲(chǔ)區(qū)的分配,,分成命令區(qū)、狀態(tài)區(qū),、接收數(shù)據(jù)區(qū),、發(fā)送數(shù)據(jù)區(qū)和中斷區(qū)5大區(qū)。接收數(shù)據(jù)區(qū)和發(fā)送數(shù)據(jù)區(qū)的細(xì)分,,可以根據(jù)串口數(shù)量,、報(bào)文長度的實(shí)際需要進(jìn)行再分配,主CPU和從CPU的握手協(xié)議可以通過命令區(qū)和狀態(tài)區(qū)的設(shè)計(jì)來完成,。主要接口如圖2所示,。
3 軟件系統(tǒng)設(shè)計(jì)
3.1 軟件系統(tǒng)設(shè)計(jì)
系統(tǒng)以主測試設(shè)備為核心,采集、收集多個(gè)測試傳感器采集的信息,,并將測試數(shù)據(jù)收集保存,,可以通過網(wǎng)絡(luò)實(shí)時(shí)地傳遞到系統(tǒng)的監(jiān)測中心進(jìn)行分析和處理。本設(shè)計(jì)采用的Linux內(nèi)核是在ARM-Linux的基礎(chǔ)上,,編寫了OLED顯示模塊,、USB設(shè)備的設(shè)備驅(qū)動(dòng)程序。軟件設(shè)計(jì)主要包括ARM-Linux在微處理器S3C2410上的移植,,相關(guān)驅(qū)動(dòng)程序設(shè)計(jì),、系統(tǒng)任務(wù)級(jí)設(shè)計(jì)等。開發(fā)系統(tǒng)采用PC工作站和主測試設(shè)備的嵌入式主板構(gòu)成的交叉編譯環(huán)境,,本系統(tǒng)使用Linux2.6的內(nèi)核,,內(nèi)核的編譯通過Makefile文件的指示進(jìn)行,通過修改Makefile來組織內(nèi)核各模塊,,并記錄模塊間的相互聯(lián)系和依賴關(guān)系,修改config,、setup等相關(guān)配置文件完成內(nèi)核的編譯,生成zlmage,、vmLinux,、System.map、config等文件,。雙口通信的程序如圖3所示,。
3.2 網(wǎng)絡(luò)通信程序設(shè)計(jì)
嵌入式無線局域網(wǎng)設(shè)備可以用于有線網(wǎng)絡(luò)無法延伸或難以安裝、又可靈活移動(dòng)和臨時(shí)性使用等要求的場合,。在本系統(tǒng)中主要采用Linux下的Socket通信方式,,使用TCP/IP網(wǎng)絡(luò)協(xié)議棧,采用面向有連接Stream套接字,。
主測試設(shè)備運(yùn)行過程中,,接收來自網(wǎng)絡(luò)的遠(yuǎn)程指令,并且為了方便遠(yuǎn)程測量和控制,,每個(gè)主測試設(shè)備被分配固定的IP地址和端口,,遠(yuǎn)程測試站可進(jìn)行有選擇性的查詢式測量,每個(gè)主測試設(shè)備在通信開始前使用socket( )建立一個(gè)通信端點(diǎn),,再使用bind( )函數(shù)把一個(gè)地址綁定到這個(gè)端點(diǎn)上,,然后使用listen( )函數(shù)偵聽是否有來自遠(yuǎn)程的連接請求,如果有,,則使用accept( )處理,,并按照指令執(zhí)行測量任務(wù)或傳送測量數(shù)據(jù)。如圖4所示,?!?/p>
雖然現(xiàn)場顯示和無線傳輸2種方式已經(jīng)提供了大量的數(shù)據(jù)和信息。但是都受到了地域和空間的限制。因此,,為了滿足相對惡劣的地理環(huán)境和移動(dòng)設(shè)備的采集需求,,系統(tǒng)后期可通過加入GSM短消息傳送數(shù)據(jù)的無線方式。GSM網(wǎng)絡(luò)經(jīng)過多年的發(fā)展完善,,現(xiàn)在已經(jīng)非常成熟,,盲區(qū)少、信號(hào)穩(wěn)定,、自動(dòng)漫游,,并且通信距離不受周圍環(huán)境影響。
本文的創(chuàng)新點(diǎn)在于開發(fā)了一種基于嵌入式系統(tǒng)的機(jī)車狀態(tài)實(shí)時(shí)檢測系統(tǒng),,該系統(tǒng)實(shí)現(xiàn)了機(jī)車上信號(hào)量的采集和信號(hào)的存儲(chǔ),、大容量的數(shù)據(jù)存儲(chǔ)、穩(wěn)定可靠的CAN總線通訊和遠(yuǎn)程無線通信,,各個(gè)模塊在Linux實(shí)時(shí)操作系統(tǒng)的調(diào)度下協(xié)調(diào)工作,,車載顯示和語音報(bào)警效果良好,并能夠在機(jī)車出現(xiàn)故障時(shí)提醒司機(jī)故障出現(xiàn)的位置和解決故障的方法,。該系統(tǒng)通過在嵌入式Linux環(huán)境下的網(wǎng)絡(luò)通信測試實(shí)驗(yàn),,證實(shí)具有較好的響應(yīng)能力和數(shù)據(jù)吞吐能力,本系統(tǒng)設(shè)計(jì)在非接觸式測量領(lǐng)域有一定的應(yīng)用價(jià)值和指導(dǎo)意義,,經(jīng)在機(jī)車檢測方面的多次聯(lián)機(jī)調(diào)試,系統(tǒng)工作穩(wěn)定,、可靠,,在工業(yè)控制領(lǐng)域具有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] ARNOLD B.嵌入式系統(tǒng)設(shè)計(jì)[M].呂駿,,譯.北京:電子工業(yè)出版社,,2002.
[2] 韓鋒.基于ARM處理器的便攜式振動(dòng)測量分析儀的設(shè)計(jì)[J]. 儀表技術(shù)與傳感器,2004(9):14-15.
[3] 吳健.基于嵌入式Linux的無線檢測系統(tǒng)設(shè)計(jì)[J].測控技術(shù),, 2006(13):78-80.
[4] 姜虎強(qiáng).基于Atmega128的無線數(shù)據(jù)采集系統(tǒng)[J].微計(jì)算機(jī)信息,,2007(9):129-130.