国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

車(chē)載以太網(wǎng)SOA架構(gòu)下ECU間的互通性研究

2023-05-23 00:39:55糜斌
無(wú)線互聯(lián)科技 2023年6期

作者簡(jiǎn)介:糜斌(1971— ),男,江蘇揚(yáng)州人,工程師,學(xué)士;研究方向:車(chē)載以太網(wǎng)。

摘要:文章從車(chē)載以太網(wǎng)SOA架構(gòu)下AUTOSAR與GENIVI的關(guān)系出發(fā),闡述了采用不同類(lèi)型SOME/IP協(xié)議棧的設(shè)備之間實(shí)現(xiàn)互通的需求。通過(guò)對(duì)實(shí)際項(xiàng)目中互聯(lián)問(wèn)題的深入分析,揭示了問(wèn)題來(lái)源,給出相應(yīng)場(chǎng)景下的解決方法。最后,文章提出了工具化檢查方法,以利于采用不同協(xié)議棧設(shè)備之間的互聯(lián)互通。

關(guān)鍵詞:車(chē)載以太網(wǎng);SOA架構(gòu);SOME/IP協(xié)議

中圖分類(lèi)號(hào):中圖分類(lèi)號(hào) 文獻(xiàn)標(biāo)志碼:文獻(xiàn)標(biāo)志碼

0 引言

車(chē)載以太網(wǎng)適合用于橋接車(chē)內(nèi)多個(gè)域的骨干網(wǎng)絡(luò)[1]。服務(wù)導(dǎo)向架構(gòu)(Service Oriented Architecture,SOA)有助于構(gòu)建靈活可變的平臺(tái)系統(tǒng)。SOA架構(gòu)下車(chē)內(nèi)ECU之間的互聯(lián)互通,可能會(huì)面臨不同的框架、不同的信息交互需求表述格式、不同的SOME/IP協(xié)議棧等方面的問(wèn)題,需要對(duì)其進(jìn)行研究。

1 項(xiàng)目背景與互聯(lián)需求

2020—2021年,筆者參與開(kāi)發(fā)某車(chē)載以太網(wǎng)項(xiàng)目,車(chē)載以太網(wǎng)拓?fù)?,如圖1所示。IVI通過(guò)Switch與IVC,Meter,DVR,HUD相連。

IVI與其他ECU間通過(guò)SOME/IP交互信息。由于設(shè)備架構(gòu)不同,所以存在互操作性問(wèn)題。在AUTOSAR與GENIVI框架下,采用不同接口定義語(yǔ)言的設(shè)備綁定各自的SOME/IP協(xié)議棧實(shí)現(xiàn)信息交互的示意圖,如圖2所示。

項(xiàng)目組遵循TC8 V3.0 [4]標(biāo)準(zhǔn),對(duì)IVI采用的協(xié)議棧能否通過(guò)SOME/IP_ETS測(cè)試進(jìn)行了評(píng)估。測(cè)試結(jié)果表明vsomeip3是可用的。

2 互聯(lián)問(wèn)題分析歸類(lèi)

在系統(tǒng)聯(lián)調(diào)階段,ECU間不能正常交互的問(wèn)題較多。通過(guò)分析,這些問(wèn)題歸類(lèi)如下:

2.1 測(cè)試規(guī)范的版本問(wèn)題

有部分設(shè)備的ETS測(cè)試采用的是TC8V2.0版本。與V3.0相比,V2.0在一些細(xì)節(jié)方面定義不清晰,不能保證協(xié)議棧細(xì)節(jié)實(shí)現(xiàn)上的一致性。

2.2 協(xié)議棧配置問(wèn)題

vsomeip3增加了對(duì)E2E[5]的支持,但需要在json配置文件中對(duì)E2E進(jìn)行配置,且要求client端和server端的E2E配置一致。有部分設(shè)備采用的是XML格式的配置文件,其中E2E配置的profile參數(shù)項(xiàng)不一致導(dǎo)致協(xié)議棧不能正常解析E2E Header,造成互聯(lián)問(wèn)題。

2.3 協(xié)議棧完成度問(wèn)題

SOME/IP并不是“1個(gè)”協(xié)議,SOME/IP包含多個(gè)部分:SOME/IP基本協(xié)議[6]、SOME/IP-SD服務(wù)發(fā)現(xiàn)協(xié)議[7]、SOME/IP-TP傳輸協(xié)議[8]等。無(wú)論是TC8V2.0還是V3.0,其對(duì)SOME/IP協(xié)議棧的測(cè)試用例針對(duì)的是基本協(xié)議和服務(wù)發(fā)現(xiàn)協(xié)議,后來(lái)被AUTOSAR納入標(biāo)準(zhǔn)的傳輸協(xié)議并不在其范圍之內(nèi)。SOME/IP-TP支持在協(xié)議棧層面對(duì)大數(shù)據(jù)進(jìn)行UDP方式傳輸。vsomeip3目前尚未支持SOME/IP-TP,造成互聯(lián)問(wèn)題。

2.4 中間文件的兼容問(wèn)題

中間文件作為不同廠家之間表達(dá)接口需求的數(shù)據(jù)文件,最好采用同一種標(biāo)準(zhǔn)。但如前述,AUTOSAR采用的是ARXML;GENIVI則是采用FIDL/FDEPL。轉(zhuǎn)換面臨兼容性問(wèn)題,F(xiàn)IDL的表達(dá)與SOME/ IP的序列化需求存在差距,在面對(duì)定長(zhǎng)字符串、定長(zhǎng)數(shù)組、枚舉基類(lèi)型以及可選字段的結(jié)構(gòu)時(shí),F(xiàn)IDL/FDEPL與ARXML之間的轉(zhuǎn)換存在困難,這給不同陣營(yíng)的設(shè)備互聯(lián)帶來(lái)了問(wèn)題。

2.5 原始需求的表達(dá)與解讀問(wèn)題

FIDL/FDEPL與ARXML還不能一一對(duì)應(yīng),有些地方須參照原始需求來(lái)確定序列化。車(chē)廠對(duì)信息交互的原始需求一般以xlsx文件形式給出。但各家模板不一致導(dǎo)致歧義,造成互聯(lián)問(wèn)題。

3 互聯(lián)問(wèn)題的解決

解決方案采用了從上到下、從需求→實(shí)現(xiàn)→測(cè)試的次序。

3.1 針對(duì)原始需求表達(dá)

SOME/IP相關(guān)的原始需求是在車(chē)廠提供的網(wǎng)絡(luò)設(shè)計(jì)規(guī)范中給出的。但信息表述比較分散,格式不夠規(guī)范,通常各ECU開(kāi)發(fā)方采用各自的xlsx文件模板整理規(guī)格化的SOME/IP需求表格,以便工具的后續(xù)處理。但需求表格會(huì)因?yàn)槔斫馍系脑蚧虬姹靖略蚨灰恢隆?/p>

筆者推薦的解決辦法是xlsx文件由服務(wù)提供方按統(tǒng)一的模板填寫(xiě),并提供給使用方。這樣做有效避免了歧義的產(chǎn)生。

3.2 針對(duì)中間文件

在GENIVI與AUTOSAR框架下,從用戶需求→接口定義的中間文件→接口代碼和配置文件的順序(見(jiàn)圖3)。在各自框架下,中間文件都起到了承上啟下的作用。但不同框架下的中間文件轉(zhuǎn)換存在兼容性問(wèn)題,對(duì)此,可以采用以下兩種方法。

(1)規(guī)避:在xlsx文件中定義業(yè)務(wù)相關(guān)的接口時(shí),參數(shù)的定義盡量避免引入兼容性問(wèn)題,如:給字符串/數(shù)組加入長(zhǎng)度定義。

(2)后處理:在服務(wù)接口代碼生成后再處理,如:根據(jù)FIDL/FDEPL生成的接口代碼中枚舉基類(lèi)型與基于ARXML生成的代碼中類(lèi)型不一致時(shí),對(duì)生成的代碼進(jìn)行手動(dòng)修改/工具軟件掃描修改。

FIDL/FDEPL規(guī)范定義也在不斷完善中,最新資料表明,F(xiàn)DEPL文件中可以設(shè)置EnumBackingType來(lái)改變枚舉的默認(rèn)數(shù)據(jù)類(lèi)型,這樣枚舉基類(lèi)型的問(wèn)題就不復(fù)存在了。

3.3 針對(duì)協(xié)議棧完成度

vsomeip3不支持SOME/IP-TP,但項(xiàng)目最初需求中存在超長(zhǎng)的UDP數(shù)據(jù)報(bào)文。針對(duì)不同情況,可以采用以下3種對(duì)策。

(1)規(guī)避:在定義業(yè)務(wù)相關(guān)的接口時(shí),對(duì)采用UDP傳輸?shù)臄?shù)據(jù)包長(zhǎng)度進(jìn)行檢查,確保數(shù)據(jù)包長(zhǎng)度不超過(guò)1 400字節(jié)。

(2)調(diào)整傳輸方式:部分消息的傳輸方式改成TCP。

(3)引入其他協(xié)議處理:基本信息采用SOME/IP傳輸,而擴(kuò)展信息采用TFTP傳輸。

3.4 針對(duì)協(xié)議棧配置

協(xié)議棧的配置與協(xié)議棧的具體實(shí)現(xiàn)關(guān)系很大。如問(wèn)題中提到的E2E配置項(xiàng),在本地配置是完整的,但與對(duì)端配置不一致,造成雙方不能正常交互信息,將E2E的profile配置項(xiàng)更正一致后,這個(gè)問(wèn)題就解決了。

配置不正確或者不一致會(huì)導(dǎo)致很多莫名其妙的問(wèn)題,需要認(rèn)真檢查。

3.5 針對(duì)測(cè)試驗(yàn)證

統(tǒng)一按TC8V3.0進(jìn)行SOME/IP_ETS測(cè)試,以保證一致性。

在測(cè)試過(guò)程中,有時(shí)需要分析是協(xié)議棧在實(shí)現(xiàn)方面的問(wèn)題還是測(cè)試程序的問(wèn)題。在進(jìn)行SOMEIP_ETS_034:echoUINT8E2E測(cè)試時(shí),就出現(xiàn)了E2E Header數(shù)據(jù)順序錯(cuò)誤的情況。好在TC8V3.0比V2.0中多了對(duì)echoUINT8E2E_req的參數(shù)順序的明確規(guī)定,采用抓取測(cè)試程序發(fā)出的數(shù)據(jù)包進(jìn)行比對(duì)的方法明確了是測(cè)試程序的問(wèn)題,更正測(cè)試程序后問(wèn)題解決。

4 檢查工具的開(kāi)發(fā)

在對(duì)SOA架構(gòu)下采用不同SOME/IP協(xié)議棧的設(shè)備互聯(lián)問(wèn)題的分析與解決過(guò)程中,筆者萌生了開(kāi)發(fā)檢查工具的想法。檢查工具可以將項(xiàng)目中積累的知識(shí)經(jīng)驗(yàn)保留下來(lái),在以后的項(xiàng)目中發(fā)揮作用,提高開(kāi)發(fā)效率。

當(dāng)前,檢查工具包括如下模塊:(1)xlsx需求文件檢查模塊。對(duì)格式規(guī)范的檢查和信息完整性檢查。(2)ARXML文件檢查模塊。檢查是否存在FIDL/FDEPL文件不支持的定義。(3)FIDL/FDEPL文件檢查模塊。檢查FIDL和FDEPL文件之間的一致性。(4)協(xié)議棧管理模塊。管理各協(xié)議棧的基本信息及協(xié)議棧對(duì)規(guī)范的完成情況。(5)json配置文件檢查模塊。檢查格式正確性和配置項(xiàng)完整性。

5 結(jié)語(yǔ)

本文通過(guò)對(duì)車(chē)載以太網(wǎng)實(shí)際項(xiàng)目中ECU間互聯(lián)問(wèn)題的分析,給出了解決方案。檢查工具的開(kāi)發(fā)則進(jìn)一步提高了解決互聯(lián)問(wèn)題的能力和效率。車(chē)載以太網(wǎng)在不斷發(fā)展,SOA架構(gòu)下ECU間的互通性研究不會(huì)止步。

參考文獻(xiàn)

[1]CHARLES M,ROBERT B,JEFFREY Q.Automotive Ethernet-The Definitive Guide[M].America:Intrepid Control Systems,2014.

[2]AUTOSAR.ARXML Serialization Rules 4.3.1[EB/OL].(2017-12-08)[2022-10-27].https://www.autosar.org/fileadmin/user_upload/standards/classic/4-3/AUTOSAR_TPS_ARXMLSerializationRules.pdf.

[3]Wiki.Franca IDL[EB/OL].(2018-04-13)[2022-10-27].https://www.detailedpedia.com/wiki-Franca_IDL.

[4]OPEN ALLIANCE.Automotive Ethernet ECU TestSpecification V3.0[EB/OL]. (2020-05-08)[2022-10-27].http://www.opensig.org/download/document/275/OA_Automotive_Ethernet_ECU_TestSpecifications_Version_3.0.zip.

[5]AUTOSAR.E2E Protocol Specification R19-11[EB/OL].(2017-10-27)[2022-10-27].https://www.autosar.org/fileadmin/user_upload/standards/foundation/19-11/AUTOSAR_PRS_E2EProtocol.pdf.

[6]AUTOSAR. Requirements on SOME/IP Protocol[EB/OL].(2020-11-30)[2022-10-27].https://www.autosar.org/fileadmin/user_upload/standards/foundation/20-11/AUTOSAR_RS_SOMEIPProtocol.pdf.

[7]AUTOSAR.SOME/IP Service Discovery Protocol Specification[EB/OL]. (2017-03-31)[2022-10-27].https://www.autosar.org/fileadmin/user_upload/standards/foundation /1-1/AUTOSAR_PRS_SOMEIPServiceDiscoveryProtocol.pdf .

[8]AUTOSAR.Specification on SOME/IP Transport Protocol[EB/OL].(2017-10-27)[2022-10-27].https://www.autosar.org/fileadmin/user_upload/standards/classic/21-11/AUTOSAR_SWS_SOMEIPTransportProtocol.pdf.

(編輯 姚 鑫)

Abstract: Starting from the relationship between AUTOSAR and GENIVI under the on-board Ethernet SOA architecture, this article elaborates on the requirements for interoperability between devices using different types of SOME/IP protocol stacks. Through in-depth analysis of interconnection issues in actual projects, the sources of the problems were revealed and corresponding solutions were provided in the corresponding scenarios. Finally, the article proposes a tool based inspection method to facilitate interconnectivity between devices using different protocol stacks.

Key words: vehicle Ethernet; SOA architecture; SOME / IP protocol

镇宁| 娱乐| 武清区| 辉南县| 海盐县| 晋中市| 红河县| 安徽省| 黄大仙区| 哈密市| 新竹市| 闸北区| 昭平县| 鹤山市| 台山市| 桂阳县| 桑植县| 正安县| 崇左市| 上栗县| 繁峙县| 辽中县| 涞水县| 乌审旗| 杭锦后旗| 吴桥县| 泸溪县| 文安县| 横峰县| 罗江县| 汽车| 泰州市| 开远市| 塔河县| 阳春市| 大厂| 平罗县| 墨江| 子洲县| 麻江县| 锦屏县|