<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 基于SAE J1939協(xié)議的發(fā)動機總線數(shù)據(jù)模擬器開發(fā)

          基于SAE J1939協(xié)議的發(fā)動機總線數(shù)據(jù)模擬器開發(fā)

          作者: 時間:2010-06-29 來源:網(wǎng)絡 收藏
          在車載網(wǎng)絡的開發(fā)過程中,需要節(jié)點向總線網(wǎng)絡發(fā)送報文,為了降低成本,提高開發(fā)效率,模擬。基于 巾車輛應用層子標準及應用層診斷子標準,通過軟件編程進行總線數(shù)據(jù)模擬器的開發(fā),模擬總線網(wǎng)絡中的發(fā)動機ECU節(jié)點,向總線網(wǎng)絡發(fā)送報文,從而測試總線網(wǎng)絡上的另一節(jié)點儀表,檢驗儀表是否工作正常。

          1 概述
          標準是美國汽車工程師協(xié)會(SAE)發(fā)布的以CAN總線為核心的車輛網(wǎng)絡串行通訊和控制,采用多路復用技術為車輛上各傳感器、執(zhí)行器和控制器提供在CAN總線基礎上的標準化高速網(wǎng)絡連接,在車輛電子裝置之間實現(xiàn)高速數(shù)據(jù)共享,有效減少電子線束的數(shù)量,提高車輛電子控制系統(tǒng)的靈活性、可靠性、可維修性及標準化程度。
          1.1 SAE J1939協(xié)議簡介
          J1939協(xié)議包括12個子標準。本文主要涉及車輛應用層及應用層診斷2個子標準。車輛應用層子標準(SAEJl939/71)規(guī)定了車輛控制控制參數(shù)的格式,包括參數(shù)范圍、分辨率、類型及刷新率,數(shù)據(jù)場各位的含義;應用層診斷子標準(SAEJl939/73)主要針對排放的要求規(guī)定了12種診斷結果信息。
          1.2 協(xié)議數(shù)據(jù)單元
          SAE J1939應用層協(xié)議采用協(xié)議數(shù)據(jù)單元PDU傳遞信息,PDU由優(yōu)先級P、保留位R、數(shù)據(jù)頁DP、PDU格式PF、PDU特定域PS(可作為目標地址、組擴展或專用)、源地址SA和數(shù)據(jù)域7部分組成,如表1所示。每個PDU相當于CAN協(xié)議中的一幀,它們將被分組封裝在一個或多個CAN數(shù)據(jù)幀中,通過物理介質傳送到其他網(wǎng)絡裝置。

          本文引用地址:http://www.ex-cimer.com/article/197663.htm



          2 總體方案設計
          在開發(fā)過程中,通過調用USBCAN-Ⅱ接口卡庫端口函數(shù),利用CAN總線實現(xiàn)上位機與下位機之間的通訊。發(fā)動機總線數(shù)據(jù)模擬器通過USBCAN-II智能接口向總線儀表發(fā)送數(shù)據(jù)并實時顯示,達到測試儀表的目的。系統(tǒng)結構如圖1所示。


          該系統(tǒng)主要包括6大功能模塊,分別是發(fā)動機參數(shù)報文發(fā)送模塊、發(fā)動機故障報文發(fā)送模塊、CAN幀信息顯示模塊、虛擬儀表模塊、實時參數(shù)曲線模塊和儀表測試模塊。系統(tǒng)軟件采用C#環(huán)境開發(fā),運行于Windows平臺。系統(tǒng)開發(fā)的總體流程是:首先實現(xiàn)與USBCAN-Ⅱ接口卡的通訊,連接成功后,在主界面選擇需要實現(xiàn)的功能,然后執(zhí)行相關模塊的操作。在關閉程序的同時,關閉USBCAN-Ⅱ接口卡。程序開發(fā)流程如圖2所示。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();