【摘" 要】由于汽車智能化、網(wǎng)聯(lián)化的進一步發(fā)展,車載以太網(wǎng)在汽車領域得到越來越廣泛的應用。目前乘用車已經(jīng)逐步采用UDS on DoIP技術方案,國內(nèi)未見商用車采用UDS on DoIP 技術的報道。文章主要介紹DoIP數(shù)據(jù)格式和診斷流程,并著重介紹在商用車領域基于DoIP診斷路由應用及測試、刷寫應用及測試和UDS診斷測試。
【關鍵詞】車載以太網(wǎng);DoIP ;路由;刷寫;診斷測試
中圖分類號:U463.6" " 文獻標識碼:A" " 文章編號:1003-8639( 2024 )02-0033-04
Research on DoIP Protocol Based on Automotive Ethernet and Its Application in Commercial Vehicles
REN Yong1,ZHANG Wenping2,WANG Tao1,LI Xiaoyan1,YANG Yongzhi1
(1. Foton Daimler Automotive Co.,Ltd.,Beijing 101400;2.Graphene Research Institute,Beijing 100094,China)
【Abstract】Due to the further development of automotive intelligence and networking,in car Ethernet has been increasingly widely used in the automotive field. At present,passenger cars have gradually adopted the UDS on DoIP technology solution,and there have been no reports of commercial vehicles adopting UDS on DoIP technology in China. This article mainly introduces the DoIP data format and diagnostic process,and focuses on the application and testing of DoIP based diagnostic routing,brushing application and testing,and UDS diagnostic testing in the field of commercial vehicles.
【Key words】vehicle Ethernet;DoIP;route;brush;diagnostic test
1" 引言
隨著自動駕駛和車聯(lián)網(wǎng)技術的發(fā)展,車載網(wǎng)絡正在快速發(fā)展,汽車車載網(wǎng)絡容量需求已極大超過了傳統(tǒng)汽車車載網(wǎng)絡(CAN或FlexFile)的能力范圍,從而誕生了擁有更高傳輸速率的車載以太網(wǎng)技術。由于車載以太網(wǎng)技術可滿足汽車行業(yè)高通信速率、高穩(wěn)定性、低電磁輻射、低功耗及同步實時性等優(yōu)良性能,所以在車輛動力、智能駕駛、娛樂等整車網(wǎng)絡領域的應用日益增加。
DoIP(Diagnostic over Internet Protocol)是一種在ISO 13400中規(guī)定的基于TCP/IP協(xié)議的診斷協(xié)議[1]。DoIP診斷比傳統(tǒng)CAN診斷具有高速率、低成本、應用廣泛等優(yōu)點[2]。DoIP技術可實現(xiàn)本地診斷、遠程診斷和OTA等功能[3~4]。
2" DoIP協(xié)議研究
2.1" DoIP協(xié)議格式
DoIP協(xié)議的第1層物理層(Physical Layer)和第2層數(shù)據(jù)鏈路層(Data Link Layer)協(xié)議遵循IEEE802.3協(xié)議,第3層網(wǎng)絡層(Network Layer)遵循IPv4與IPv6協(xié)議,第4層傳輸層(Transport Layer)遵循IP協(xié)議(TCP協(xié)議和UDP協(xié)議),上層協(xié)議(第5~7層)支持UDS協(xié)議。
DoIP數(shù)據(jù)位于應用層,層層向下封裝,最后構成完整以太網(wǎng)幀報文,并通過物理層的介質發(fā)到總線上。如圖1所示,DoIP報文包括DoIP報頭(Header)和DoIP負載(Payload)。DoIP報頭共8Byte,組成如下:協(xié)議版本號(Protocol Version,1Byte)、版本號取反(-Protocol Version,1Byte)、數(shù)據(jù)類型(Payload Type,2Byte)和數(shù)據(jù)長度(Payload Length,4Byte)。DoIP負載包括源地址(Source Address,2Byte)、目標地址(Target Address,2Byte)和應用數(shù)據(jù)。
由表1可知,Payload Type分為3類:車輛信息類(0x0000~0x0008)、節(jié)點狀態(tài)類(0x4001~0x4004)、診斷類(0x8001~0x8003)。車輛信息類報文主要用于識別車輛信息和建立路由連接,包括DoIP首部否定響應、車輛識別請求報文、帶EID/VIN的車輛識別請求報文、車輛聲明報文/車輛識別響應報文、路由激活請求報文、路由激活響應報文、在線檢查請求報文和在線檢查響應報文。節(jié)點狀態(tài)類報文主要用于指示當前節(jié)點類型,包括DoIP實體狀態(tài)請求報文、DoIP實體狀態(tài)響應報文、診斷電源模式請求報文和診斷電源模式響應報文。診斷類報文主要用于診斷儀和DoIP實體間的UDS診斷處理,包括診斷報文、診斷報文肯定應答和診斷報文否定應答。
2.2" 診斷流程
圖2為DoIP診斷流程,測試人員使用診斷儀可直接與車內(nèi)DoIP實體進行診斷交互,也可以通過DoIP實體間接與車內(nèi)非DoIP實體診斷交互。診斷儀與DoIP實體診斷交互流程依次為車輛連接、車輛聲明、創(chuàng)建Socket、路由激活、診斷會話和通信關閉。
1)車輛連接。ISO 13400-3規(guī)定診斷儀可利用激活線連接DoIP邊緣節(jié)點,從而激活DoIP邊緣節(jié)點的DoIP功能;同時,診斷儀和DoIP邊緣節(jié)點通過DHCP動態(tài)分配IP或直接使用主機廠自定義的固定IP,進而創(chuàng)建IP地址網(wǎng)絡連接。
2)車輛聲明。在診斷儀與DoIP邊緣節(jié)點建立IP地址網(wǎng)絡連接后,車輛會自動用UDP報文以廣播形式連續(xù)發(fā)送3幀攜帶VIN和EID車輛信息的報文。如果診斷儀沒有接收到車輛聲明信息,則需要主動發(fā)送車輛識別請求報文,車輛中的DoIP邊緣節(jié)點對車輛識別響應報文進行響應,從而在診斷儀和DoIP邊緣結點之間建立點對點連接。由此可以看出,車輛聲明功能在一個診斷儀對多個車輛或多個診斷儀對多個車輛進行連接時有重要的作用。
3)創(chuàng)建Socket。當診斷儀選擇車輛后,診斷儀和DoIP邊緣節(jié)點分別創(chuàng)建自己的套接字,然后診斷儀和DoIP邊緣節(jié)點通過Socket建立連接,此時完成TCP連接的3次握手過程。為了提高TCP連接的安全性,ISO 13400-2 2019協(xié)議將信息安全校驗加入到創(chuàng)建Socket過程中。創(chuàng)建TCP連接過后,診斷儀發(fā)送TLS握手請求,經(jīng)過DoIP邊緣節(jié)點計算符合相關算法后,DoIP邊緣節(jié)點發(fā)送TLS握手成功響應。
4)路由激活。診斷儀用TCP報文以單播形式發(fā)送路由激活請求報文給DoIP邊緣節(jié)點,DoIP邊緣節(jié)點收到該報文后,單播回復路由激活響應報文給診斷儀。
5)診斷會話。完成路由激活功能后,則診斷儀可與DoIP邊緣節(jié)點或車內(nèi)其它節(jié)點(DoIP實體或非DoIP實體)診斷。主機廠會為每個參與診斷的節(jié)點設置特定的邏輯地址,通過特定的邏輯地址可識別不同的診斷節(jié)點。診斷儀可直接與DoIP邊緣節(jié)點進行診斷回話。當診斷儀與非DoIP實體進行診斷回話時,則需要通過DoIP邊緣節(jié)點與非DoIP實體進行診斷會話。
6)通信關閉。診斷會話結束時,診斷儀發(fā)出斷開Socket連接的指令,經(jīng)過TCP 4次揮手過程,完成斷開TCP通信連接。
3" DoIP協(xié)議在商用車中的應用
3.1" UDS on DoIP診斷應用測試
近年來,隨著DoIP協(xié)議的標準化,乘用車已經(jīng)逐步采用UDS on DoIP診斷方案,國內(nèi)未見商用車采用UDS on DoIP診斷的報道。
3.1.1" UDS on DoIP診斷應用
ISO 13400-1中介紹了如下4種DoIP診斷典型的通信場景:①診斷設備與單車物理連接;②診斷設備與單車網(wǎng)絡連接;③診斷設備與多個車輛網(wǎng)絡連接;④多個診斷設備與單車網(wǎng)絡連接。根據(jù)通信場景,診斷開發(fā)設計時,應考慮場景需求。UDS on DoIP診斷主要應用于工廠車輛下線電檢,售后車輛遠程診斷和故障排查。
3.1.2" UDS on DoIP診斷測試
診斷UDS on DoIP診斷測試主要包括協(xié)議一致性測試和功能測試。單件級測試所涉及到的測試系統(tǒng)主要由直流電源、測試接口卡(CANoe)、待測設備和測試上位機組成。以太網(wǎng)100BASE-TX測試網(wǎng)絡連接方法如圖3所示。
協(xié)議一致性測試主要測試協(xié)議為ISO 13400、ISO 14229和ISO 15765。ISO 13400協(xié)議測試主要包括物理層測試、傳輸層測試和應用層測試。
1)物理層測試:診斷激活電壓、診斷失活電壓、診斷激活時間、診斷失效時間。
2)傳輸層測試: IP配置、車輛聲明及識別、通信激活請求(TCP和UDP)、診斷請求(TCP和UDP)、通信激活請求中的源地址和激活類無效、診斷請求中的源地址和目標地址無效。
3)應用層測試:默認會話、擴展會話和編程會話兩兩之間的切換,軟硬件及鑰匙開關復位。
ISO 14229協(xié)議測試主要包括診斷服務和傳輸協(xié)議參數(shù)。ISO 15765協(xié)議測試主要為傳輸層測試,包括單幀、多幀、首幀、流控幀報文格式測試,無效字節(jié)測試,最大字節(jié)數(shù)測試,填充字節(jié)測試和時間參數(shù)測試。
UDS on DoIP功能測試主要測試應用層主機廠自定義部分內(nèi)容,包括下線電檢流程測試、故障注入測試。
3.2" UDS on DoIP刷寫應用及測試
3.2.1" UDS on DoIP刷寫應用
目前,國內(nèi)商用車主機廠開發(fā)診斷刷寫設備主要采用CAN通信,使用車載以太網(wǎng)DoIP技術刷寫的案例很少。車載以太網(wǎng)具有超高的通信速率,可大大降低整車ECU軟件刷寫的時間周期,尤其適用于遠程OTA升級。
如圖4所示,刷寫過程為軟件包被刷寫工具解析并組裝成UDS服務報文,進而封裝成以太網(wǎng)報文,傳輸給下位機Bootloader軟件。下位機Bootloader軟件收到以太網(wǎng)報文后逐層解封為UDS服務報文,而后通過Flash Driver將軟件數(shù)據(jù)下載到Flash存儲器中,最后完成車輛軟件升級工作。
3.2.2" UDS on DoIP刷寫測試
UDS on DoIP刷寫測試分為整車測試和單件測試,其中整車測試主要為正向刷寫測試,目的是驗證刷寫流程的完整性和準確性。工廠模式下一般用診斷儀物理連接OBD口進行刷寫,售后模式還可通過遠程OTA下載軟件包,通過遠程刷寫。單件刷寫測試可采用圖3的連接方式,主要包括以下內(nèi)容。
1)Bootloader流程測試包括無應用程序時正常下載測試、應用程序有效時正常下載測試、正常進入Bootloader模式測試、刷寫失敗后進入Bootloader模式測試、正常進入Bootloader模式后退出測試、刷寫失敗進入Bootloader模式后退出測試、刷寫過程標識數(shù)據(jù)測試和耐久測試。
2)Bootloader可靠性測試包括應用程序無效時正常下載測試、意外斷電測試、物理通信連接斷開測試、網(wǎng)絡錯誤測試、完整性校驗測試、標定文件獨立性測試、異常電圧測試、檢查編程依賴性測試和功能尋址TP報文對下載影響測試。
3)Bootloader安全性測試包括非授權診斷儀下載測試、安全訪問計數(shù)器測試、擦除地址無效測試、無效下載地址測試、無效源文件下載測試。
4)Bootloader完整性測試。
3.3" UDS on DoIP診斷路由應用及測試
以太網(wǎng)診斷路由指采用車載以太網(wǎng)DoIP協(xié)議診斷的車輛,整車內(nèi)部診斷通信會大量存在傳統(tǒng)診斷報文(UDS on CAN)和基于車載以太網(wǎng)的診斷報文(UDS on DoIP),并且在某些特定場景下這些報文需要相互轉換。因此,采用基于UDS on DoIP診斷的商用車勢必具備以太網(wǎng)診斷路由的能力。
3.3.1" UDS on DoIP診斷路由應用
具有DoIP診斷能力的邊緣節(jié)點(有診斷激活線)稱為診斷邊緣網(wǎng)關,其余車內(nèi)具備DoIP診斷能力的網(wǎng)關節(jié)點稱為診斷網(wǎng)關。診斷網(wǎng)關需具備以下4個診斷路由功能:DoIP-DoIP、DoIP-DoCAN/FD、DoCAN/FD-DoCAN/FD和DoCAN/FD-DoIP。
DoCAN/FD-DoCAN/FD在傳統(tǒng)CAN網(wǎng)絡已廣泛應用,本文不再贅述,主要介紹下面兩種應用場景的路由規(guī)則:DoIP與DoIP之間的路由、DoIP與DoCAN/DoCANFD之間的路由。
1)DoIP與DoIP之間的路由。外部診斷請求到內(nèi)部診斷請求的轉換過程如圖5所示。當診斷網(wǎng)關接收到診斷儀的DoIP診斷報文時,需要將目標邏輯地址映射到目標節(jié)點IP地址,再進行IP消息封裝,將源IP地址更新為自己的車內(nèi)IP地址,將目的節(jié)點的IP地址填寫到相應位置,并發(fā)送到目的節(jié)點的對應端口。
DoIP與DoIP之間的路由,車內(nèi)DoIP響應轉至車外DoIP響應需滿足圖6要求,轉發(fā)時邊緣節(jié)點對內(nèi)IP地址轉換為邊緣節(jié)點對外IP地址,目標IP地址為診斷儀IP地址,目標邏輯地址為診斷儀邏輯地址。
2)DoIP與DoCAN/DoCANFD之間的路由。車外物理尋址DoIP請求轉車內(nèi)DoCAN/FD請求需滿足圖7要求,網(wǎng)關需要將目標邏輯地址映射為相應的CANID并將報文轉發(fā)到對應網(wǎng)段上。車內(nèi)DoCAN/FD響應轉車外DoIP響應報文與上述過程相反,網(wǎng)關需要將診斷CANID映射為相應的目標ECU源邏輯地址并重新打包為以太網(wǎng)報文轉發(fā)給診斷儀。
3.3.2" UDS on DoIP診斷路由測試
圖8為DoIP與DoIP之間的路由測試環(huán)境,主要測試內(nèi)容為:驗證DUT與車內(nèi)DoIP節(jié)點建立用于診斷的TCP連接的目的端口是否為13400,診斷ACK測試和診斷NACK(源地址無效)測試,邏輯地址-IP地址轉換功能測試(物理/物理尋址)。
圖9為DoIP與DoCAN/FD之間的路由測試環(huán)境,主要測試內(nèi)容為:診斷NACK(診斷數(shù)據(jù)過長)測試、DoIP邏輯地址-CAN診斷ID轉換測試(物理/功能尋址)、DoIP-DoCAN緩存器測試、DoIP-DoCAN轉發(fā)過程中連續(xù)診斷請求測試、DoCAN-DoIP錯誤轉發(fā)測試(物理/功能尋址)。
4" 測試實例
本文展示下線電檢測試流程,主要測試DoIP網(wǎng)關與診斷儀之間的連接過程及下線DoIP網(wǎng)關診斷服務,按照圖3搭建測試環(huán)境,DoIP網(wǎng)關與PC之間可通過網(wǎng)線直接連接,診斷儀選用自研診斷上位機。
首先診斷儀與DoIP網(wǎng)關建立診斷鏈接。電源供電,DoIP網(wǎng)關診斷功能被車輛激活線激活,診斷儀與DoIP網(wǎng)關自動創(chuàng)建TCP套接字連接。診斷儀發(fā)送路由激活請求報文(負載類型值為0x0005),DoIP網(wǎng)關收到該報文后回復路由激活響應報文(負載類型值為0x0005),此時完成診斷儀與DoIP網(wǎng)關的下線電檢連接過程(診斷儀IP為192.168.61.71,DoIP網(wǎng)關IP為192.168.61.36)。如圖10所示。
圖11為下線電檢診斷測試服務列表,測試過程中可手動選擇列表中的診斷測試服務,對DoIP網(wǎng)關進行下線電檢測試。
圖12僅介紹VIN讀寫過程,其余下線電檢測試內(nèi)容不再贅述。VIN讀寫過程涉及的診斷測試服務為22讀服務和2E寫服務。當診斷儀讀取VIN時,診斷儀(源邏輯地址為0xE80)發(fā)送0x22 F1 190,DoIP網(wǎng)關(目的邏輯地址為0x0100)回復正響應 0x62 F1 190 + ......0x44。當診斷儀寫入VIN時,診斷儀與DoIP網(wǎng)關完成安全訪問認證后方可進行寫入操作,診斷儀發(fā)送0x2E F1 190 + ...0x45,DoIP網(wǎng)關回復正響應 0x6E F1 190,而后可通過22讀服務驗證VIN是否成功寫入。
5" 結束語
本文主要介紹ISO 13400協(xié)議的DoIP數(shù)據(jù)格式和診斷流程,同時結合乘用車DoIP診斷的應用,淺談DoIP診斷在商用車的應用及測試情況,并實例列舉基于UDS on DoIP診斷的下線電檢測試。綜上所述,隨著越來越多的乘用車采用車載以太網(wǎng)技術,該技術勢必逐步應用到商用車方向,本文對車載以太網(wǎng)DoIP協(xié)議及在商用車應用的研究,為國內(nèi)商用車技術人員探索使用以太網(wǎng)DoIP診斷技術提供重要參考。
參考文獻:
[1] ISO 13400-2:2019,Road vehicles -Diagnostic communicationoverInternet Protocol(DoIP)-Part 2:Transport protocol and network layer services[S].
[2] 石聰,劉洋. 基于DoIP協(xié)議的車輛診斷技術研究[J]. 汽車與駕駛維修,2022(4):17-19.
[3] 李志濤,耿偉峰. 車載以太網(wǎng)DoIP協(xié)議測試的研究與分析[J]. 汽車電器,2022(9):21-24.
[4] 王遠波,陳姿霖,武萌. 基于ISO 13400標準的車載以太網(wǎng)DOIP技術應用淺析[J]. 汽車電器,2022(2):31-33.
(編輯" 楊凱麟)
收稿日期:2023-10-12
作者簡介
任勇(1990—),男,碩士,從事汽車控制器仿真測試、車載網(wǎng)絡測試研究工作。