• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM處理器的網關通信模塊研制

    基于ARM處理器的網關通信模塊研制

    作者: 時間:2012-07-17 來源:網絡 收藏

    4 軟件實現方案
    在本設計中,關鍵是實現MVB總線和CAN總線之間的數據交換,它具有MVB檢測和接入功能,以及CAN總線檢測和接入功能,通過控制數據幀的解析和重新封裝,實現符合CAN總線V2.0規范和MVB標準格式幀的相互轉換。因此從CAN側接收到的數據要通過MVB傳輸,就需要按照一定的格式把CAN幀中的數據組合成MVB幀的數據格式;同樣從MVB側接收到的數據要通過CAN傳輸,也需要按照一定的格式對MVB幀中的數據進行分幀處理。另外,為了實現透明傳輸需要在MVB端口中將各種變量的含義按照一定的規則和CAN總線側幀的標識符等信息對應,從而形成一個表格,同樣在CAN總線側也將CAN側的標識符與MVB側的過程數據的數據集進行對應形成表格。
    軟件主要由主函數調度、MVB控制、CAN控制以及2個數據緩沖組成。當CAN應用層有數據要發送到MVB網絡時,主函數需調度模塊得到CAN數據傳輸后調度CAN控制模塊接收數據,解碼分析獲取標識符,依據標識符查詢索引表找出對應MVB端口相關變量,后將報文中的相關數據提取出來發送到數據緩沖區B。主函數調度模塊通知MVB控制模塊從緩沖區B中提取數據,并進行完整的MVB報文封裝,發送到MVB總線上,釋放緩沖區B。反過來,當MVB應用層有數據要發送到CAN節點時,首先,數據發送到MVB上,主函數調度模塊檢測MVB上是否有數據傳輸,通知MVB控制模塊接受數據,并對信息解碼分析,從中獲取端口相關變量,依據端口相關變量查詢索引表找出對應CAN標識符,同時將數據發送到數據緩沖區A。此時,總調度模塊通知CAN控制模塊從緩沖區A中提取數據,并進行完整的CAN報文封裝,發送到CAN總線上,釋放緩沖區A。CAN控制模塊主要負責從CAN數據包中解析出完整CAN協議報文,存入數據緩沖區B。同時,將數據緩沖區A中的CAN數據封裝成完整的CAN協議報文后發送到CAN總線上。MVB控制模塊主要負責從MVB數據包中解析出完整MVB協議報文,存入數據緩沖區A。同時,將數據緩沖區B中的MVB數據封裝成完整的MVB協議報文后發送到MVB上。總調度模塊主要起到綜合調度和監控作用,同時,它還用于整個傳輸過程中的中斷響應。
    圖3說明了軟件流程框圖。

    本文引用地址:http://www.czjhyjcfj.com/article/148757.htm

    c.JPG



    5 結語
    本文描述了7LPC2294的MVB-CAN模塊的實現方法,概述了MVB網絡和CAN總線網絡的報文結構,提出模塊的硬、軟件實現方法。通過考核該模塊實現了MVB與CAN總線間的數據傳遞,其性能穩定,可靠性高。各種現場總線都有各自應用特點及優勢。所以,多類型總線異構組網方式在列車通信網絡中的應用越來越廣泛。MVB及CAN總線的異構組網方式具有廣闊的市場前景。MVB-CAN通信模塊的設計為列車通信網絡的多元化發展提供了支持,也為其他網絡異構組網(例如:RS 485/RS 422-MVB,HDLC-MVB等)方式的網絡通信模塊設計提供了參考。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 邛崃市| 洛隆县| 澜沧| 色达县| 和田县| 陈巴尔虎旗| 武义县| 内丘县| 正安县| 泌阳县| 澄江县| 大洼县| 股票| 八宿县| 柳河县| 通榆县| 江山市| 柳林县| 綦江县| 晋江市| 长治县| 开平市| 乐平市| 常熟市| 会同县| 舒兰市| 遵义市| 井研县| 盐边县| 建宁县| 金川县| 紫云| 右玉县| 镇坪县| 威远县| 吕梁市| 永宁县| 双桥区| 仪征市| 自治县| 新沂市|