新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于ARM7的MVB_CAN網(wǎng)關(guān)設(shè)計

基于ARM7的MVB_CAN網(wǎng)關(guān)設(shè)計

作者: 時間:2011-03-25 來源:網(wǎng)絡(luò) 收藏

本系統(tǒng)的軟件模塊主要有CAN模塊、MVB控制模塊、總?cè)蝿?wù)處理模塊、以及數(shù)據(jù)緩沖模塊。其中CAN控制模塊主要負(fù)責(zé)從CAN數(shù)據(jù)包中解析
出完整的CAN協(xié)議報文,并存入數(shù)據(jù)緩沖區(qū)2,同時將數(shù)據(jù)緩沖區(qū)A中的CAN數(shù)據(jù)封裝成完整的CAN協(xié)議報文后發(fā)送到CAN總線上;MVB控制模塊主要負(fù)責(zé)從MVB數(shù)據(jù)包中解析出完整的MVB協(xié)議報文,并將其存人數(shù)據(jù)緩沖區(qū)1,同時再將數(shù)據(jù)緩沖NB中的MVB數(shù)據(jù)封裝成完整的MVB協(xié)議報文后發(fā)送到MVB上;總?cè)蝿?wù)處理模塊主要起綜合調(diào)度和監(jiān)控作用,同時,它還用于整個傳輸過程中的中斷響應(yīng);緩沖區(qū)模塊主要負(fù)責(zé)將CAN側(cè)和MVB側(cè)接收的數(shù)據(jù)存儲到緩沖區(qū)中。
程序的整體思路是當(dāng)CAN側(cè)數(shù)據(jù)發(fā)往MVB側(cè)時,首先使CAN側(cè)檢測到有數(shù)據(jù)傳過來,總處理模塊通過調(diào)用CAN模塊處理函數(shù)來接收數(shù)據(jù),并通過對CAN幀的解碼來獲取CAN標(biāo)志符,然后調(diào)用應(yīng)用層轉(zhuǎn)換表(inbus-to-outbus)以查詢出相應(yīng)的MVB端口的相關(guān)變量,接著再把相
應(yīng)的數(shù)據(jù)發(fā)送到數(shù)據(jù)緩沖區(qū)2中,最后由總?cè)蝿?wù)處理模塊通知MVB控制模塊將緩沖區(qū)2中數(shù)據(jù)取走,并對數(shù)據(jù)進(jìn)行MVB幀格式的編碼,再發(fā)送到
MVB總線上后釋放緩沖區(qū)。
同樣,當(dāng)MVB側(cè)數(shù)據(jù)發(fā)往CAN側(cè)時,首先將數(shù)據(jù)發(fā)送到MVB上,然后由總?cè)蝿?wù)處理模塊檢測MVB上是否有數(shù)據(jù)傳輸,并通知MVB控制模塊接收數(shù)據(jù),同時對信息進(jìn)行解碼分析,從中獲取端口相關(guān)變量,依據(jù)端口相關(guān)變量查詢應(yīng)用層轉(zhuǎn)換表(out-to-inbus),找出對應(yīng)CAN標(biāo)識符,同時將數(shù)據(jù)發(fā)送到數(shù)據(jù)緩沖區(qū)1。此時,總?cè)蝿?wù)處理模塊可通過CAN控制模塊從緩沖區(qū)1中提取數(shù)據(jù)并進(jìn)行完整的CAN報文封裝,再發(fā)送到CAN總線上并釋放緩沖區(qū)A。其中,MVB側(cè)發(fā)往CAN側(cè)的主程序流程如圖6所示。

本文引用地址:http://butianyuan.cn/article/156540.htm

e.JPG



5 結(jié)束語
本文主要介紹了MVB-CAN的硬件和軟件實現(xiàn)方法。其中,應(yīng)用層協(xié)議的轉(zhuǎn)換是整個的主要工作所在,所以,時必須建立盡量完善的關(guān)系對應(yīng)列表,同時應(yīng)提供友好的用戶接口函數(shù)。
通過MVB-CAN網(wǎng)關(guān)的可以實現(xiàn)機(jī)車內(nèi)車載設(shè)備間不同接口單元之間的通訊,從而為列車通信網(wǎng)絡(luò)的多元化發(fā)展提供有力的支持。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉