新聞中心

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

        基于ARM7的網(wǎng)關(guān)通信模塊設(shè)計(jì)

        作者: 時(shí)間:2012-08-24 來(lái)源:網(wǎng)絡(luò) 收藏

        4 軟件實(shí)現(xiàn)方案

          在本中,關(guān)鍵是實(shí)現(xiàn)MVB總線和CAN總線之間的數(shù)據(jù)交換,它具有MVB檢測(cè)和接入功能,以及CAN總線檢測(cè)和接入功能,通過(guò)處理器控制數(shù)據(jù)幀的解析和重新封裝,實(shí)現(xiàn)符合CAN總線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總線側(cè)幀的標(biāo)識(shí)符等信息對(duì)應(yīng),從而形成一個(gè)表格,同樣在CAN總線側(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í)符查詢索引表找出對(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總線上,釋放緩沖區(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)變量查詢索引表找出對(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總線上,釋放緩沖區(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總線上。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ō)明了軟件流程框圖。

        圖3 軟件流程框圖

          5 結(jié)語(yǔ)

          本文描述了處理器LPC2294的MVB-CAN模塊的實(shí)現(xiàn)方法,概述了MVB網(wǎng)絡(luò)和CAN總線網(wǎng)絡(luò)的報(bào)文結(jié)構(gòu),提出模塊的硬、軟件實(shí)現(xiàn)方法。通過(guò)考核該模塊實(shí)現(xiàn)了MVB與CAN總線間的數(shù)據(jù)傳遞,其性能穩(wěn)定,可靠性高。各種現(xiàn)場(chǎng)總線都有各自應(yīng)用特點(diǎn)及優(yōu)勢(shì)。所以,多類型總線異構(gòu)組網(wǎng)方式在列車通信網(wǎng)絡(luò)中的應(yīng)用越來(lái)越廣泛。MVB及CAN總線的異構(gòu)組網(wǎng)方式具有廣闊的市場(chǎng)前景。MVB-CAN通信模塊的為列車通信網(wǎng)絡(luò)的多元化發(fā)展提供了支持,也為其他網(wǎng)絡(luò)異構(gòu)組網(wǎng)(例如:RS 485/RS 422-MVB,HDLC-MVB等)方式的網(wǎng)絡(luò)通信模塊提供了參考。


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 绥滨县| 新绛县| 泸西县| 阿克苏市| 大兴区| 广德县| 峡江县| 庐江县| 奈曼旗| 赣榆县| 盘锦市| 溧阳市| 阿荣旗| 壤塘县| 双城市| 额济纳旗| 东平县| 家居| 定结县| 孝昌县| 琼中| 宁远县| 连山| 荆州市| 庆安县| 荔波县| 财经| 全椒县| 镇坪县| 五大连池市| 集安市| 瑞昌市| 炎陵县| 兴文县| 会宁县| 克什克腾旗| 四川省| 淮滨县| 无棣县| 太仓市| 宁蒗|