張虎


摘 ?要:針對某型號客車軸溫報警器的通訊模塊故障率偏高、檢修工作量大的問題,文章設計了基于STM32的程序實現(xiàn)通訊模塊的數(shù)據(jù)收發(fā)功能測試。介紹了采用調制解調器實現(xiàn)RS232串口的遠距離傳輸數(shù)據(jù),詳細介紹了通過設計實現(xiàn)客車軸溫報警器各自獨立對等的工作,軟件采用IAR編譯環(huán)境。試驗結果表明,該方案可以有效解決客運列車軸溫報警器通訊模塊故障率偏高的問題。
關鍵詞:軸溫報警器;STM32;獨立對等
中圖分類號:TP274.2 ? ? 文獻標識碼:A ? ? ?文章編號:1006-8937(2015)36-0009-01
1 ?概 ?述
鐵路運輸是現(xiàn)代交通運輸中的重要手段,為了確保高速運行下列車安全運行,列車上都安裝了超速防護和集中式客車軸溫報警器等安全裝置。客車軸溫報警器在軸溫達到警戒值以后會自動報警,提醒有關人員及時采取防范措施,確保列車運行安全[1]。我國鐵路干線密布,客運列車數(shù)量多,一列客車可以掛20多節(jié)車廂,運行時每節(jié)車廂都要配備一個軸溫報警器。因此,軸溫報警器的數(shù)量需求龐大。
某型號軸溫報警器主要由單片機控制器、液晶顯示器、直流開關電源和調制解調器等組成。該型號軸溫報警器在數(shù)模兼容、數(shù)字濾波、抗干擾和可靠性等方面的優(yōu)勢使其很快在客運列車軸報器的使用中占據(jù)了市場。由于各種原因,此型軸報器的通訊模塊故障率偏高,檢修工作量大,故需設計程序實現(xiàn)通訊模塊的數(shù)據(jù)收發(fā)功能測試。
2 ?系統(tǒng)硬件設計
測試時將待測軸溫報警器報與標準軸溫報警器用廣播線對接(不分主從),兩者通過Modem(調制解調器)相連接,待測機通過J-Link JTAG連接到PC機,通過IAR編譯器調試程序,若數(shù)據(jù)收發(fā)正常則設備內通訊模塊的軟硬件合格,測試結果顯示在PC機屏幕上。根據(jù)設計要求,設計選用Cortex-M3內核的STM32F107VCT6單片機,該處理器資源豐富能對多個操作并行執(zhí)行,滿足設計的要求[2]。
根據(jù)EIA-RS-232C 接口標準:遠距離通信采用Modem時,需要9根信號線;近距離只需要3根信號線。這些信號線由接口電路提供,以便與Modem或終端進行聯(lián)絡與控制。測試系統(tǒng)提供了2個標準RS232串口,連接STM32中的異步串行收發(fā)器。工作中Modem還需經過了一個變壓器獲得更大的輸出功率后與另一個Modem相連接。Modem的外接變壓器的原理圖,如圖1所示。
3 ?系統(tǒng)軟件設計
3.1 ?多主機網絡
一般的分主從模式的通訊中主機需要不停的詢問從機是否需要發(fā)送數(shù)據(jù),從機之間不能相互通信,需通過主機作為中間中轉站。而當主機需要處理某個緊急問題時,不得不等待問詢叢機結束后再處理,即浪費了主機和從機的時間,又容易在處理緊急情況時出現(xiàn)系統(tǒng)的崩潰。該型號軸溫報警系統(tǒng)中,每一臺控制顯示器既是主機,也是從機。它是通過順序發(fā)送的方式來完成信息交換的。當某一臺儀器發(fā)送信息時,其它機器都處于接收狀態(tài),發(fā)送完成后就轉變成接收狀態(tài),克服了主從模式主機輪詢的缺點,各個終端軸溫報警器也由被動變?yōu)榱酥鲃印_@種方式的優(yōu)點是所有的信息全部共享,速度快,即使某一臺儀器發(fā)生故障,也不會使網絡癱瘓。這種通訊模式也稱之為多主機網絡模式[3]。
3.2 ?主程序編寫
通信協(xié)議的設計是軟件設計的重點。在實際應用中,很多時候單機片之間的通信環(huán)境都是比較好的,協(xié)議不是很復雜。測試通信程序流程圖,如圖2所示。
①數(shù)據(jù)雙方均使用9 600 kbps的速率傳輸數(shù)據(jù),A機和B機不分主從通信,使用查詢方式互相接收和發(fā)送信息,下面以A機發(fā)送數(shù)據(jù)時B機接收數(shù)據(jù)為例。
②雙機開始數(shù)據(jù)傳輸時,A機發(fā)送呼叫信號11H啟動握手過程,詢問B機是否可以接收數(shù)據(jù)。
③B機接收到握手信號后,如果同意接收數(shù)據(jù)則應當信號01H,表示等待接收,否則發(fā)應答信號00H,表示暫時不能接收數(shù)據(jù)。
④A機在發(fā)送呼叫信號后等待,直接接收B機的應答信號00H,才確認完成握手協(xié)議過程,開始發(fā)送數(shù)據(jù),否則,A機繼續(xù)發(fā)送呼叫信號。
⑤B機在接收完數(shù)據(jù)后,將根據(jù)最后的檢驗結果判斷接收是否正確,正確就向主機發(fā)送AAH,表示接收成功,發(fā)送FFH,表示錯誤,要求重發(fā)。
⑥A機接收到AAH字節(jié),則表示通信結束,否則A機重發(fā)這組數(shù)據(jù)。根據(jù)流程圖進行了通信主體程序的編寫。
4 ?結 ?語
串行通信具有結構簡單、可靠性高等優(yōu)點,而且串行通信有一定的糾錯力,并且成本比較低。實驗結果在串口調試助手的調試界面運行得到了通過,結果表明該程序與設計思想可以有效解決此型軸報器的通訊模塊故障率偏高的問題,該通訊模塊已經運用于實際產品。
參考文獻:
[1] 張家棟,田宏萍.關于列車安全狀態(tài)監(jiān)測和診斷系統(tǒng)的研究[J].內燃機 ? 車,2000,(11).
[2] 李寧.基于MDK的STM32處理器開發(fā)應用[M].北京:北京航空航天大
學出版社,2008.
[3] 胡明飛,楊艷,漆靜群,等.基于RS485的多主機通信協(xié)議的設計[J].自動 ? 化儀表,2015,(7).