石聰 劉洋
關(guān)鍵詞:車載以太網(wǎng);DoIP診斷協(xié)議;傳輸速率;通信場景;物理連接
0引言
隨著科技的發(fā)展,現(xiàn)如今人們對車輛需求已不止于代步,智能化、網(wǎng)絡(luò)化、科技化成為人們關(guān)注的焦點。車輛智能化就意味著如駕駛輔助系統(tǒng)(ADAS)、環(huán)視監(jiān)控系統(tǒng)和車載影像系統(tǒng)(FCS)等高科技電子控制單元在車輛上應(yīng)用越來越普及,對于車內(nèi)電子控制單元之間的網(wǎng)絡(luò)通信速率要求也越來越高。傳統(tǒng)的CAN總線已不能滿足信息高速傳輸要求,故引入了車載以太網(wǎng)技術(shù)[1]。
車載以太網(wǎng)是指車內(nèi)電子控制單元通過以太網(wǎng)技術(shù)實現(xiàn)相互通信并形成局域網(wǎng)。和傳統(tǒng)以太網(wǎng)不同的是,傳統(tǒng)以太網(wǎng)需要4對非屏蔽雙絞線才能實現(xiàn)通信,而車載以太網(wǎng)使用單對雙絞線即可實現(xiàn)穩(wěn)定的雙全工通信,且傳輸速率最高可達到1000Mb/s[2]。
1DoIP技術(shù)應(yīng)用
1.1DoIP概述
DoIP(DiagnosticCommunicationoverInternetProtocol,基于IP的診斷協(xié)議)的主要作用是建立外部測試設(shè)備與車載網(wǎng)絡(luò)之間的診斷連接。在診斷服務(wù)中,DoIP相對于傳統(tǒng)的CAN診斷具有以下顯著優(yōu)勢。
(1)高速率。通常DoIP診斷傳輸速率采用100Mb/s,在復(fù)雜的診斷任務(wù)(如軟件刷寫、在線檢測或軟件升級等)中能夠?qū)崿F(xiàn)高速率傳輸,可節(jié)約時間,提高效率。
(2)低成本。可使用成熟的以太網(wǎng)標準硬件組件(如以太網(wǎng)控制器、Cat5線纜和RJ-45連接器),無需經(jīng)過硬件VCI,通過以太網(wǎng)接口連接電子控制單元即可實現(xiàn)通信,且能兼容CAN/CANFD通信。
(3)應(yīng)用范圍廣。DoIP技術(shù)可實現(xiàn)本地診斷、遠程診斷和空中下載技術(shù)(OTA)等功能。
DoIP是位于OSI模型中的應(yīng)用層,通過TCP/UDP協(xié)議傳輸,物理層與數(shù)據(jù)鏈路層遵循ISO13400標準,應(yīng)用層遵循ISO14229-5標準。如DoIP的網(wǎng)絡(luò)節(jié)點支持Internet連接,則該節(jié)點應(yīng)支持基于IEEE802接口連接的遠程診斷[3-4]。
1.2DoIP通信場景
車載以太網(wǎng)的DoIP協(xié)議主要應(yīng)用于售后診斷、ECU刷寫等場景,針對不同的應(yīng)用環(huán)境,連接方式也有一定差異。
(1)直接點對點連接:用于車輛開發(fā)、測試和售后場景。點對點連接進行診斷通信時,車內(nèi)系統(tǒng)不會受到來自其他車輛或設(shè)備的干擾,外部測試設(shè)備也很明確對應(yīng)需要物理連接的車輛。
(2)通過網(wǎng)絡(luò)的點對點連接:適用于多臺車輛同時在維修店進行檢測、維修。車輛與外部測試設(shè)備都應(yīng)具備識別能力與自動接入到已存在的IP網(wǎng)絡(luò)的能力,在局域網(wǎng)絡(luò)內(nèi)識別出所需要連接的對象,并拒絕來自其他車輛或者設(shè)備的請求信號。
(3)單個外部測試設(shè)備與多個車輛的網(wǎng)絡(luò)連接:適用于整批量汽車在制造工廠或售后維修店進行程序刷寫。此種連接方式只需外部測試設(shè)備有點對多連接的能力,車內(nèi)節(jié)點對外部測試設(shè)備進行響應(yīng)。
(4)多個外部測試設(shè)備與單個車輛的網(wǎng)絡(luò)連接:車內(nèi)節(jié)點同時有刷寫和診斷需求時,需要一臺外部設(shè)備對車內(nèi)節(jié)點進行刷寫,另一臺外部設(shè)備對另一節(jié)點進行診斷。此時車輛需要具備區(qū)分診斷請求以及反饋的能力。外部設(shè)備則需要有判斷當前車輛是否在與其他設(shè)備進行通訊的能力,根據(jù)實際情況判斷是進入等待或進入socket連接。
2DoIP系統(tǒng)機制研究
2.1DoIP診斷架構(gòu)
車輛診斷構(gòu)架分為車內(nèi)網(wǎng)絡(luò)與車外網(wǎng)絡(luò)兩部分,其中車內(nèi)網(wǎng)絡(luò)包含以下幾部分。
(1)DoIP節(jié)點:基于DoIP協(xié)議通信的網(wǎng)絡(luò)節(jié)點,但只能作為通信節(jié)點,不能支持路由DoIP報文。
(2)DoIP網(wǎng)關(guān):車輛內(nèi)部網(wǎng)關(guān),實現(xiàn)DoIP協(xié)議的主機節(jié)點;可路由其連接的子網(wǎng)與外部設(shè)備之間的報文。
(3)DoIP邊緣節(jié)點網(wǎng)關(guān):負責路由外部設(shè)備和車內(nèi)子網(wǎng)之間信息,通過激活線與外部測試設(shè)備連接,需要以太網(wǎng)激活線先對及進行激活,才能實現(xiàn)通信。
車外網(wǎng)絡(luò)包括以下兩部分。
(1)外部測試設(shè)備:指支持DoIP協(xié)議且具有強大存儲能力與處理能力的終端(如PC、筆記本電腦或手機)。外部測試設(shè)備通過DoIP協(xié)議訪問車輛內(nèi)部網(wǎng)絡(luò)中的DoIP實體。
(2)車外網(wǎng)絡(luò)節(jié)點:此類節(jié)點作為與DoIP系統(tǒng)相關(guān)的網(wǎng)絡(luò)節(jié)點并不是必須存在的,是作為一些車聯(lián)網(wǎng)網(wǎng)絡(luò)中的其他功能節(jié)點。
DoIP診斷的車內(nèi)網(wǎng)絡(luò)與車外網(wǎng)絡(luò)架構(gòu)如圖1所示。可以看到,外部測試設(shè)備與DoIP邊緣節(jié)點之間除了通過物理介質(zhì)鏈接以外,還可以通過WLAN技術(shù)進行無線網(wǎng)絡(luò)連接。
2.2物理連接要求
測試設(shè)備(Tester)與DoIP邊緣節(jié)點連接線由4根支持100BASE-T或10BASE-T的數(shù)據(jù)傳輸線與激活線K線組成,Tester端通過以太網(wǎng)網(wǎng)口連接,車輛通過OBDII端口連接。外部測試設(shè)備是通過改變硬線激活線電壓來控制車內(nèi)DoIP邊緣節(jié)點控制器的激活與停用。硬線激活線的電壓要求范圍如圖2所示。
激活線的作用是降低功耗和抗電磁干擾,為避免由地面移位或電磁干擾引起的隨機誤激活,ISO13400標準中規(guī)定,激活線的禁用電壓閾值(Vinactive)為2V。如以太網(wǎng)在已停用狀態(tài),DoIP邊緣節(jié)點在低于2V的電壓時不會被激活。當激活電壓在5~32V(Vactive~Vmax)并保持200ms后,邊緣節(jié)點硬件被激活。
因此可在接收電路中設(shè)計一個小于200ms的濾波器時間常數(shù),能夠保持200ms。當Vact介于Vactive和Vmax之間時,以太網(wǎng)硬件應(yīng)保持激活狀態(tài)。激活線電壓低于Vinactive的200ms后,邊緣節(jié)點失活,表明可以停用以太網(wǎng)硬件。當激活線處于“保持有效”狀態(tài)時,應(yīng)允許通信,但只有在檢測到鏈路后才能進行通信。
車輛DoIP診斷接口采用標準的OBDII接口,要求其不僅可支持傳統(tǒng)CAN診斷,也可支持以太網(wǎng)DoIP診斷。故而布置時也應(yīng)同時滿足以太網(wǎng)IEEE802標準與ISO15031-3標準(或SAEJ1962協(xié)議)。當前通用的端子布局有以下2種模式。
第一種模式是1號和9號端子用于CAN診斷協(xié)議,3號、11號、12號和13號端子用于以太網(wǎng)DoIP診斷協(xié)議,8號端子用于布置DoIP網(wǎng)絡(luò)激活線。
第二種模式是3號和11號端子用于CAN診斷協(xié)議,1號、9號、12號和13號端子用于DoIP診斷協(xié)議。與第一種相同的是,8號端子同樣用于布置DoIP網(wǎng)絡(luò)激活線。
由于目前主機廠多采用3號和11號端子作為CAN網(wǎng)絡(luò)診斷,故此處推薦第二種布置方式。
2.3DoIP報文格式
DoIP協(xié)議支持IPv4與IPv6協(xié)議,以及對應(yīng)的地址解析ARP協(xié)議、NDP協(xié)議以及控制報文協(xié)議ICMP。目前車載以太網(wǎng)仍以IPv4協(xié)議為主,基于對網(wǎng)絡(luò)發(fā)展的考慮,隨著地址的增加,會逐漸過渡到IPv6協(xié)議。所有統(tǒng)一網(wǎng)段的DoIP都必須使用相同的IP協(xié)議版本。由于DoIP在OSI模型中位于應(yīng)用層,故DoIP報文前要封裝ETH首部、IP首部及TCP/UDP首部。DoIP報文包括協(xié)議版本號、版本號取反、負載類型、負載長度及DoIP數(shù)據(jù)[5]。以太網(wǎng)報文封裝格式如圖3所示。
版本號占1個字節(jié),標識DoIP協(xié)議版本編號,取值范圍為0x00至0xFF,通常取0x02(ISO13400-2-2012《道路車輛——互聯(lián)網(wǎng)協(xié)議的診斷通信(DoIP).第2部分:傳輸協(xié)議和網(wǎng)絡(luò)層服務(wù)》)。
版本號取反占1個字節(jié),是版本號與0xFF邏輯運算異或的值。如版本號為0x02,則版本號取反則為0xFD。版本號取反值與版本號值配合起到協(xié)議驗證的作用,以確保接DoIP報文的準確性。
負載類型占2個字節(jié),用于判斷數(shù)據(jù)用途,其用途主要分成3組:節(jié)點管理類報文、節(jié)點狀態(tài)類報文和診斷類報文。節(jié)點管理類報文0x0001至0x0004用于識別車輛請求,在外部測試設(shè)備與DoIP邊緣節(jié)點建立診斷連接前的交互。0x0005和0x0006用于激活請求與響應(yīng),激活后socket使能并建立socket鏈接,才可以進行診斷通信;0x0007和0x0008用于檢查當前建立的診斷連接socket是否仍然在使用,如果不再使用,則關(guān)閉socket釋放資源。
節(jié)點狀態(tài)類報文0x4001至0x4004,指示當前節(jié)點類型。診斷類報文0x8001至0x8003,標識外部測試設(shè)備與DoIP實體之間的診斷報文類型,分別代表診斷報文、診斷肯定響應(yīng)報文和診斷否定響應(yīng)報文。在DoIP協(xié)議中,通過不同的負載類型來區(qū)分報文類型以實現(xiàn)不同具體的功能,其發(fā)送方式都是通過TCP/UDP協(xié)議。
負載長度占4個字節(jié),標識DoIPPayload長度,不包括DoIP首部長度。
DoIPPayload可占0-4294967295個字節(jié),包括源地址、目標地址及UserData(如診斷報文)。該部分字節(jié)長度不是固定不變的,而是根據(jù)不同負載類型調(diào)整,要求根據(jù)數(shù)據(jù)負載類型的不同對Payload長度進行計算,以保證數(shù)據(jù)傳輸?shù)耐暾浴?/p>
2.4DoIP通信流程
當外部測試設(shè)備與車內(nèi)DoIP實體建立網(wǎng)絡(luò)連接時,首先進行物理連接,DHPC自動配置IP地址。其次由DoIP實體主動發(fā)出3次聲明報文,廣播其VIN、EID、GID和邏輯地址,根據(jù)ISO13400標準規(guī)定,3次報文間隔時間在0~500ms。此時外部測試設(shè)備如果沒有收到或漏收了3次聲明報文,則需要外部測試設(shè)備主動向車內(nèi)DoIP實體發(fā)送請求,等待500ms的時間間隔后,收到DoIP實體響應(yīng)。
外部測試設(shè)備選擇對應(yīng)的車輛,請求DoIP實體打開TCP_DATAsocket。DoIP實體需確認當前申請socket是否未被占用,接收報文的源地址是否被其他TCP_DATAsocket占用。如當前申請的TCPsocket已被占用或SA已被其他TCP_DATAsocket占用,則發(fā)送激活否定響應(yīng)報文,關(guān)閉當前報文的socket;如均未被占用,則繼續(xù)進行初始化TCP_DATAsocket。之后外部測試設(shè)備向DoIP實體發(fā)送路由激活請求,DoIP實體進行通用DoIP首部處理和路由激活處理,注冊TCP_DATAsocket,并對外部測試設(shè)備的激活請求進行響應(yīng),從而完成路由激活連接。
外部測試設(shè)備發(fā)送診斷報文到DoIP實體,DoIP實體經(jīng)過通用DoIP首部處理及DoIP診斷處理后,向外部測試設(shè)備發(fā)送確認接收的診斷響應(yīng)。再由DoIP實體向車內(nèi)節(jié)點發(fā)送診斷請求,等待車內(nèi)節(jié)點反饋診斷響應(yīng)后,由DoIP實體向外部測試設(shè)備發(fā)送診斷響應(yīng)。此處,DoIP實體可以支持與車內(nèi)非DoIP實體的電子控制單元ECU(ElectronicControlUnit)通信。
如當前無診斷需求時,由外部測試設(shè)備向DoIP實體發(fā)送關(guān)閉TCP_DATAsocket命令,DoIP實體執(zhí)行釋放TCP_DATAsocket,以備下一次診斷服務(wù)中使用。
3結(jié)束語
目前,車載以太網(wǎng)已在多數(shù)車輛中應(yīng)用,本文主要針對車載以太網(wǎng)的DoIP技術(shù)進行了研究。相比于CAN診斷,DoIP診斷技術(shù)通信帶寬大、傳輸速率高,可以提高軟件刷寫與故障診斷的效率,也是未來車輛診斷技術(shù)的發(fā)展趨勢。