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