基于SAE J1939協(xié)議的發(fā)動(dòng)機總線(xiàn)數據模擬器開(kāi)發(fā)
1 SAE J1939協(xié)議概述
SAE J1939標準是美國汽車(chē)工程師協(xié)會(huì )(SAE)發(fā)布的以CAN總線(xiàn)為核心的車(chē)輛網(wǎng)絡(luò )串行通訊和控制協(xié)議,采用多路復用技術(shù)為車(chē)輛上各傳感器、執行器和控制器提供在CAN總線(xiàn)基礎上的標準化高速網(wǎng)絡(luò )連接,在車(chē)輛電子裝置之間實(shí)現高速數據共享,有效減少電子線(xiàn)束的數量,提高車(chē)輛電子控制系統的靈活性、可靠性、可維修性及標準化程度。
1.1 SAE J1939協(xié)議簡(jiǎn)介
J1939協(xié)議包括12個(gè)子標準。本文主要涉及車(chē)輛應用層及應用層診斷2個(gè)子標準。車(chē)輛應用層子標準(SAEJl939/71)規定了車(chē)輛控制控制參數的格式,包括參數范圍、分辨率、類(lèi)型及刷新率,數據場(chǎng)各位的含義;應用層診斷子標準(SAEJl939/73)主要針對排放的要求規定了12種診斷結果信息。
1.2 協(xié)議數據單元
SAE J1939應用層協(xié)議采用協(xié)議數據單元PDU傳遞信息,PDU由優(yōu)先級P、保留位R、數據頁(yè)DP、PDU格式PF、PDU特定域PS(可作為目標地址、組擴展或專(zhuān)用)、源地址SA和數據域7部分組成,如表1所示。每個(gè)PDU相當于CAN協(xié)議中的一幀,它們將被分組封裝在一個(gè)或多個(gè)CAN數據幀中,通過(guò)物理介質(zhì)傳送到其他網(wǎng)絡(luò )裝置。
2 總體方案設計
在開(kāi)發(fā)過(guò)程中,通過(guò)調用USBCAN-Ⅱ接口卡庫端口函數,利用CAN總線(xiàn)實(shí)現上位機與下位機之間的通訊。發(fā)動(dòng)機總線(xiàn)數據模擬器通過(guò)USBCAN-II智能接口向總線(xiàn)儀表發(fā)送數據并實(shí)時(shí)顯示,達到測試儀表的目的。系統結構如圖1所示。
該系統主要包括6大功能模塊,分別是發(fā)動(dòng)機參數報文發(fā)送模塊、發(fā)動(dòng)機故障報文發(fā)送模塊、CAN幀信息顯示模塊、虛擬儀表模塊、實(shí)時(shí)參數曲線(xiàn)模塊和儀表測試模塊。系統軟件采用C#環(huán)境開(kāi)發(fā),運行于Windows平臺。系統開(kāi)發(fā)的總體流程是:首先實(shí)現與USBCAN-Ⅱ接口卡的通訊,連接成功后,在主界面選擇需要實(shí)現的功能,然后執行相關(guān)模塊的操作。在關(guān)閉程序的同時(shí),關(guān)閉USBCAN-Ⅱ接口卡。程序開(kāi)發(fā)流程如圖2所示。
評論