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