基于ARM7的網(wǎng)關通信模塊設計
4 軟件實現(xiàn)方案
在本設計中,關鍵是實現(xiàn)MVB總線和CAN總線之間的數(shù)據(jù)交換,它具有MVB檢測和接入功能,以及CAN總線檢測和接入功能,通過處理器控制數(shù)據(jù)幀的解析和重新封裝,實現(xiàn)符合CAN總線V2.0規(guī)范和MVB標準格式幀的相互轉換。因此從CAN側接收到的數(shù)據(jù)要通過MVB傳輸,就需要按照一定的格式把CAN幀中的數(shù)據(jù)組合成MVB幀的數(shù)據(jù)格式;同樣從MVB側接收到的數(shù)據(jù)要通過CAN傳輸,也需要按照一定的格式對MVB幀中的數(shù)據(jù)進行分幀處理。另外,為了實現(xiàn)透明傳輸需要在MVB端口中將各種變量的含義按照一定的規(guī)則和CAN總線側幀的標識符等信息對應,從而形成一個表格,同樣在CAN總線側也將CAN側的標識符與MVB側的過程數(shù)據(jù)的數(shù)據(jù)集進行對應形成表格。
軟件主要由主函數(shù)調度模塊、MVB控制模塊、CAN控制模塊以及2個數(shù)據(jù)緩沖組成。當CAN應用層有數(shù)據(jù)要發(fā)送到MVB網(wǎng)絡時,主函數(shù)需調度模塊得到CAN數(shù)據(jù)傳輸后調度CAN控制模塊接收數(shù)據(jù),解碼分析獲取標識符,依據(jù)標識符查詢索引表找出對應MVB端口相關變量,后將報文中的相關數(shù)據(jù)提取出來發(fā)送到數(shù)據(jù)緩沖區(qū)B。主函數(shù)調度模塊通知MVB控制模塊從緩沖區(qū)B中提取數(shù)據(jù),并進行完整的MVB報文封裝,發(fā)送到MVB總線上,釋放緩沖區(qū)B。反過來,當MVB應用層有數(shù)據(jù)要發(fā)送到CAN節(jié)點時,首先,數(shù)據(jù)發(fā)送到MVB上,主函數(shù)調度模塊檢測MVB上是否有數(shù)據(jù)傳輸,通知MVB控制模塊接受數(shù)據(jù),并對信息解碼分析,從中獲取端口相關變量,依據(jù)端口相關變量查詢索引表找出對應CAN標識符,同時將數(shù)據(jù)發(fā)送到數(shù)據(jù)緩沖區(qū)A。此時,總調度模塊通知CAN控制模塊從緩沖區(qū)A中提取數(shù)據(jù),并進行完整的CAN報文封裝,發(fā)送到CAN總線上,釋放緩沖區(qū)A。CAN控制模塊主要負責從CAN數(shù)據(jù)包中解析出完整CAN協(xié)議報文,存入數(shù)據(jù)緩沖區(qū)B。同時,將數(shù)據(jù)緩沖區(qū)A中的CAN數(shù)據(jù)封裝成完整的CAN協(xié)議報文后發(fā)送到CAN總線上。MVB控制模塊主要負責從MVB數(shù)據(jù)包中解析出完整MVB協(xié)議報文,存入數(shù)據(jù)緩沖區(qū)A。同時,將數(shù)據(jù)緩沖區(qū)B中的MVB數(shù)據(jù)封裝成完整的MVB協(xié)議報文后發(fā)送到MVB上??傉{度模塊主要起到綜合調度和監(jiān)控作用,同時,它還用于整個傳輸過程中的中斷響應。
圖3說明了軟件流程框圖。
5 結語
本文描述了基于ARM7處理器LPC2294的MVB-CAN通信模塊的實現(xiàn)方法,概述了MVB網(wǎng)絡和CAN總線網(wǎng)絡的報文結構,提出通信模塊的硬、軟件實現(xiàn)方法。通過考核該通信模塊實現(xiàn)了MVB與CAN總線間的數(shù)據(jù)傳遞,其性能穩(wěn)定,可靠性高。各種現(xiàn)場總線都有各自應用特點及優(yōu)勢。所以,多類型總線異構組網(wǎng)方式在列車通信網(wǎng)絡中的應用越來越廣泛。MVB及CAN總線的異構組網(wǎng)方式具有廣闊的市場前景。MVB-CAN通信模塊的設計為列車通信網(wǎng)絡的多元化發(fā)展提供了支持,也為其他網(wǎng)絡異構組網(wǎng)(例如:RS 485/RS 422-MVB,HDLC-MVB等)方式的網(wǎng)絡通信模塊設計提供了參考。
評論