基于SAE J1939協(xié)議的車輛信息采集與診斷模塊
摘要:本文在CAN總線技術(shù)與SAE J1939協(xié)議的基礎(chǔ)上,提出了基于Cortex-M3內(nèi)核微控制器的車輛信息采集與診斷模塊系統(tǒng)設(shè)計(jì)。詳細(xì)介紹了SAE J1939協(xié)議的報(bào)文及內(nèi)容格式,以及系統(tǒng)硬件、軟件開發(fā)過(guò)程,并指出了設(shè)計(jì)中需要注意的環(huán)節(jié)。該模塊通過(guò)對(duì)CAN總線及各傳感器數(shù)據(jù)的讀取和處理,能夠穩(wěn)定可靠地提供車輛工況數(shù)據(jù),并可集成到車載多媒體系統(tǒng)和虛擬數(shù)字儀表等其他車載產(chǎn)品中。
關(guān)鍵詞:車輛工程;SAE J1939協(xié)議;CAN總線;Cortex-M3
0 引言
當(dāng)前,汽車電子化程度不斷提高,大量采用基于微處理器的電控單元(ECU)對(duì)汽車的各個(gè)功能模塊進(jìn)行信息采集及控制。由于ECU數(shù)量眾多,為了提高信號(hào)的利用率,要求在不同的ECU間,大量的數(shù)據(jù)狀態(tài)信息能夠?qū)崿F(xiàn)共享,大量的控制信號(hào)能夠?qū)崟r(shí)交換。同時(shí),車載多媒體設(shè)備、虛擬數(shù)字儀表等產(chǎn)品也需要實(shí)時(shí)獲取車輛工況信息。因此傳統(tǒng)線束已遠(yuǎn)遠(yuǎn)不能滿足這種需求。
CAN總線及基于CAN的車輛通信應(yīng)用層協(xié)議提供了解決上述問(wèn)題的途徑。目前SAE J1939是汽車行業(yè)應(yīng)用最為廣泛的CAN應(yīng)用層協(xié)議之一。本文提出的基于CAN和SAE J1939的車輛信息采集與診斷模塊能夠?qū)崟r(shí)獲取車輛的車速、油壓、制動(dòng)壓力、發(fā)動(dòng)機(jī)轉(zhuǎn)速等重要信息,在車輛發(fā)生故障時(shí)及時(shí)定位車輛故障,并可集成到車載多媒體、虛擬儀表等產(chǎn)品中,為車輛駕駛?cè)藛T提供直觀實(shí)時(shí)的車輛工況。
1 SAE J1939協(xié)議介紹
SAE J1939協(xié)議是美國(guó)汽車工程師協(xié)會(huì)(SAE)在CAN2.0B協(xié)議基礎(chǔ)上制定的客車和重型貨車網(wǎng)絡(luò)通信應(yīng)用層協(xié)議,在目前汽車電子網(wǎng)絡(luò)中得到廣泛應(yīng)用。該協(xié)議采用CAN總線的數(shù)據(jù)幀封裝其數(shù)據(jù)信息,并明確規(guī)定了汽車內(nèi)部各ECU的名稱、地址、通訊協(xié)議、優(yōu)先級(jí)等信息,使用多路復(fù)用技術(shù)為車輛各傳感器、執(zhí)行器和控制器提供建立在CAN總線基礎(chǔ)上的標(biāo)準(zhǔn)化高速網(wǎng)絡(luò)連接,在不同的ECU間實(shí)現(xiàn)高速數(shù)據(jù)共享,以期有效減少線束數(shù)量并提高車輛電子控制系統(tǒng)的靈活性、可靠性、可維修性。目前,車輛的ECU產(chǎn)品大都帶有遵循SAE J1939協(xié)議的CAN總線接口。這為車輛信息的快速采集和故障的在線診斷定位提供了便利。
1.1 SAE J1939報(bào)文格式
SAE J1939在通訊中是負(fù)責(zé)數(shù)據(jù)傳輸?shù)膫鬏攨f(xié)議,其功能分為數(shù)據(jù)的拆分打包和重組及連接管理兩部分。其數(shù)據(jù)幀是以PDU(協(xié)議數(shù)據(jù)單元)為單位傳送信息,每個(gè)PDU相當(dāng)于CAN協(xié)議中的一幀。PDU由29位標(biāo)識(shí)符和O~8個(gè)字節(jié)的數(shù)據(jù)所組成,如表l所示。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í)別兩個(gè)PDI格式(PDUl、PDU2):替代遠(yuǎn)程請(qǐng)求位SRR和標(biāo)識(shí)符擴(kuò)展位IDE在CAN2.0B中己詳細(xì)定義,并未包含在PDU內(nèi);PS場(chǎng)由PF值決定其包含一個(gè)目標(biāo)地址(DA)還是包含一個(gè)對(duì)PDU格式PF的組擴(kuò)展(GE);SA為源地址。
1.2 SAE J1939應(yīng)用層
應(yīng)用層定義了針對(duì)車輛應(yīng)用的信號(hào)(參數(shù))和報(bào)文(參數(shù)組)。應(yīng)用層通過(guò)參數(shù)描述信號(hào),給每個(gè)參數(shù)分配了一個(gè)19位的可疑參數(shù)編號(hào)(SP-N);此外還通過(guò)參數(shù)組描述報(bào)文,給每個(gè)參數(shù)組分配了一個(gè)24位的參數(shù)組編號(hào)(PGN)。SPN用來(lái)標(biāo)識(shí)與ECU相關(guān)的故障診斷元素、部件或參數(shù)組中參數(shù);PGN用來(lái)唯一標(biāo)識(shí)一個(gè)特定參數(shù)組。除已分配的參數(shù)和參數(shù)組外,用戶還可通過(guò)分配未使用的SPN給自定義參數(shù)和定義專有報(bào)文對(duì)應(yīng)用層進(jìn)行補(bǔ)充。
評(píng)論