伴隨著需求不斷提升(車身數(shù)據(jù)傳輸速率和帶寬需求),為了滿足需求將以太網(wǎng)引進(jìn)到車載網(wǎng)絡(luò)中。車載以太網(wǎng)在診斷傳輸層的應(yīng)用協(xié)議是ISO 13400(Diagnostic On IP—DoIP),定義的是從物理層到應(yīng)用層搭建通信橋梁的規(guī)則。
DoIP—協(xié)議框架
DoIP—物理連接
DoIP—車輛聲明
DoIP——通信建立
DoIP—診斷通信
DoIP—Alive Check
關(guān)于DoIP文章匯總和思考
基于DoIP使用CANoe.DiVa用于UDS一致性測試
基于CANoe的DoIP測試實(shí)現(xiàn)
CANoe—基于DoIP通過CAPL實(shí)現(xiàn)與ECU通信測試
上述文章自己總結(jié)的都是偏向具備內(nèi)容,針對的是在基于車載以太網(wǎng)進(jìn)行診斷通信,搭建通信橋梁的整個過程(對于DoIP可以理解為DoIP是搭建通信橋梁的規(guī)則)。今天自己想基于ISO 13400協(xié)議總結(jié)下偏系統(tǒng)的概述性的內(nèi)容,以方便后續(xù)自己查閱。一、基于車載以太網(wǎng)的診斷系統(tǒng)分析首先如下圖,ISO 13400協(xié)議開篇示意圖:- 需要選定車載總線類型:-Tx、-T1、BroadR-Reach,具體選定那種總線類型,需要參看各家車規(guī)芯片、接口特性;
- Software、Hardware工程師根據(jù)不同類型定義驅(qū)動;
- 基于診斷范疇需求參看IEEE 802.3(國際上定義無線通信的協(xié)議簇)、ISO 13400-3定義以太網(wǎng)在車身做診斷接口參數(shù)(比如激活線特性);
上述內(nèi)容可以在如上圖OSI七層模型清晰看到(對應(yīng)協(xié)議名稱)。在車載診斷范疇,傳輸層中應(yīng)用的協(xié)議是ISO 13400。該協(xié)議的目的是建立物理層到應(yīng)用層的通信橋梁,該規(guī)則可以保證診斷通信鏈路的穩(wěn)定和安全。DoIP是Diagnostic on IP,相當(dāng)于診斷在車載以太網(wǎng)的應(yīng)用。報文傳輸?shù)妮d體還是傳統(tǒng)互聯(lián)網(wǎng)的TCP/UDP/IP協(xié)議(這些協(xié)議1980年就已經(jīng)提出,經(jīng)歷了時間和市場的考驗(yàn)),DoIP協(xié)議就是定義一系列規(guī)則,使用不同的幀類型(在協(xié)議中,通過Payload Type)來搭建通信流程:在ISO 14229-2中定義了診斷范疇需要用到的時間參數(shù):該ISO 14229子類中定義了診斷過程中相應(yīng)的時間參數(shù)(P2、P2*、S3等)通過示意圖,詳細(xì)直觀說明了時間參數(shù)在診斷過程中的定義。應(yīng)用層是實(shí)現(xiàn)診斷功能(OSI七層模型),具體的診斷功能如下所示:都是在此層實(shí)現(xiàn),對應(yīng)的協(xié)議是ISO 14229-1。因?yàn)榇藭r診斷報文是基于車載以太網(wǎng)傳輸,所以需要查看ISO 14229-5(該文是UDS協(xié)議在在車載以太網(wǎng)上的具體應(yīng)用和具體限制),因?yàn)?/span>UDS在不同的車載總線應(yīng)用是不同的,因此通過不同的子類(子類-3到-7,對應(yīng)不同的車載總線)加以說明。二、車載以太網(wǎng)典型網(wǎng)絡(luò)拓?fù)?/span>由于車載以太網(wǎng)有很好的網(wǎng)絡(luò)延展性,可以點(diǎn)對點(diǎn),也可以應(yīng)用交換機(jī)等策略實(shí)現(xiàn)良好的車載網(wǎng)絡(luò)拓?fù)洹?br>考慮到車載以太網(wǎng)后續(xù)會有遠(yuǎn)程無線應(yīng)用,在ISO 13400中給出了如下網(wǎng)絡(luò)拓?fù)涫疽鈭D:在ISO 13400協(xié)議中只有邊緣節(jié)點(diǎn)可以連接外部Tester(嚴(yán)格按照ISO協(xié)議的話)。并且車身內(nèi)部節(jié)點(diǎn)定義時會有邏輯地址,這樣的話,Tester只知道車內(nèi)節(jié)點(diǎn)的邏輯地址,Tester將該請求發(fā)送至GW時,GW內(nèi)部有邏輯地址和真實(shí)地址的Map關(guān)系表,這樣可以有效的保護(hù)車內(nèi)節(jié)點(diǎn)數(shù)據(jù)安全。只有GW可以解析邏輯地址和真實(shí)地址之間的關(guān)系,這樣雖然可以有效的保護(hù)數(shù)據(jù)安全,但是也造成了GW很大的負(fù)荷,會形成通信“堵塞”現(xiàn)象。讓Tester經(jīng)過安全認(rèn)證,GW充當(dāng)路由功能,Tester直接根據(jù)真實(shí)地址直接跟ECU進(jìn)行通信(GW無腦轉(zhuǎn)發(fā))。最新版 ISO 13400協(xié)議將信息安全因素考慮進(jìn)去,在整個通信橋梁搭建過程中增加了TLS(Transport Layer Security),具體通信流程如下圖:在ISO 13400協(xié)議中關(guān)于車輛邊緣節(jié)點(diǎn)IP地址有兩種方式:但考慮到現(xiàn)階段整車數(shù)量,多數(shù)OEM采用是靜態(tài)IP地址(IPV4偏多)。車輛將自身的識別信息以廣播形式自發(fā)三次(上電后)于所在網(wǎng)絡(luò),Tester若未獲取,進(jìn)行通信前可進(jìn)行車輛信息請求.PS:需要注意的是這個過程有許多時間參數(shù)需要注意,后續(xù)我會以文章形式整理出來。以DoIP Payload Type 0005/0006來激活車載以太網(wǎng)診斷通信套接字(Socket),也就是TCP進(jìn)行三次握手連接后,執(zhí)行該動作,激活診斷通信功能。此時Tester會發(fā)送DoIP Payload Type 8001的診斷請求進(jìn)行診斷通信,邊緣節(jié)點(diǎn)接受到請求后會回復(fù)DoIP Payload Type 8002的ACK,告知Tester收到診斷請求,與此同時會發(fā)送診斷請求給車內(nèi)具體節(jié)點(diǎn)。車內(nèi)節(jié)點(diǎn)收到后會給予診斷相應(yīng)(此時DoIP Payload Type 8001)。PS:若邊緣節(jié)點(diǎn)判定Tester發(fā)送的診斷請求有無效信息時:等等,此時邊緣節(jié)點(diǎn)會回復(fù)DoIP Payload Type 8003的NACK。PS:車內(nèi)節(jié)點(diǎn)之間通信可不用嚴(yán)格按照DoIP協(xié)議定義流程(俗稱閹割版DoIP協(xié)議)。----------------------------------- 作者簡介 | 穿拖鞋的漢子 汽車電子工程師 公眾號:車載診斷技術(shù) chuantuoxiedehanzi@163.com 來,每天進(jìn)步一點(diǎn)點(diǎn)!
|