任勇 劉康 王靜 王濤 李小燕
【摘? 要】由于汽車智能化、網(wǎng)聯(lián)化的進(jìn)一步發(fā)展,車載以太網(wǎng)不僅在乘用車領(lǐng)域得到了越來越廣泛的應(yīng)用,而且在商用車領(lǐng)域也逐步得到了應(yīng)用。目前國(guó)內(nèi)乘用車已經(jīng)逐步采用SOME/IP的通信方案,商用車采用SOME/IP通信技術(shù)的報(bào)道較少。本文主要介紹SOME/IP數(shù)據(jù)格式和通信機(jī)制,并著重介紹在OTA升級(jí)中的應(yīng)用、SOME/IP的測(cè)試內(nèi)容及相關(guān)測(cè)試實(shí)例。
【關(guān)鍵詞】車載以太網(wǎng);SOME/IP;協(xié)議測(cè)試;OTA
中圖分類號(hào):U463.6? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? 文章編號(hào):1003-8639( 2024 )05-0047-04
Research on Vehicle Ethernet Based SOME/IP Protocol and Its Application in Commercial Vehicles
REN Yong,LIU Kang,WANG Jing,WANG Tao,LI Xiaoyan
(Beijing Foton Daimler Automotive Co.,Ltd.,Beijing 101400,China)
【Abstract】Due to the further development of automotive intelligence and networking,in vehicle Ethernet has not only been widely used in the field of passenger cars,but also gradually applied in the field of commercial vehicles. At present,domestic passenger cars have gradually adopted the communication scheme of SOME/IP,and there are few reports on commercial vehicles using SOME/IP communication technology. This article mainly introduces the format and communication mechanism of SOME/IP data,with a focus on its application in OTA upgrades,testing of SOME/IP,and related testing examples.
【Key words】vehicle Ethernet;SOME/IP;protocol test;OTA
作者簡(jiǎn)介
任勇(1990—),男,碩士,從事汽車控制器仿真測(cè)試、車載網(wǎng)絡(luò)測(cè)試工作。
1? 引言
隨著智能駕駛、智能座艙和車聯(lián)網(wǎng)技術(shù)的發(fā)展,汽車總線數(shù)據(jù)傳輸量與日俱增,汽車車載網(wǎng)絡(luò)容量需求已極大超過了傳統(tǒng)汽車車載網(wǎng)絡(luò)(CAN、CANFD、LIN等)的能力范圍,從而誕生了擁有更高傳輸速率的車載以太網(wǎng)技術(shù)。車載以太網(wǎng)憑借其高通信速率、高穩(wěn)定性、低電磁輻射、低功耗及同步實(shí)時(shí)性等優(yōu)良性能,被汽車領(lǐng)域廣泛認(rèn)為是新一代的主流車載網(wǎng)絡(luò)通信技術(shù)[1]。
SOME/IP(Scalable service-Oriented MiddlewarE over IP)是一種基于IP的可擴(kuò)展面向服務(wù)的中間件的應(yīng)用層開放協(xié)議,最早成功應(yīng)用于BMW公司某款車型的網(wǎng)絡(luò)通信中,該協(xié)議于2011年由BMW集團(tuán)提出,位于TCP/UDP之上,兼容當(dāng)前主流的汽車用例與汽車開放系統(tǒng)架構(gòu)(AUTOSAR架構(gòu))[2]。近年來,在乘用車領(lǐng)域逐步采用SOME/IP車載通信技術(shù),而國(guó)內(nèi)商用車采用此項(xiàng)技術(shù)的上市車型報(bào)道較少。
2 SOME/IP協(xié)議研究
2.1? SOME/IP協(xié)議格式
SOME/IP協(xié)議是SOA架構(gòu)(Service-Oriented Architecture)實(shí)現(xiàn)的中間件協(xié)議。根據(jù)圖1可以看出,SOME/IP協(xié)議位于OSI參考模型的5~7層,為典型的應(yīng)用層協(xié)議,可以提供API接口創(chuàng)建Client/Server客戶端,亦可添加功能邏輯用于控制消息及應(yīng)用數(shù)據(jù)傳輸。
SOME/IP報(bào)文格式如圖2所示,SOME/IP消息由報(bào)頭Header和有效負(fù)載Payload組成。SOME/IP報(bào)頭共16Byte,組成包括:Service ID(服務(wù)的唯一識(shí)別號(hào))、Method ID(標(biāo)識(shí)出一個(gè)方法)、Length(除Message ID和Length之外的數(shù)據(jù)長(zhǎng)度)、Client ID(標(biāo)識(shí)一個(gè)具體的客戶端)、Session ID(標(biāo)識(shí)同一客戶端的多次調(diào)用)、Protocol Version(協(xié)議版本號(hào))、Interface Version(標(biāo)識(shí)識(shí)別服務(wù)接口)、Message Type(報(bào)文類型,詳見表1)、Return Code(返回碼,詳見表2)。
2.2? SOME/IP通信接口
遠(yuǎn)程過程調(diào)用協(xié)議(Remote Procedure Call,RPC)是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。
SOME/IP是實(shí)現(xiàn)遠(yuǎn)程服務(wù)調(diào)用的接口,遠(yuǎn)程服務(wù)調(diào)用 報(bào)文類型可分為Method和Event。Method類型有Request/ Response(RR)、Fire&Forget(FF)兩種通信方式;圖3所示RR通信主要用于實(shí)現(xiàn)Client端發(fā)送請(qǐng)求消息,Server端接收到請(qǐng)求,處理后進(jìn)行響應(yīng);FF是一種不需要Client端響應(yīng)報(bào)文的請(qǐng)求通信。圖4所示Event類型的通信主要用于實(shí)現(xiàn)Client端向Server端訂閱需要的事件組/事件,當(dāng)事件被觸發(fā)時(shí),Server端需要向Client端發(fā)送更新的內(nèi)容。
訪問進(jìn)程通信機(jī)制主要是對(duì)應(yīng)用程序數(shù)據(jù)(Field)的配置,F(xiàn)ield可分為Getter和Setter兩種機(jī)制,客戶端通過Getter方法獲取服務(wù)端的值,通過Setter方法設(shè)置服務(wù)端的值。Getter/Setter服務(wù)和Event服務(wù)的工作機(jī)制如圖5所示。
2.3? SOME/IP SD簡(jiǎn)介
SOME/IP SD(Service Discovery)是SOME/IP的一種特殊報(bào)文[3]、服務(wù)的信息清單及管理機(jī)制,服務(wù)者通過SOME/IP SD告知其他ECU某服務(wù)可用,并間接告知該服務(wù)的地址,服務(wù)消費(fèi)者可以調(diào)用服務(wù)的相關(guān)內(nèi)容。
SOME/IP SD報(bào)文報(bào)頭Header由SOME/IP報(bào)頭和SOME/IP SD組成,如圖6所示。
1)Flags:①最高位是Reboot Flag,初始化為1,當(dāng)Session ID填滿溢出時(shí)(由0xFFFF變?yōu)?x0001時(shí)),Reboot由1變?yōu)?;②第2位是Unicast Flag,表示SD報(bào)文支持通過單播方式接收。
2)Length of Entries Array:Entries Array的字節(jié)長(zhǎng)度。
3)Entries Array:服務(wù)實(shí)例的“入口”,該入口包含服務(wù)實(shí)例以及需要訂閱的事件組的信息,可分為面向服務(wù)組(FindService、OfferService和StopOfferService)和面向事件組(SubscribeEventgroup、SubscribeEventgroupAck、Subscribe-EventgroupNAck和StopSubscribeEventgroup)兩種類型。
4)Length of Options Array:Options Array的字節(jié)長(zhǎng)度。
5)Options Array:用來傳輸Entry的附加信息,包括對(duì)于服務(wù)實(shí)例的IP地址、傳輸協(xié)議、端口號(hào)等有效信息,可分為Configuration Option(配置選項(xiàng))、Endpoint Option(終端節(jié)點(diǎn)選項(xiàng))和Multicast Option(多播配置選項(xiàng))。
圖7為服務(wù)訂閱過程。Client端可通過FindService報(bào)文發(fā)現(xiàn)服務(wù)實(shí)例,Server端發(fā)送OfferService告知某服務(wù)實(shí)例可用,Client端使用Subscribe Eventgroup報(bào)文訂閱服務(wù)實(shí)例,最后Server端通過Subscribe EventgroupAck告知Client端該服務(wù)組訂閱成功。
3? SOME/IP協(xié)議的應(yīng)用實(shí)例
本文主要闡述SOME/IP協(xié)議在OTA升級(jí)過程中的應(yīng)用。OTA升級(jí)架構(gòu)主要由IVI、中央網(wǎng)關(guān)和T-BOX組成。中央網(wǎng)關(guān)連接IVI和T-BOX,總線數(shù)據(jù)的傳輸通過SOME/IP協(xié)議實(shí)現(xiàn)。OTA升級(jí)架構(gòu)如圖8所示。
OTA升級(jí)流程主要步驟為:①獲取服務(wù)器配置信息,車輛零件信息上報(bào);②OTA流程觸發(fā);③OTA前置條件檢查;④下載軟件包;⑤安裝軟件包;⑥驗(yàn)證更新后的整車系統(tǒng)。
OTA刷寫過程中需要與IVI進(jìn)行多次交互,例如當(dāng)收到新版本信息時(shí)進(jìn)行提醒,接收到新任務(wù)時(shí)提供升級(jí)包確認(rèn)下載選項(xiàng)及執(zhí)行下載,選擇立即安裝軟件包,預(yù)約時(shí)間安裝軟件包等。以T-BOX讀取IVI信息(軟硬件版本號(hào)、診斷ID、供應(yīng)商編碼等)為例:首先,客戶端T-BOX需要訂閱服務(wù)端IVI,獲取車輛信息服務(wù)(RR類型);其次,云端與T-BOX交互后會(huì)觸發(fā)T-BOX激活獲取車輛信息服務(wù);然后,IVI通過RR類型服務(wù)返回ECU信息;最后,T-BOX將零件信息上報(bào)給云端。圖9為車輛零件信息上報(bào)流程。
4? SOME/IP協(xié)議的測(cè)試
SOME/IP協(xié)議測(cè)試主要分為單件級(jí)測(cè)試、系統(tǒng)級(jí)測(cè)試與整車級(jí)測(cè)試。單件級(jí)測(cè)試主要為SOME/IP協(xié)議一致性測(cè)試,系統(tǒng)及整車級(jí)測(cè)試主要為通信行為及通信配置等方面的測(cè)試。
4.1? SOME/IP協(xié)議單件級(jí)測(cè)試
SOME/IP協(xié)議一致性測(cè)試用例來源于OPEN ALLIANCE TC8 3.0,包括SOME/IP Server測(cè)試和SOME/IP ETS測(cè)試。圖10為SOME/IP協(xié)議一致性測(cè)試拓?fù)鋱D。
SOME/IP Server測(cè)試依靠DUT自身的SOME/IP應(yīng)用功能,測(cè)試協(xié)議實(shí)現(xiàn)的基礎(chǔ)內(nèi)容。測(cè)試用例包括:報(bào)文格式測(cè)試、Options數(shù)組測(cè)試、SD報(bào)文測(cè)試、SD通信行為測(cè)試、SOME/IP基本功能測(cè)試、SOME/IP在線格式規(guī)范測(cè)試和RPC協(xié)議測(cè)試。
SOME/IP ETS測(cè)試主要根據(jù)TC8定義的增強(qiáng)可測(cè)試性服務(wù)ETS(Enhanced Testability Service)進(jìn)行,目的是為了彌補(bǔ)SOME/IP Service測(cè)試覆蓋度不足。實(shí)際項(xiàng)目測(cè)試中,通常需要供應(yīng)商集成ETS服務(wù)到被測(cè)控制器中,車輛量產(chǎn)后關(guān)閉該服務(wù)。測(cè)試用例包括:SOME/IP服務(wù)發(fā)現(xiàn)測(cè)試、序列化測(cè)試、數(shù)據(jù)長(zhǎng)度異常處理測(cè)試、字節(jié)順序與位域的發(fā)送接收測(cè)試、不同類型數(shù)據(jù)相應(yīng)參數(shù)的發(fā)送和接收測(cè)試等。
4.2? SOME/IP協(xié)議系統(tǒng)級(jí)測(cè)試
SOME/IP協(xié)議系統(tǒng)級(jí)測(cè)試和整車級(jí)測(cè)試,測(cè)試用例基本相同,主要為通信功能相關(guān)的測(cè)試,本文主要闡述系統(tǒng)級(jí)別測(cè)試內(nèi)容。從圖11可以看出,SOME/IP協(xié)議系統(tǒng)級(jí)測(cè)試主要通過網(wǎng)關(guān)OBD口鏡像收發(fā)SOME/IP報(bào)文進(jìn)行相關(guān)項(xiàng)測(cè)試。
SOME/IP協(xié)議系統(tǒng)級(jí)測(cè)試主要包括SOME/IP通信行為測(cè)試、基礎(chǔ)通信配置測(cè)試、網(wǎng)絡(luò)管理測(cè)試、穩(wěn)定性測(cè)試、相關(guān)故障診斷測(cè)試、總線鏡像測(cè)試。
1)SOME/IP通信行為測(cè)試包括SOME/IP-SD行為測(cè)試、SOME/IP Messages行為測(cè)試、SOME/IP錯(cuò)誤檢查測(cè)試、SOME/IP動(dòng)態(tài)時(shí)序測(cè)試、SOME/IP系統(tǒng)魯棒性測(cè)試。
2)基礎(chǔ)通信配置測(cè)試包括MAC測(cè)試(MAC地址測(cè)試、VLAN報(bào)文測(cè)試等)、TCP/IP測(cè)試(IP版本測(cè)試、IP地址測(cè)試、IP分片測(cè)試、IP端口測(cè)試等)、DHCP IP配置測(cè)試。
3)網(wǎng)絡(luò)管理測(cè)試包括喚醒性能測(cè)試、喚醒條件測(cè)試、休眠條件測(cè)試和重復(fù)喚醒測(cè)試。
4)穩(wěn)定性測(cè)試包括長(zhǎng)時(shí)間運(yùn)行穩(wěn)定性測(cè)試、反復(fù)上下電通信穩(wěn)定性測(cè)試、反復(fù)休眠喚醒(KL15)通信穩(wěn)定性測(cè)試、反復(fù)休眠喚醒(NM)通信穩(wěn)定性測(cè)試。
5)相關(guān)故障診斷測(cè)試包括檢查所有DTC測(cè)試、以太網(wǎng)Link失效故障DTC、以太網(wǎng)節(jié)點(diǎn)丟失故障DTC、SOME/IP無響應(yīng)DTC。
6)總線鏡像測(cè)試包括總線鏡像功能開啟/關(guān)閉測(cè)試、源網(wǎng)段流量監(jiān)控、長(zhǎng)時(shí)間鏡像穩(wěn)定性測(cè)試、異常工況測(cè)試-網(wǎng)關(guān)控制器重啟。
4.3? SOME/IP協(xié)議測(cè)試實(shí)例
本節(jié)介紹SOME/IP Client服務(wù)訂閱測(cè)試的測(cè)試過程,包括前期測(cè)試用例撰寫和后期測(cè)試結(jié)果分析。SOME/IP Client服務(wù)訂閱測(cè)試用例設(shè)計(jì)見表3,測(cè)試用例包括測(cè)試編號(hào)、測(cè)試目的、測(cè)試環(huán)境、前提條件、測(cè)試輸入、測(cè)試步驟和評(píng)價(jià)標(biāo)準(zhǔn)。
圖12為Wireshark軟件抓取的測(cè)試數(shù)據(jù),從圖中可以看出,該SOME/IP SD報(bào)文訂閱了4組服務(wù):①Service ID=Oxb801,Eventgroup ID=0x0001;②Service ID=Oxb801,Eventgroup ID=0x0003;③Service ID=Oxb802,Eventgroup ID=0x0002;④Service ID=Oxb804,Eventgroup ID=0x0002。若Client節(jié)點(diǎn)按照通信矩陣定義,訂閱了所需的所有Eventgroup服務(wù),則本條測(cè)試用例PASS。
5? 結(jié)論
本文主要介紹SOME/IP協(xié)議的數(shù)據(jù)格式和通信機(jī)制,淺談SOME/IP協(xié)議在OTA升級(jí)過程中的應(yīng)用場(chǎng)景,闡述SOME/IP協(xié)議測(cè)試的內(nèi)容,并列舉測(cè)試用例設(shè)計(jì)和測(cè)試結(jié)果分析的過程。
綜上所述,SOME/IP通信技術(shù)已經(jīng)逐步應(yīng)用在商用車領(lǐng)域。本文對(duì)車載以太網(wǎng)SOME/IP協(xié)議及在商用車應(yīng)用的研究,為國(guó)內(nèi)商用車技術(shù)人員探索使用以太網(wǎng)SOME/IP通信技術(shù)提供重要參考。
參考文獻(xiàn):
[1] 曹麗平,徐維,劉敏. 車載以太網(wǎng)SOME/IP協(xié)議及一致性測(cè)試系統(tǒng)研究[J]. 汽車電器,2023(6):55-58,62.
[2] 張毅峰,歐陽頌華,魏鵬,等. SOME/IP車載以太網(wǎng)服務(wù)協(xié)議的關(guān)鍵技術(shù)與性能分析[J]. 現(xiàn)代電子技術(shù),2023(5):15-19.
[3] 李志濤,姬志博,耿偉峰. 車載以太網(wǎng)SOME/IP測(cè)試的研究與分析[J]. 汽車電器,2022(6):95-98.
(編輯? 凌? 波)
收稿日期:2024-03-05