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