趙世林
摘? ?要:文章較系統(tǒng)地介紹了機車信號主機記錄板應用程序的開發(fā),主要內(nèi)容包括機車信號主機的功能概要、記錄板插件的軟件結構和核心模塊以及Linux操作系統(tǒng)優(yōu)勢特點,并對記錄板可擴展的功能進行了展望。
關鍵詞:JT-CR-2000;記錄板;Linux
1? ? JT-CR-2000型機車信號車載系統(tǒng)概述
機車信號是指在司機室內(nèi)指示列車前方運行條件的信號。在地面信號機為主體信號的前提下,機車信號為輔助信號,它能自動地反映列車運行前方地面信號機的顯示狀態(tài)和運行條件,指示列車運行,并與列車自動停車裝置結合,確保列車的安全運行。
JT-CR-2000型機車信號車載系統(tǒng)是山西潤澤豐科技開發(fā)有限公司最新研制開發(fā)的新一代機車信號產(chǎn)品。該設備采用新工藝、新標準的一體化機箱設計,技術指標滿足原鐵道部《中華人民共和國鐵路行業(yè)標準TB/T3287-2013機車信號車載系統(tǒng)設備》要求。該系統(tǒng)通過了原鐵道部的技術審查并獲得了國家鐵路局運輸安全設備生產(chǎn)的行政許可及中鐵檢驗認證中心的中國鐵道建筑總公司(China Railway Construction Corporation,CRCC)產(chǎn)品認證證書。
JT-CR-2000型機車信號系統(tǒng)采用超大規(guī)模集成電路器件和數(shù)字信號處理技術,利用先進的頻譜分析技術和時域處理技術,能夠適用的軌道電路制式:ZPW-2000系列(包括UM系列)、移頻(18信息、8信息、4信息)以及交流計數(shù)和微電子交流計數(shù)(25 Hz,50 Hz),并可以根據(jù)用戶需求適用其他軌道電路制式。系統(tǒng)結構設計上采用“(3取2)×2”的設計理念,信號的采集輸入采用了2×2雙路輸入信號安全組合連接法,大大提高了系統(tǒng)的安全性和可靠性。
2? ? 主機原理
JT-CR-2000型機車信號主機是通過安裝在機車第一輪對前面的接收線圈接收到軌面上表示機車前方運行條件的信號信息,經(jīng)模數(shù)(Analog to Digital,A/D)轉(zhuǎn)換將接收到的模擬信號轉(zhuǎn)換成計算機可識別的“0”“1”數(shù)字信號,數(shù)字信號處理器(Digital Signal Processor,DSP)芯片通過一系列的軟件處理程序,將接收到的信號“翻譯”成點燈結果和超速防護信息,主機再將其輸出至機車信號機和列車運行監(jiān)控裝置。不同點在于JT-CR-2000型機車信號主機由于要滿足更高的要求,要增加更多的安全和可靠性冗余措施,包括雙路接收線圈、多CPU和主機板、雙套熱備結構、雙電源熱備結構等,增加對機車信號運行中有關動態(tài)數(shù)據(jù)和信號波形的記錄。圖1給出了JT-CR-2000型機車信號主機結構原理。
系統(tǒng)中設有A,B兩個主機板和一個記錄板,兩主機板完全相同,且都能夠采集兩路接收線圈信號進行解碼。兩主機板同時工作,互為備份關系。板間采用RS-485和控制器局域網(wǎng)絡總線進行通信,同時,將解碼數(shù)據(jù)發(fā)送給記錄板記錄。兩主機板通過連接板進行切換,工作板將結果送至信號機進行顯示輸出。
記錄板接收并記錄當前信號波形、解碼數(shù)據(jù)、TAX箱信息,同時,還能通過通用分組無線服務(General Packet Radio Service,GPRS)無線網(wǎng)絡實時發(fā)送給地面。
3? ? 記錄板主要功能
(1)記錄板記錄數(shù)據(jù)由3部分組成:信號波形、解碼數(shù)據(jù)、TAX箱信息;數(shù)據(jù)存儲使用容量為8 GB的eMMC Flash芯片,數(shù)據(jù)可連續(xù)記錄200 h左右,波形可記錄72 h左右。
(2)記錄板采集當前工作主機板使用接收線圈的信號波形,采樣頻率8 192 Hz,波形采樣精度為14位;具有“關鍵波形記錄”和“全程波形記錄”兩種方式。在“關鍵波形記錄”方式下,記錄關鍵處前后各6 s的波形數(shù)據(jù),可記錄最近250處的關鍵波形。
(3)記錄數(shù)據(jù)可使用通用U盤轉(zhuǎn)儲,轉(zhuǎn)儲的數(shù)據(jù)由地面數(shù)據(jù)處理系統(tǒng)進行顯示、分析和統(tǒng)計處理。
(4)記錄板具備工作溫度和電壓檢測記錄功能。
(5)記錄板具備故障記錄、報警和傳輸功能。
(6)記錄板具備GPRS信息傳輸功能的接口以及通過局部均值分解(Local Mean Decomposition,LMD)系統(tǒng)信息傳輸功能的接口。
3.1? 記錄板軟件架構
圖2可以表示出每個模塊相互的聯(lián)系以及通信數(shù)據(jù)的流向,按照功能將記錄板軟件劃分為RS485總線程序、采樣程序、輸入/輸出(Input/Output,I/O)控制程序、串行口通信程序、實時時鐘程序、U盤讀寫程序。
STM32F407芯片采集線圈感應信號和模擬量、開關量,接收RS485數(shù)據(jù),通過串行外設接口(Serial Peripheral Interface,SPI)總線發(fā)送感應信號的波形數(shù)據(jù),通過通用異步收發(fā)傳輸器(Universal Asynchronous Receiver Transmitter,UART)發(fā)送模擬量和開關量、解碼板的485數(shù)據(jù)。Cortex-A8接收SPI總線數(shù)據(jù)和UART數(shù)據(jù),經(jīng)過數(shù)據(jù)處理和邏輯分析之后分別記錄成標準格式文件,插入U盤后自動執(zhí)行轉(zhuǎn)出操作。RS_422通信接口可以外接GPRS通信模塊,也可以外接Lais轉(zhuǎn)接盒,對外透傳記錄板有效數(shù)據(jù)[1]。
3.2? 記錄板軟件關鍵技術實現(xiàn)
記錄板軟件主要由兩部分組成,一部分面向STM32F407芯片的嵌入式應用,一部分是面向Cortex-A8芯片基于Linux操作系統(tǒng)的嵌入式應用。
基于Linux系統(tǒng)開發(fā)應用程序可以利用系統(tǒng)自帶應用程序編程接口(Application Programming Interface,API)進行編程,這種開發(fā)方式流程簡單,代碼結構清晰,可移植和繼承的特性明顯。基于操作系統(tǒng)編制多線程的應用程序可以把多任務的管理工作交于操作系統(tǒng)處理,充分發(fā)揮系統(tǒng)級時間片管理的優(yōu)勢。
Cortex-A8芯片上運行的程序由多個進程組成,分別為監(jiān)控程序、實時時鐘(Real-Time Clock,RTC)程序、記錄主程序、SPI程序,進程間的通信選用共享內(nèi)存和消息隊列實現(xiàn)。監(jiān)控程序負責監(jiān)測其他進程的運行狀態(tài)和Flash的內(nèi)存空間,必要時重啟其他進程;RTC程序上電后不會自動運行,其他進程在需要取時間時,會調(diào)用該程序,運行一次后自動銷毀進程;SPI程序讀取和記錄串行口的波形數(shù)據(jù);記錄主程序負責執(zhí)行串口通信、數(shù)據(jù)記錄、U盤轉(zhuǎn)儲、網(wǎng)絡通信等主要功能[2]。
程序任務中有很多功能是需要等待的,如標準輸入輸出、I/O控制、U盤讀寫,如果選用多線程編程可以有效地分配計算資源,提高程序的運行效率,所以記錄主程序和SPI程序都選用了多線程編程技術。
SPI總線波形接受程序的整套程序由3個線程組成:兩個SPI接收線程,一個記錄線程。依照系統(tǒng)需求,SPI總線每秒需要接收16 K的數(shù)據(jù),此種程序結構可以并發(fā)SPI接收線程,提升程序的運行速度,一定程度降低了CPU的負載。
程序中使用了信號量控制每個線程間的時序關系,rx_buf1_semr和rx_buf2_semr循環(huán)累加16次,完成16 K數(shù)據(jù)的接收,之后信號量semx原子加1,將波形數(shù)據(jù)寫入Flash中。
記錄板程序除了記錄每秒的感應線圈的波形信息之外,還要有條件地記錄關鍵變燈處前后6 s共計12 s的波形信息,在記錄關鍵波形的1 s周期里,程序需要記錄208 K的波形信息。Cortex-A8芯片主頻600 M,如果要求在1 s的周期內(nèi)將208 K的波形信息寫入Flash中,CPU的任務負載會出現(xiàn)溢出,幾秒之內(nèi)便會出現(xiàn)系統(tǒng)異常。程序經(jīng)過優(yōu)化設計,將208 K的波形數(shù)據(jù)分4個周期寫入Flash中,關鍵變燈的觸發(fā)周期至少6 s以上,避免出現(xiàn)數(shù)據(jù)堆疊進而丟包的現(xiàn)象。
4? ? 結語
機車信號主機記錄板負責記錄機車信號系統(tǒng)正常運行過程中全部相關數(shù)據(jù),并負責轉(zhuǎn)發(fā)到遠程服務器,對于實時監(jiān)測機車信號系統(tǒng)的運行狀態(tài),分析機車信號系統(tǒng)的運行故障有很重要的參考意義。參考現(xiàn)有的功能和現(xiàn)場客戶的需求,未來考慮增加網(wǎng)絡通信功能傳輸記錄數(shù)據(jù),進而減少上車讀取數(shù)據(jù)的次數(shù),同時,考慮增加U盤更新程序的功能。
[參考文獻]
[1]佚名.數(shù)據(jù)手冊:STM32F407 ARM Cortex-M4處理器[EB/OL].(2007-10-31)[2019-07-25].http://dl.21ic.com/download/ic-273116.html.
[2]喻金錢,喻斌.STM32F系列ARMCortex-M3核微控制器開發(fā)與應用[M].北京:清華大學出版社,2011.