摘 要: 介紹了一種大型搗固車工作狀態(tài)監(jiān)控系統(tǒng)的設(shè)計方案,重點介紹車載主監(jiān)控模塊的硬件設(shè)計及相關(guān)的軟件實現(xiàn)。該系統(tǒng)應用新型的M22A系列嵌入式工控模塊MiniARM9080構(gòu)建硬件平臺,內(nèi)嵌實時多任務操作系統(tǒng)μC/OS-II,實現(xiàn)對搗固車多個運行參數(shù)的實時監(jiān)控。
關(guān)鍵詞: MiniARM;μC/OS-II; 搗固車; 車載監(jiān)控系統(tǒng)
?
搗固車是集機、電、液于一體的復雜系統(tǒng),其運行參數(shù)多,工作環(huán)境惡劣,故障率高且難于排查,因此車載狀態(tài)監(jiān)控系統(tǒng)成為搗固車必不可少的監(jiān)控設(shè)備。但是目前國內(nèi)鐵路大型養(yǎng)路機械搗固車的電氣控制系統(tǒng)基本用的都是模擬電路,結(jié)構(gòu)復雜,故障率高,系統(tǒng)難以在線升級,且不便于維修,因此進行數(shù)字化改造是其迫切的要求。本文在傳統(tǒng)檢測系統(tǒng)的基礎(chǔ)上應用新型的M22A系列ARM嵌入式工控模塊MiniARM9080對整車進行現(xiàn)場實時監(jiān)控,通過無線網(wǎng)絡把實時工況數(shù)據(jù)和GPS數(shù)據(jù)上傳至上位機,實時顯示機車的工作狀況,對異常進行報警處理,并完成歷史回放功能。操縱人員可根據(jù)現(xiàn)場情況,隨時了解搗固車各部分運行狀態(tài),及時發(fā)現(xiàn)搗固車的隱患,從而避免故障發(fā)生。
1 系統(tǒng)概述
本系統(tǒng)主要分為4個功能子模塊。(1)顯示終端人機交互模塊:負責搗固車現(xiàn)場監(jiān)控,為現(xiàn)場作業(yè)人員提供圖形化的工作參數(shù)數(shù)據(jù)參考; (2)車載MiniARM主控模塊:負責現(xiàn)場實時數(shù)據(jù)的采集、處理和傳輸,并為顯示終端與服務器的通信提供橋梁;(3)服務器:在物理上集通信服務器、數(shù)據(jù)庫服務器及WEB服務器為一體, 具備遠程網(wǎng)絡、WEB服務、關(guān)系數(shù)據(jù)庫和實時數(shù)據(jù)庫等功能;(4)客戶端:通過BS和CS兩種方式為廣州鐵路集團數(shù)據(jù)監(jiān)控中心提供搗固車工作狀態(tài)遠程監(jiān)控的功能。系統(tǒng)完整的拓撲結(jié)構(gòu)圖如圖1所示。
系統(tǒng)的車載部分包括MiniARM主控箱、平板監(jiān)控電腦、各個分散的CAN監(jiān)測點以及無線發(fā)送部分,整個系統(tǒng)的工作電壓為24 V。車載MiniARM系統(tǒng)主控模塊采用新型的M22A系列ARM嵌入式工控模塊MiniARM9080作為系統(tǒng)的控制核心,包含CAN數(shù)據(jù)采集結(jié)點、GPS天線、通信和控制底板、交換機、以太網(wǎng)-CAN轉(zhuǎn)換器、蓄電池等功能部件,實現(xiàn)CAN數(shù)據(jù)采集、GPS數(shù)據(jù)接收、實時作業(yè)數(shù)據(jù)的處理、存儲和查詢及數(shù)據(jù)通信等功能。車載MiniARM系統(tǒng)主控模塊的結(jié)構(gòu)如圖2所示。其中虛線部分電路構(gòu)成系統(tǒng)通信與控制底板,安裝在MiniARM主控箱內(nèi),監(jiān)控設(shè)備CAN模塊安裝在搗固車各個電氣電路箱內(nèi),電源控制模塊負責整個車載監(jiān)控系統(tǒng)的電源管理。
?
2 MiniARM9080核心板簡介
??? MiniARM9080嵌入式工業(yè)控制模塊[1]主要由LPC2290
??? (ARM7TDMI-S)工業(yè)級微控制器、程序存儲器、數(shù)據(jù)存儲器、工業(yè)級以太網(wǎng)控制器CS8900A、可校準實時時鐘以及帶256 B E2PROM的復位監(jiān)控電路組成。其硬件結(jié)構(gòu)圖如圖3所示??偩€通過緩沖保護電路與底板連接以保證微控制器總線運行不受外界干擾,使模塊在EMC性能及穩(wěn)定性方面均有良好的表現(xiàn)。
?
??? MiniARM工業(yè)控制模塊將ARM最小系統(tǒng)、以太網(wǎng)控制器、CAN/USB控制器、電子硬盤(Disk on Board)等設(shè)備高度集成于小巧的模塊之上,支持10 Mb/s以太網(wǎng)(工業(yè)級)、2路CAN通信、CF卡接口、A/D轉(zhuǎn)換、低功耗RTC等功能。并直接以固件的形式提供穩(wěn)定的FAT文件系統(tǒng)、TCP-IP/CAN-BUS/USB/Modbus協(xié)議棧以及穩(wěn)健的?滋C/OSII實時操作系統(tǒng),為車載監(jiān)控系統(tǒng)主控模塊的設(shè)計提供了完整的解決方案。
3 系統(tǒng)硬件設(shè)計
3.1 電源管理模塊設(shè)計
按照搗固車電氣系統(tǒng)標準[2],搗固車在正常作業(yè)情況下能產(chǎn)生穩(wěn)定且大功率的直流電源,其電壓值為27.5 V±5 %,輸出電流達3.5 A,因此可以直接利用這部分電源作為系統(tǒng)的工作電源。采用如圖4所示的電路來負責整個系統(tǒng)的電源管理。
?
搗固車正常作業(yè)時通過大功率整流二極管2CZ10A提供整個系統(tǒng)的工作電源,同時也給蓄電池充電。當搗固車停止作業(yè)時,車載電源斷開,系統(tǒng)轉(zhuǎn)而由蓄電池組供電。這里采用2個6-DZM-12型蓄電池串聯(lián)組成系統(tǒng)24 V蓄電池電源,其容量達48 AH。同時為了防止由于搗固車的長期不工作而導致蓄電池的“枯竭”,設(shè)計原則是當蓄電池組輸出電壓降到一定程度時切斷其供電電路,從而起到保護作用,為此電路中采用1片雙電壓比較器集成芯片LM393, 該芯片單電源工作時電源電壓范圍為 2 V~36 V,可以滿足系統(tǒng)要求,其反相輸入端通過滑動變阻器連接到蓄電池的正極,同相輸入端加一個參考電壓。集成電路LM336通過變阻器能夠提供4 V~6 V之間穩(wěn)定的基準電壓值,這里設(shè)置同相輸入端參考電壓為5 V,并設(shè)置反相輸入端的電壓維持在15 V左右,當系統(tǒng)正常工作時比較器反相端電壓高于同相端, 輸出管飽和,相當于輸出端接低電位,此時繼電器開關(guān)閉合,系統(tǒng)獲得24 V電壓源,隨著蓄電池組輸出電壓的下降,LM339反相端輸出電壓也隨之下降,當電壓值低于參考電壓時, 比較器反轉(zhuǎn),輸出管截止,此時繼電器斷開,整個監(jiān)控電路24 V輸入電源切斷,從而起到了對蓄電池組的保護作用。由于MiniARM9080需要5.0 V/3.3 V雙電源供電,系統(tǒng)輸入電壓比較大,這里采用開關(guān)穩(wěn)壓集成電路LM2575和低壓差線性調(diào)壓器LM1117,可以獲得穩(wěn)定的5 V和3.3 V輸入電源。
3.2 通信接口
MiniARM控制板在整個系統(tǒng)通信中處于核心的位置,既要負責實時數(shù)據(jù)的采集和發(fā)送,又要與現(xiàn)場監(jiān)控終端和遠端的服務器通信,同時也是服務器和現(xiàn)場監(jiān)控終端之間相互通信的橋梁。按照實現(xiàn)的功能和通信對象的不同,系統(tǒng)主要建立如下4種不同的接口電路。
(1) 數(shù)據(jù)存儲接口:該部分主要負責實時數(shù)據(jù)的存儲,提供服務器歷史數(shù)據(jù)的回放,采用1片512 MB的CF卡作為數(shù)據(jù)存儲介質(zhì),歷史數(shù)據(jù)可保存7天。
(2) RS232串行接口:該部分通過1片SP3232E芯片提供2路標準的串行接口,分別連接GPS模塊與DTU模塊。GPS模塊采用臺灣鼎天的REB-22R系列GPS數(shù)據(jù)接收模塊。DTU模塊采用廈門桑榮公司的Saro3150PGPRS無線數(shù)據(jù)傳輸終端,主要用來實現(xiàn)與服務器之間的無線通信。
(3) TCP/IP通信接口:由于MiniARM9080工控模塊內(nèi)部已經(jīng)整合了CS8900A以太網(wǎng)控制器,因此只需外接1片網(wǎng)絡隔離變壓器HR601629E芯片和相應的匹配電阻、高壓電容即可與外界可靠通信,這里主要實現(xiàn)與現(xiàn)場監(jiān)控的平板電腦之間的可靠通信。
(4) CAN-BUS通信接口:該部分電路由帶隔離的高速CAN總線收發(fā)器模塊CTM1050、總線ESD保護器件PESD1CAN及相應的電阻組成,主要負責與現(xiàn)場CAN數(shù)據(jù)采集裝置的通信。
3.3 控制及檢測電路
由于搗固車有作業(yè)和停止兩種不同的狀態(tài),需要有相應的電路來檢測狀態(tài)的改變,這里通過一個簡單的電壓采樣電路來實現(xiàn)。另外在機車工作時需要同時開啟各個功能模塊,而在機車停止作業(yè)時部分功能模塊(如平板電腦、CAN數(shù)據(jù)采集點等)需要關(guān)閉以降低系統(tǒng)功耗。同時為了保證GPRS通信模塊正常通信,也需要設(shè)置相應電路在其出現(xiàn)故障時對其進行硬件復位,這就需要設(shè)計相應的硬件電路來控制它們的開關(guān)。MiniARM輸出驅(qū)動能力有限,這里采用三極管放大電路驅(qū)動繼電器來控制相應功能模塊的工作狀態(tài)。具體的控制策略由軟件來控制實現(xiàn)。
4 系統(tǒng)軟件設(shè)計
4.1 系統(tǒng)主程序設(shè)計
軟件設(shè)計是整個系統(tǒng)設(shè)計的重要組成部分,其核心功能是實時數(shù)據(jù)的采集、處理、存儲和轉(zhuǎn)發(fā),車載監(jiān)控系統(tǒng)對數(shù)據(jù)處理的實時性和并發(fā)性有較高的要求,因此采用開放式、可裁剪、高可靠性、可剝奪性內(nèi)核的嵌入式實時操作系統(tǒng)μCOSII[3]。本系統(tǒng)主程序?qū)崿F(xiàn)3個主要的C程序源文件:main.c、train.c、ISR.c,其中train.c主要實現(xiàn)各種功能子函數(shù),包括格式轉(zhuǎn)換、CAN模塊驅(qū)動、數(shù)據(jù)轉(zhuǎn)換等子函數(shù)及全局變量定義,相當于實現(xiàn)自定義的庫函數(shù);ISR.c主要實現(xiàn)各類中斷子程序以及定時器,同步等功能;main.c實現(xiàn)操作系統(tǒng)μC/OSII的初始化、系統(tǒng)的啟動及相應的任務實現(xiàn),在本系統(tǒng)中主要建立6個不同的任務,分別實現(xiàn)以下不同的功能:
Task0:主要實現(xiàn)串口初始化,CAN實時數(shù)據(jù)采集,GPRS通信處理算法以及同服務器之間的相互通信。
Task1:負責GPS數(shù)據(jù)處理和實時數(shù)據(jù)傳輸。
Task2:實現(xiàn)與平板電腦之間TCP/IP數(shù)據(jù)通信功能。
Task3:定時與同步控制處理。
Task4:負責實時數(shù)據(jù)存儲及歷史數(shù)據(jù)提取功能的實現(xiàn)
Task6:電源管理模塊的軟件實現(xiàn)。
4.2 通信協(xié)議的設(shè)計
MiniARM主控箱除了負責現(xiàn)場實時數(shù)據(jù)的采集外,還需要與本地的現(xiàn)場監(jiān)控平板電腦以及遠端的服務器進行通信,處理實時數(shù)據(jù)與控制命令的傳輸。三方通信均采用客戶端/服務器模式(C/S),進行雙向數(shù)據(jù)通信。在與平板電腦通信時, MiniARM主控箱作為服務器,通信雙方建立可靠的TCP連接實現(xiàn)雙向通信。在與遠程服務器通信時, MiniARM主控箱作為客戶端,采用工業(yè)級外置式GPRS無線數(shù)傳模塊(DTU),通過GPRS網(wǎng)絡實現(xiàn)遠程雙向數(shù)據(jù)通信。同時MiniARM主控箱也作為平板電腦與遠端服務器通信的橋梁。本文設(shè)計了統(tǒng)一的通信協(xié)議實現(xiàn)三方的相互通信,提供了統(tǒng)一的標準幀結(jié)構(gòu)。該協(xié)議對應TCP/IP體系結(jié)構(gòu)的應用層。標準幀結(jié)構(gòu)如圖5所示。
?
該通信協(xié)議的設(shè)計借鑒GPS數(shù)據(jù)通信NEMA0183[4]標準的思想,同時又結(jié)合了系統(tǒng)本身的設(shè)計要求。該協(xié)議由幀首部、協(xié)議數(shù)據(jù)部分、幀尾部3個字段組成,其中幀頭由三個字節(jié)的字符串“$$$”來表示,數(shù)據(jù)長度部分共16位,表示從消息ID開始到校驗碼之前的數(shù)據(jù)長度,以字節(jié)為單位;消息ID表征本幀數(shù)據(jù)在通信系統(tǒng)中實現(xiàn)的功能;終端ID是標識本系統(tǒng)的惟一的ID號;YNA字段代表本幀是否需要回復,當其值為0時表示不需要回復,為1時需要回復。協(xié)議數(shù)據(jù)部分是長度可變的字段,其長度最小為1個字節(jié),包含的內(nèi)容根據(jù)消息ID的不同有很大的改變,除包含真正的數(shù)據(jù)外,還包括消息序列號、各數(shù)據(jù)量的個數(shù)以及填充字段等信息。校驗和部分可采用CRC等校驗手段,由于TCP通信能夠保證數(shù)據(jù)傳輸?shù)目煽啃?,這里只需要確保發(fā)送端DTU數(shù)據(jù)發(fā)送的正確性,因此采用簡單的累加校驗和的方式,校驗數(shù)據(jù)為消息ID到校驗碼之前的數(shù)據(jù)部分;最后以字符串“END”作為本數(shù)據(jù)包的幀尾。
4.3 無線通信可靠性設(shè)計
車載監(jiān)控系統(tǒng)與遠程服務器之間的通信基于中國移動GPRS網(wǎng)絡,采用工業(yè)級外置式GPRS無線數(shù)傳模塊(DTU)進行遠程數(shù)據(jù)通信,保證其通信的可靠性和穩(wěn)定性是本系統(tǒng)設(shè)計的關(guān)鍵。雖然TCP通信基于可靠的連接,能夠保證服務器接收數(shù)據(jù)的正確性,但不能保證由于GPRS信道本身原因引起的數(shù)據(jù)丟失及錯誤。另外,DTU模塊受外界干擾而導致數(shù)據(jù)處理錯誤或者死機等情況也是影響數(shù)據(jù)通信可靠性和穩(wěn)定性的重要因素。為此從DTU模塊的角度出發(fā),設(shè)計了相應的控制策略,其控制流程如圖6所示。
?
??? 首先車載監(jiān)控系統(tǒng)通過DTU周期性地向遠程服務器發(fā)送測試心跳包,發(fā)送周期為240 s,遠程服務器收到該心跳包后立即發(fā)送一條回復消息,監(jiān)控系統(tǒng)判斷在30? s內(nèi)是否收到服務器的回復消息,如果收到回復,則一次完整的測試通信狀況流程結(jié)束,此時通信正常,監(jiān)控系統(tǒng)等待下一個發(fā)送周期再次發(fā)送測試心跳包;否則監(jiān)控系統(tǒng)將轉(zhuǎn)為出錯處理,此時系統(tǒng)將立即重發(fā)一個測試心跳包并進入下一個30 s回復消息等待周期。如果重發(fā)超過3次沒收到任何回復消息,通常以將DTU斷電5 s方式硬復位DTU保證其工作的正常性,這樣可防止系統(tǒng)因DTU本身的故障而引起的通信問題。但同時也要考慮另外一個故障源——GPRS無線信道,比如搗固車在山洞里面作業(yè)的情況。此時由于通信信號的原因?qū)餌TU的頻繁開關(guān)硬復位,為了避免這一情況,系統(tǒng)在監(jiān)測到重發(fā)次數(shù)超過3次時,先判斷距離上一次的復位時間是否超過一定的時間間隔,如果超過(這里設(shè)置為1 800 s),則進行DTU硬復位操作。另外,系統(tǒng)在正常通信的情況下也會因為偶然的因素導致個別的通信測試失敗,但整個系統(tǒng)仍然處于正常的工作狀態(tài),這時采用如下機制:在第1次出現(xiàn)重發(fā)狀況時,設(shè)定1個定時器,定時時間為1小時,當定時時間到時再判斷,如果重發(fā)次數(shù)不超過3次,則表示通信正常并重發(fā)計數(shù)值清零。當然系統(tǒng)在DTU硬復位時也需要清除定時器以及重發(fā)計數(shù)器,來保證下一次通信的正常判斷。通過以上的控制策略,并經(jīng)實踐證實,基本上能保證通信的最大可靠性。
本文研究設(shè)計的車載監(jiān)控系統(tǒng)已經(jīng)達到實用化的階段,目前已經(jīng)在廣鐵集團08-32型搗固車上試運行半年,系統(tǒng)整體設(shè)計已經(jīng)達到了預期的功能和可靠性要求,對提高車輛的維修質(zhì)量、檢修效率,推行經(jīng)濟高效、先進合理的預知維修制式有著極大的促進作用。
參考文獻
[1]?廣州致遠電子有限公司.M9020-N20/M9080-N20產(chǎn)品用戶手冊. 2007-05.
[2] ?韓志青,唐定全. 抄平起撥道搗固車[M]. 北京:中國鐵道出版社, 2004.
[3] ?LABROSES J. 嵌入式實時操作系統(tǒng)[M]. 邵貝貝,譯.北京:北京航空航天大學出版社, 2003.
[4] ?何香玲,鄭鋼. GPS通信的 NEMA協(xié)議及定位數(shù)據(jù)的提取.計算機應用與軟件, 2004,21(12).