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