基于SAE J1939協(xié)議的發(fā)動機模擬系統(tǒng)開發(fā)
CAN總線以其優(yōu)異性能在汽車局域網中占有重要地位。IS011992,IS011783以及SAE J1939都是基于CAN總線的汽車系統(tǒng)通訊協(xié)議,其中SAE J1939性能最好,是目前大型車輛采用最多的一種通信協(xié)議。分析研究SAE J1939協(xié)議,有助于推進CAN通信總線在國內汽車通信中的應用,并對制定上層協(xié)議具有重要意義。該系統(tǒng)設計正是基于對SAE J1939的應用層的理解,利用軟件編程,模擬發(fā)送發(fā)動機信息,從而為總線儀表硬件設計提供良好的測試環(huán)境。
2 SAE J1939協(xié)議概述
SAE J1939標準是美國汽車工程師協(xié)會(Societv of Auto―motive Engineers,簡稱SAE)發(fā)布的以CAN總線為核心的車輛網絡串行通訊和控制協(xié)議,SAE J1939協(xié)議以CAN2.0B協(xié)議為基礎,通訊速率最高可達250 Kb/s。它對汽車內部ECU的地址配置、命名、通訊方式以及報文發(fā)送優(yōu)先級等都給出明確規(guī)定,并且詳細說明汽車內部各個共體的ECU通訊。SAE J1939應用層協(xié)議詳細描述了SAE J1939網絡的參數,包括數據長度、數據類型、分辨率、范圍及參考標簽,并為每個參數分配一個編號(SPN)。采用協(xié)議數據單元(ProtocolData Unit,簡稱PDU)傳送信息,每個PDU相當于CAN協(xié)議的一幀。SAE J1939是傳輸數據協(xié)議,其功能分為數據的拆分打包和重組連接管理兩部分。PDU是由29位標識符和0~8個字節(jié)的數據組成,如圖1所示。SAE J1939利用29位標識符(CAN擴展幀)提供一種完整的網絡定義。圖1中,P位確定報文優(yōu)先級的前3位;R為保留位;DP是數據頁位:PF場識別2個PDI格式(PDUl,PDU2);替代遠程請求位SRR和標識符擴展位IDE,未包含在PDU內;PS場由PF值決定其包含一個目標地址(DA)還是包含一個對PDU格式PF的組擴展(GE);SA為源地址。
SAE J1939采用多路復用技術為汽車的各種傳感器、執(zhí)行器和控制器提供在CAN總線基礎上建立的標準化高速網絡連接,從而在車載電子裝置之間實現高速數據共享,有效減少電子線束數量,提高車輛電子控制系統(tǒng)的靈活性、可靠性、可維修性和標準化程度,最大限度發(fā)揮CAN優(yōu)異性能。
3 系統(tǒng)設計方案
發(fā)動機模擬系統(tǒng)通過USB CAN一Ⅱ智能接口向總線儀表CAN接口卡傳輸數據,同時總線儀表通過USBCAN-Ⅱ接口卡應答模擬系統(tǒng),如圖2所示。該系統(tǒng)設計C#環(huán)境下開發(fā),Windows平臺上運行。該系統(tǒng)設計具有發(fā)動機參數報文、發(fā)動機故障報文、發(fā)動機儀表測試等主要功能模塊,以及單幀或多幀可選的發(fā)送方式。通過調用USBCAN一Ⅱ接口卡庫端口函數,利用CAN總線傳輸實現上位機與下位機之間的通訊,模擬發(fā)送發(fā)動機各種參數,如冷卻液溫度、進氣溫度、機油壓力等,還可利用虛擬儀表評估總線儀表步進電機的誤差。
USB CAN-Ⅱ雙路智能CAN接口卡具有2個CAN通道(汽車型)。它采用16位微控制器,具有強大功能,支持即插即用。板上16位微控制器能夠控制CAN控制器的發(fā)送和接收任務,即使在總線負載較重的情況下,仍可有效支持帶有時間標志的CAN報文的過濾、預處理和存儲以及CAN報文的實時傳輸等功能。通過編程調用USB CAN一Ⅱ輔助的通用CAN―bus接口函數庫,能有效支持CAN系統(tǒng)基于PC的應用。程序設計流程圖如圖3所示。
評論