許靈斐 黎揚(yáng) 王兆喜
四輪獨(dú)立驅(qū)動(dòng)電動(dòng)汽車控制系統(tǒng)對(duì)通信確定性有更高的要求?;谄嚳偩€開發(fā)V模式流程,從四輪獨(dú)立驅(qū)動(dòng)控制系統(tǒng)通信需求出發(fā),設(shè)計(jì)其FlexRay通信網(wǎng)絡(luò)。采用Network Designer生成網(wǎng)絡(luò)數(shù)據(jù)庫(kù),導(dǎo)入到CANoe.FlexRay軟件對(duì)網(wǎng)絡(luò)進(jìn)行了全仿真、半實(shí)物仿真,驗(yàn)證了所設(shè)計(jì)的FlexRay通信網(wǎng)絡(luò)的協(xié)議參數(shù)的正確性,最后將該網(wǎng)絡(luò)用于樣車中。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的FlexRay通信網(wǎng)絡(luò)完全可用于四輪獨(dú)立驅(qū)動(dòng)電動(dòng)車控制系統(tǒng),具有較高的可靠性、確定性及實(shí)時(shí)性,能夠滿足控制系統(tǒng)的通信需求。
隨著車輛中ECU(Electronic Control Unit)數(shù)量增加,CAN(Controller Area Network)網(wǎng)絡(luò)已經(jīng)在車輛控制器通信中越來越普遍[1]。
汽車故障診斷技術(shù)的發(fā)展,使得車輛故障維修已經(jīng)從人識(shí)別故障轉(zhuǎn)變?yōu)榭刂破魍ㄟ^傳感器診斷故障。
目前,故障診斷中,診斷通信協(xié)議存在
兩種,在轎車上一般采用ISO15745以及ISO14229協(xié)議,而在商用車上,一般采用SAE J1939協(xié)議。
2 商用車故障診斷通信系統(tǒng)概述
診斷通信系統(tǒng)包含以下幾個(gè)部分:
車內(nèi)CAN通信網(wǎng)絡(luò)、車內(nèi)ECU,CAN適配器,以及診斷上位機(jī)軟件。
某型商用混合動(dòng)力汽車CAN網(wǎng)絡(luò)拓?fù)浞譃镃AN1低壓網(wǎng)絡(luò)和CAN2高壓網(wǎng)絡(luò)。CAN3網(wǎng)絡(luò)用于診斷數(shù)據(jù)和HCU標(biāo)定數(shù)據(jù)的發(fā)送。HCU(Hybrid Control Uint)是混合動(dòng)力汽車的控制中樞,其在高壓和低壓網(wǎng)絡(luò)上.在混合動(dòng)力控制的過程中,HCU必須要實(shí)時(shí)獲取其他各個(gè)模塊的故障狀態(tài),所以其他各個(gè)ECU通過CAN報(bào)將各自模塊的故障上傳給HCU,HCU將故障信息匯總,通過SAE J1939標(biāo)準(zhǔn)診斷通信協(xié)議將故障傳給外部診斷設(shè)備。另外HCU通過與自身連接的外部傳感器,診斷由其直接控制的部件的故障狀態(tài)。
應(yīng)用層和診斷層支持的J1939-73標(biāo)準(zhǔn)協(xié)議,主要完成具體的診斷任務(wù)。定義了診斷消息DM1(Diagnistci Message)-DM21用于傳輸發(fā)動(dòng)機(jī)參數(shù)數(shù)據(jù)、凍結(jié)幀數(shù)據(jù)以及標(biāo)定、Bootloader數(shù)據(jù)等。
3 SAE J1939診斷通信網(wǎng)絡(luò)層設(shè)計(jì)
CAN報(bào)文的一幀只能傳輸8個(gè)字節(jié)的數(shù)據(jù),當(dāng)需要傳輸?shù)臄?shù)據(jù)多于8個(gè)字節(jié)時(shí),就需要采用多包傳輸機(jī)制來完成數(shù)據(jù)的傳輸。在J1939協(xié)議中,網(wǎng)絡(luò)層由J1939-21定義。
從該CAN報(bào)文的數(shù)據(jù)中,從ID場(chǎng)讀出SA,PGN以及Priority,數(shù)據(jù)長(zhǎng)度和具體的數(shù)據(jù),后交給其他軟件模塊處理。
當(dāng)有數(shù)據(jù)需要發(fā)送時(shí),首先需要根據(jù)數(shù)據(jù)的字節(jié)數(shù)計(jì)算一共需要發(fā)送的幀數(shù)。如果該數(shù)據(jù)為廣播數(shù)據(jù),則不需要考慮[2]其他節(jié)點(diǎn)的響應(yīng),只需要在傳輸時(shí)間參數(shù)范圍內(nèi)將數(shù)據(jù)發(fā)送出去。如果不是廣播的數(shù)據(jù),則需要按照多包傳輸協(xié)議。它是點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸,首先發(fā)送CM_RTS請(qǐng)求報(bào)文,并啟動(dòng)定時(shí)器,開始等待接收節(jié)點(diǎn)發(fā)送CM_CTS報(bào)文。如果CM_CTS報(bào)文超時(shí),則發(fā)送放棄連接報(bào)文Abort報(bào)文,放棄連接原因?yàn)闀r(shí)間超時(shí)。
4 故障診斷系統(tǒng)測(cè)試
在Microsoft Visual C++基于MFC開發(fā)了商用車的故障診斷軟件,該軟件通過硬件USB-CAN卡連接到車輛的診斷CAN網(wǎng)絡(luò)上
5.1 診斷儀進(jìn)行故障診斷
啟動(dòng)故障診斷軟件,讀取HCU內(nèi)部的故障碼。
5.2 凍結(jié)參數(shù)讀取
車輛在故障時(shí)候的狀態(tài)參數(shù)有助于幫助維修,所以本系統(tǒng)會(huì)將車輛在故障時(shí)的參數(shù)保存,當(dāng)外部有請(qǐng)求的時(shí)候,使用DM9(凍結(jié)幀)將該數(shù)據(jù)發(fā)送出來。
讀到的凍結(jié)幀參數(shù)如圖12所示。
(作者單位:重慶郵電大學(xué))