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