摘 要:隨著車(chē)輛上的電子電氣系統(tǒng)復(fù)雜性的提高,來(lái)自系統(tǒng)性失效、隨機(jī)硬件失效和軟件故障的風(fēng)險(xiǎn)也日益增加,因此,車(chē)輛在運(yùn)行過(guò)程中需要監(jiān)測(cè)車(chē)輛電子電氣系統(tǒng)的運(yùn)行狀況,根據(jù)故障判定算法判斷車(chē)輛的電子電氣系統(tǒng)是否存在故障,并在故障發(fā)生時(shí),將故障碼和相關(guān)的數(shù)據(jù)存儲(chǔ)下來(lái),后期可以使用診斷儀通過(guò)車(chē)載診斷服務(wù)讀取故障碼和相關(guān)的數(shù)據(jù),以定位故障并分析故障發(fā)生的原因。而目前車(chē)輛內(nèi)應(yīng)用最廣泛的網(wǎng)絡(luò)形態(tài)是控制器局域網(wǎng),因此基于控制器局域網(wǎng)的車(chē)載診斷服務(wù)研究對(duì)于提升車(chē)輛系統(tǒng)或產(chǎn)品的可靠性,確保駕乘人員及路人的安全,提高國(guó)內(nèi)車(chē)企的設(shè)計(jì)開(kāi)發(fā)、流程和管理水平都有著重要的意義。
關(guān)鍵詞:控制器局域網(wǎng);車(chē)載診斷服務(wù);意義
0 引言
控制器局域網(wǎng)(Controller Area Network,以下簡(jiǎn)稱(chēng)CAN)作為現(xiàn)場(chǎng)總線(xiàn)是汽車(chē)企業(yè)為解決現(xiàn)代車(chē)輛中眾多的控制和數(shù)據(jù)交換問(wèn)題所開(kāi)發(fā)的通信協(xié)議。CAN總線(xiàn)是一種多主總線(xiàn),應(yīng)用于車(chē)輛的CAN總線(xiàn)通信介質(zhì)多為雙絞線(xiàn),通信速率最高可達(dá)1Mbps。由于CAN總線(xiàn)具有數(shù)據(jù)結(jié)構(gòu)較短、非破壞性總線(xiàn)仲裁技術(shù)以及靈活的通信方式特點(diǎn),已被全世界眾多汽車(chē)企業(yè)采用,成為最重要的汽車(chē)總線(xiàn)標(biāo)準(zhǔn)。而基于CAN網(wǎng)絡(luò)故障診斷也越來(lái)越受到了各大汽車(chē)廠(chǎng)商的重視,汽車(chē)廠(chǎng)商通常在國(guó)際上統(tǒng)一的診斷通信標(biāo)準(zhǔn)的基礎(chǔ)上構(gòu)建自己的整車(chē)診斷網(wǎng)絡(luò)。國(guó)際上針對(duì)基于CAN網(wǎng)絡(luò)的診斷通信技術(shù)已經(jīng)比較成熟,具備完善的配套標(biāo)準(zhǔn)。國(guó)際標(biāo)準(zhǔn)化組織ISO已經(jīng)制定了覆蓋整個(gè)診斷協(xié)議棧的國(guó)際標(biāo)準(zhǔn)(包括ISO 15765《道路車(chē)輛 基于控制器局域網(wǎng)的診斷通信》系列標(biāo)準(zhǔn)和ISO14229《道路車(chē)輛 統(tǒng)一的診斷服務(wù)》系列標(biāo)準(zhǔn)等),這些標(biāo)準(zhǔn)在全世界范圍內(nèi)已經(jīng)得到廣泛的實(shí)施和應(yīng)用,在規(guī)范和引導(dǎo)車(chē)載診斷系統(tǒng)技術(shù)發(fā)展發(fā)揮了重大作用。
1 車(chē)載診斷系統(tǒng)標(biāo)準(zhǔn)協(xié)議棧
車(chē)載診斷系統(tǒng)遵循開(kāi)放系統(tǒng)互聯(lián)(以下簡(jiǎn)稱(chēng)OSI)基本參考模型,該模型是國(guó)際標(biāo)準(zhǔn)化組織(ISO)于1984年提出的分層網(wǎng)絡(luò)體系結(jié)構(gòu)模型,其定義的是一種抽象機(jī)構(gòu),而并非具體實(shí)現(xiàn)的描述,其目的是支持異構(gòu)網(wǎng)絡(luò)系統(tǒng)的互聯(lián)互通。OSI參考模型將通信系統(tǒng)劃分為七層,從上至下依次是應(yīng)用層(第7層),表示層(第6層),會(huì)話(huà)層(第5層),傳輸層(第4層),網(wǎng)絡(luò)層(第3層),數(shù)據(jù)鏈路層(第2層)和物理層(第1層)。各層的目的是向上層提供服務(wù)。其中,物理層是利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,實(shí)現(xiàn)比特流的透明傳輸,一般情況下,物理層進(jìn)行信道編碼或解碼,保障數(shù)據(jù)傳輸?shù)目煽啃?數(shù)據(jù)鏈路層主要保障在物理鏈路上進(jìn)行數(shù)據(jù)的可靠傳遞,數(shù)據(jù)或指令被封裝成特定的可被物理層傳輸?shù)膸?,還包括訪(fǎng)問(wèn)控制、資源管理、數(shù)據(jù)分段、級(jí)聯(lián)、糾錯(cuò)等功能;網(wǎng)絡(luò)層負(fù)責(zé)進(jìn)行路由選擇,從而確定兩節(jié)點(diǎn)之間的路徑,可以進(jìn)行流量控制;傳輸層負(fù)責(zé)為會(huì)話(huà)層提供網(wǎng)絡(luò)線(xiàn)路,即傳輸通路;會(huì)話(huà)層負(fù)責(zé)兩節(jié)點(diǎn)之間會(huì)話(huà)建立、維持和終止;表示層負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行編碼或解碼,從而將數(shù)據(jù)轉(zhuǎn)換為兼容或適合的傳輸格式,也可以進(jìn)行數(shù)據(jù)的解密與加密;應(yīng)用層負(fù)責(zé)為應(yīng)用程序(或用戶(hù))提供服務(wù)。
車(chē)載診斷系統(tǒng)按照應(yīng)用場(chǎng)景和應(yīng)用目的不同,從協(xié)議棧層面分為三類(lèi),第一類(lèi)是增強(qiáng)型診斷,主要用于車(chē)輛制造商開(kāi)發(fā)車(chē)載診斷系統(tǒng),第二類(lèi)是排放相關(guān)車(chē)載診斷系統(tǒng)(OBD),第三類(lèi)是全球協(xié)調(diào)車(chē)載診斷系統(tǒng)(WWH-OBD),主要應(yīng)用于商用車(chē),本文主要針對(duì)基于控制器局域網(wǎng)的增強(qiáng)型車(chē)載診斷展開(kāi)研究。
增強(qiáng)型車(chē)載診斷系統(tǒng)遵循OSI架構(gòu),針對(duì)OSI架構(gòu)的每一個(gè)層級(jí),國(guó)際標(biāo)準(zhǔn)化組織都制定了相應(yīng)的國(guó)際標(biāo)準(zhǔn),并在全球汽車(chē)行業(yè)中得到廣泛的實(shí)施和應(yīng)用(見(jiàn)表1)。
2 傳輸層和網(wǎng)絡(luò)層
增強(qiáng)型診斷的傳輸層和網(wǎng)絡(luò)層定義了網(wǎng)絡(luò)節(jié)點(diǎn)間數(shù)據(jù)交互使用的傳輸層和網(wǎng)絡(luò)層通信協(xié)議,例如從一個(gè)ECU到另一個(gè)ECU或外部測(cè)試設(shè)備和一個(gè)ECU之間的通信,其主要任務(wù)是傳輸報(bào)文,并且提供了分段、流控制傳輸和重組的方法。
CAN總線(xiàn)上的單個(gè)數(shù)據(jù)幀每幀只能傳輸8個(gè)字節(jié),根據(jù)需要傳輸?shù)脑\斷服務(wù)數(shù)據(jù)大小,可以使用單幀或多幀的方式進(jìn)行傳輸。采用單幀傳輸時(shí),可以傳輸六個(gè)(擴(kuò)展或混合尋址)或七個(gè)(常規(guī)尋址)數(shù)據(jù)字節(jié);如要傳輸較長(zhǎng)報(bào)文,要先將其分段再傳輸多個(gè)網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(以下簡(jiǎn)稱(chēng)N_PDU)。多個(gè)N_PDU包括首幀(報(bào)文的第一個(gè)N_PDU)及連續(xù)幀(所有后續(xù)N_PDU),多個(gè)N_PDU報(bào)文的接收端通過(guò)流控機(jī)制使傳輸吞吐量適合自身容量,如圖1所示。
首幀,即第一幀(FF)只能用于傳輸不適用于單個(gè)CAN幀傳輸?shù)膱?bào)文(即分段報(bào)文)。收到FF后,網(wǎng)絡(luò)層接收實(shí)體應(yīng)開(kāi)始重組分段報(bào)文。
發(fā)送分段數(shù)據(jù)時(shí),將首幀以后所有連續(xù)的幀編碼為連續(xù)幀(CF)。收到連續(xù)幀后,網(wǎng)絡(luò)層接收實(shí)體應(yīng)重組接收到的數(shù)據(jù)字節(jié),直到所有報(bào)文接收完畢。正確接收到最后一幀報(bào)文后,接收實(shí)體應(yīng)將重組報(bào)文傳遞至相鄰的上層協(xié)議層。
流控幀的目的是調(diào)節(jié)向接收端發(fā)送連續(xù)數(shù)據(jù)幀的速率,流控機(jī)制允許接收端將其能力通知發(fā)送端,如果發(fā)送實(shí)體傳輸?shù)拈L(zhǎng)度超出接收實(shí)體緩沖區(qū)大小,流控幀也可以在分段報(bào)文傳輸期間指示網(wǎng)絡(luò)發(fā)送實(shí)體暫停傳輸后續(xù)的連續(xù)幀,或終止傳輸分段報(bào)文。
3 應(yīng)用層
應(yīng)用層服務(wù)通常稱(chēng)為診斷服務(wù),用于基于客戶(hù)端-服務(wù)器端的系統(tǒng),以執(zhí)行諸如車(chē)載車(chē)輛服務(wù)端的測(cè)試,檢查,監(jiān)控或診斷等功能??蛻?hù)端(通常稱(chēng)為診斷設(shè)備)使用應(yīng)用層服務(wù)來(lái)請(qǐng)求在一個(gè)或多個(gè)服務(wù)端中執(zhí)行診斷功能。服務(wù)器端(通常作為ECU的部分功能)使用應(yīng)用層服務(wù)將由請(qǐng)求的診斷服務(wù)提供的響應(yīng)數(shù)據(jù)發(fā)送回客戶(hù)端,客戶(hù)端應(yīng)用層和服務(wù)器應(yīng)用層的診斷通信典型交互過(guò)程如圖2所示??蛻?hù)端通常是非車(chē)載診斷儀,但在某些系統(tǒng)中也可以是車(chē)載診斷儀,同一車(chē)輛系統(tǒng)中允許有多個(gè)客戶(hù)端。應(yīng)用層根據(jù)診斷交互的需求,能夠提供多種診斷服務(wù),其中最為常用的診斷服務(wù)包括診斷和通信管理類(lèi)功能和數(shù)據(jù)傳輸類(lèi)功能,如表2和表3所示。
4 總結(jié)
汽車(chē)設(shè)計(jì)中的一大難點(diǎn)是如何預(yù)先評(píng)估潛在的危害和風(fēng)險(xiǎn),并采取適當(dāng)?shù)姆椒ê痛胧﹣?lái)降低風(fēng)險(xiǎn)。隨著電子電氣系統(tǒng)復(fù)雜性的提高,來(lái)自系統(tǒng)性失效、隨機(jī)硬件失效和軟件故障的風(fēng)險(xiǎn)也日益增加。因此,車(chē)載診斷服務(wù)對(duì)于車(chē)輛的整體安全性的作用也日益重要。
參考文獻(xiàn):
[1]ISO 15765-1:2011,道路車(chē)輛 基于控制器局域網(wǎng)的診斷通信(DoCAN)第1部分:一般信息和用例定義[S].
[2]ISO 15765-2:2016,道路車(chē)輛 基于控制器局域網(wǎng)的診斷通信(DoCAN)第2部分:傳輸層協(xié)議和網(wǎng)絡(luò)層服務(wù)[S].
[3]ISO 14229-1:2020,道路車(chē)輛 統(tǒng)一的診斷服務(wù) 第1部分:應(yīng)用層[S].
作者簡(jiǎn)介:吳含冰(1984-),女,河南焦作人,碩士研究生,中級(jí)工程師,主要從事汽車(chē)標(biāo)準(zhǔn)化研究工作。