<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Classic AutoSAR平臺進行SOA和以太網的設計

電子工程師 ? 來源:車載SOAk開發 ? 作者:竇明佳 ? 2022-08-10 09:32 ? 次閱讀

前言:

SOA在IT行業已經存在很多年,隨著近幾年智能汽車的出現,用于對于自動駕駛、V2X、智能座艙等新功能的需求也逐漸強烈,汽車逐漸由一個機電耦合的系統轉變為一個智能終端,類似智能手機,可升級可進化。面對這樣的變革,汽車行業借鑒IT行業的經驗引入了SOA及以太網,同時新的技術引入也需要和新的組織架構及開發方法適配,正如康威定律所說的:“Organizations which design systems[……] are constrained to producedesigns which are copies of the communication structures of the organizations.”在目前各OEM的組織架構中基本會劃分為動力域、底盤域、車身域(電子電器)、智駕域等部門,因此我們的軟件架構也會依據組織架構劃分為不同的Domain,然而,引入SOA需要不同以往的跨域協調和通訊,部分職責需要跨域前期的部門和組織邊界,協作和合作稱為SOA開發成功的先決條件,同時也需要引入新的崗位和專家角色。 在開發流程方面,為了更好的滿足用戶需求的快速迭代,一個新功能(Feature)通常通過Use Case(用例)來構建用戶的需求,借助于UML(Unified Modelling Language)的建模工具創建Use CaseDiagram,然后進行邏輯功能架構設計、模塊架構設計、服務設計等工作定義出服務,再借助于PREEvision工具進行服務實現軟件架構的構建,以太網的設計,最終導出ARXML。

一、設計流程總述

本文以基于Classic AutoSAR 平臺進行SOA和以太網的設計為例,介紹整個開發流程。

29cf1abe-17eb-11ed-ba43-dac502259ad0.png

29fdf988-17eb-11ed-ba43-dac502259ad0.png

(1)定義服務Service、服務角色(Service Provider/ServiceConsumer)、服務ID以及服務接口(Service Interface包含Methods,Properties、Events);

(2)將服務接口及其子元素(Method/Properties/Events)部署到SOME/IP作為以太網的協議棧;

(3)將服務進行軟件實現,即將服務角色(Service Provider/Service Consumer)轉換為對應的SoftwareType;

(4)將服務接口(Service Interface)中的子元素由對應的CP SWC接口實現,例如R&R Method轉換為C/S Interface,F&F Method轉換為S/R Interface,Field(Getter/Setter)轉換為C/S Interface,Event轉換為S/R Interface;

(5)軟件組件作為軟件類型的實例,其對應的Port端口被創建,同時將SWC Interface(C/Sor S/R)分配給對應的Port;

(6)在硬件架構層創建以太網網絡拓撲;

(7)將實現服務的軟件組件部署到網絡拓撲中的對應的ECU上;

(8)通過Switch Configuration將物理拓撲劃分為邏輯網絡VLAN;

(9)信號路由,根據VLAN找到給定網絡拓撲中的通信路徑,并從服務設計和服務部署衍生出通信描述;

(10)以太網通信定義,詳細的SocketConnection定義;

(11)數據序列化(Data Serialization),通過以太網傳輸的數據必須被序列化轉換為比特流;

(12)服務發現(Service Discovery)SOME/IP-SD通信框架定義;

(13)導出符合AutoSAR規范的ARXML文件,用于Matlab/Simulink軟件詳細設計及CANoe仿真。

二、服務定義Service Definition

(1)服務定義

定義整車的服務Service,并定義每個服務的服務提供者和服務消費者,以及Service ID和VLAN,同時定義服務的API-Service Interface.

2a275b34-17eb-11ed-ba43-dac502259ad0.png

(2)服務接口定義

服務的能力及特征由其服務接口定義,服務接口的定義決定了服務消費者如何使用服務,服務接口由如下子元素組成:

Properties(Field),描述一條數據,該數據可由服務消費者Client讀取或寫入,也可以生成一個NotifierEvent如果這個數據發生變化;

Event,當事件發生時,服務提供者Service通過Event向訂閱的Client發送數據;

Method,描述可用的Operation,可以從其他服務進行調用,方法產生并返回一些數據(R&R),或者在服務中啟動一些進程(F&F);

2a569002-17eb-11ed-ba43-dac502259ad0.png

(3)SOME/IP網絡綁定

在上述服務接口定義的基礎上,通過CreateSOME/IP Interface Deployment自動將UML服務接口轉換為SOME/IP接口,同時可定義傳輸協議(UDP/TCP),Method/Event ID以及Event Group,同時根據前期定義的Service ID以及Method/Event ID自動生層Message ID。

2a7e4052-17eb-11ed-ba43-dac502259ad0.png

(4)數據類型定義

創建Application Data Type 、ImplementationData Type 以及Base Data Type,并將BaseType和Implementation Type Mapping,同時將Application DataType和Implementation Data Type進行Mapping,最后將Application Data Type分配給服務接口的子元素。

2aafd75c-17eb-11ed-ba43-dac502259ad0.png

服務實現Service Implementation

(1)服務實現

服務接口由Software Type來實現,通過Service to AutoSAR Classic Technology Mapping可自動創建Application SW Component Types以及C/S或S/R接口來實現服務和服務接口,每一個服務角色(Servcie Provider/ServiceConsumer)都生成對應的Application SW Component Type。

2acbdb50-17eb-11ed-ba43-dac502259ad0.png

(2)服務接口實現

通過上述Servcie to AutoSAR Classic Technology Mapping操作后,不僅為每個服務角色創建對應的Application SW Component Type和C/S以及S/R接口,同時創建對應的Operations 和Data Elements,對于同一個服務接口,R&R-method/Getter-Field/Setter-Field子元素轉換為Operations被打包為一個Client/Server Interface,而對于Event/F&F-Method/Notifier-Field將會有單獨的SenderReceiver Interface 實現。

2af32b06-17eb-11ed-ba43-dac502259ad0.png

三、網絡拓撲設計Network Design

在硬件拓撲層創建網絡拓撲圖,添加ECU、HPC、Ethernet Switch并創建Bus System Types,在Network Topology Editor表格中選擇Bus System并點擊Set Ethernet bus and connectorTypes,可為Bus Connectors分配EthernetConnenctor Type,同時為Bus System分配EthernetType,在Network Topology Editor Table選擇網絡拓撲中創建的Bus System選擇Creating missing Cluster,基于Bus Type創建Ethernet Cluster,并自動將Bus System 移動到Ethernet Cluster。對于每一個Ethernet Cluster需要創建對應的Ethernet CommunicationCluster,在Network Topology Editor表格選擇CL(Ethernet Cluster)點擊Create missing EthernetCommunication Cluster,將在左側結構樹Communication Package創建Transport Layer Package以及Ethernet CommunicationCluster。

2b0f583a-17eb-11ed-ba43-dac502259ad0.png

2b315408-17eb-11ed-ba43-dac502259ad0.png

四、以太網通信設計(Ethernet Communication)

(1)ECU定義(ECUDefinition)

定義網絡拓撲中每一個ECU的ID,該ID用戶后期MAC地址的自動計算,以太網物理層類型選擇(例如100BASE T1),CNB主從時鐘選擇,MAC Address生成硬件MAC地址,VLAN 設置VLAN屬性,IPV4配置。

2b546542-17eb-11ed-ba43-dac502259ad0.png

(2)以太網Cluster 配置(Ethernet Cluster Configuration)

定義ECU的Socket Addresses,指定傳輸協議TP,指定傳輸端口Port,NetworkEndpoint以及IPV4 Address。

2b796ad6-17eb-11ed-ba43-dac502259ad0.png

五、服務部署/軟件映射(Service Deployment/SoftwareMapping)

在設計完Service以及ServiceInterface,并進行服務實現(Service Implementation)后,并設計完網絡拓撲后,在面向服務的系統設計中下一步工作就是進行服務的部署,在將服務角色部署到ECU后,可自動創建實例化的Composition Type,用來實現服務角色,并同步在ECU內部創建Process Unit。

2b97db06-17eb-11ed-ba43-dac502259ad0.png

六、軟件架構(Software Architecture)

選擇Service Interface,點擊Connect ports compatible interface(Select a composition,SW-Componentor SW-port to Start),創建Port,并將Interface分配給Port。

2bbd6664-17eb-11ed-ba43-dac502259ad0.png

雙擊Root Compoistion Package 可自動創建Software Architecture Diagram,將ApplicationSW Component Type拖拽到圖中,并選擇所有Ports,右鍵選擇Show Path,則自動創建Provider和Consumer SW Component Port口之間的連線。

2bdb4846-17eb-11ed-ba43-dac502259ad0.png

七.信號路由(Signal Routing)

在進行了Servcie Definition、Service Implementation、Network Architecture、Software Mapping,下一步的以太網通信設計工作就是信號路由,信號路由能夠從設置VLAN的網絡拓撲中尋找通訊路徑,并從中獲取通信描述,信號路由需要滿足的條件: ① 定義了Service 和Service Interface; ② 進行了服務實現,將ServiceProvider和ServiceConsumer轉換為對應Software Type,并將Service Interface轉換為C/S和S/R接口,并合成C/S接口的Operaton,以及S/R接口的Data Element; ③ 將硬件拓撲轉換為網絡拓撲; ④ 將服務角色部署到對應的ECU; ⑤ 更新Service Implementation,創建SWC Ports并為Ports分配對應的Interface。

在信號路由過程中,需要電定義幾個通信Artifacts來完成以太網通信設計: ①Signa和PDU以及Signal和PDU Transmissions被自動創建; ②如果沒有進行Switch Configuration,則初始VLAN結構的Switch Configuration被設置,

2bfe8072-17eb-11ed-ba43-dac502259ad0.png

八、Socket Adaptor

Socket Adaptor提供了基于Socket的以太網通信和Classic AutoSAR面向PDU的通信之間的轉換,Socket Adaptor Connection Communication Viewer對于每一個VLAN提供了一個詳細的視圖,通過Take Over message ID ofService into IPDU header,可自動生成Socket Connection IPDUIdentifier的HeaderID。SocketAdaptor Bundle Communication Viewer提供了Server Sockets的詳細視圖。

2c217992-17eb-11ed-ba43-dac502259ad0.png

九、數據序列化(Data Serialization)

在以太網傳輸的數據必須被序列化成比特流,然后在接收端通過反序列化重構數據,選擇Signal點擊Update data Serialization setting atthe I-Signal,可生成Data Transformer,信號要經過Ldcom,對于每一個Signal-IPDU需要創建如下屬性:Protocol:SOMEIP,Transformer Class:SERIALIZER,Version:1, Signal:設置信號長度,SignalIPDU:設置IPDU長度,Signal-IPDU-Assignment:設置Byte Order、Transfer Property,同時對每一個PDU增加Event controlled Timing.

2c4f9412-17eb-11ed-ba43-dac502259ad0.png

十、服務發現(Service Discovery)

通過服務發現可以在服務提供者和服務消費者之間建立通信,服務提供者可以通過Offer Service宣布服務可用性及服務位置,服務消費者通過訂閱Event Groups來從服務提供者Get Notifications. 在PREEvisionSOA&Ethernet Explorer Service Discovery Category選擇VLAN,點擊Create Service Discovery,自動生成Socket Address/SocketConnection,通過Service Discovery Subscription創建服務訂閱,自動創建Socket Adaptor Routing Group,并將ProvierInstance和ConsumerInstance進行綁定,對于每一個Provide ServiceInstance、Consumer Service Instance,Event Handler、Consumed Event Group,需要進行如下參數設置。 Minor Version:次要版本; Major Version:主要版本; Instance Identifier:1,視通信矩陣而定; Service Identifier:10,視通信矩陣而定; Offer Cyclic Delay:2,表示Offer方在進入主階段后Offer報文的發送周期; Initial Delay Min Value:初始化階段延遲最小值; Initial Delay Max Value:初始化階段延遲最大值; Initial Repetitions Base Delay:重復階段報文發送基時; Initial Repetitions Max:重復階段報文發送最大次數; TTL:生存周期,單位為秒; Multicast Threshold:如果Server在響應訂閱時不需要用到多播,該值就設置為0; Event Group Identifier:事件組ID,視通信矩陣而定,當前為201。

2c6e4786-17eb-11ed-ba43-dac502259ad0.png

2c8e1f52-17eb-11ed-ba43-dac502259ad0.png

最后可導出Software Component Descrption ARXML文件,導入MatlabSimulink進行進一步的算法開發。

2cb62506-17eb-11ed-ba43-dac502259ad0.png

總結:

上述過程是基于PREEvision提供的SOA&Ethernet Exploer集成開發環境進行的,其提供了如下表格所示的10個Category,包含從服務定義到以太網設計的全過程,同時上述過程主要適用于Classic AutoSAR 平臺SOA的開發,對于AP平臺,PREEvision提供另外一個集成開發環境Adaptive AutoSAR Explorer,同時在服務定義階段,目前Vector已經開發了接口可以導入由外部工具設計的服務矩陣。

Category Table Editor
Service Definition Service Definition Editor
Service Interface Editor
SOME/IP Interface Deployment Editor
Service Interface Data Typr Editor
Service Implementation Service Implementation Editor
Service Interface Implementation Editor
Network Design Network Topology Editor
Service Deployment/Software Mapping Service ECU Deployment Editor
Service Socket Deployment Editor
Software Architecture Provider
Consumer
Switch Configuration VLAN Switch Configuration Editor
Switch Load Editor
Multicast MAC Forawarding Editor
Ethernet Communication ECU Definition
Ethernet Cluster Configuration
VLAN-ECU Allocation
Socket Adaptor Socket Adaptor Connection Communication Viewer
Socket Adaptor Bundle Communication Viewer
Data Serialization Data Transformation Viewer
Service Discovery Service Discovery
Service Discovery Subscription
Service Discovery Editor

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5129

    瀏覽量

    166580
  • AUTOSAR
    +關注

    關注

    9

    文章

    333

    瀏覽量

    21243
  • SOA
    SOA
    +關注

    關注

    1

    文章

    273

    瀏覽量

    27247

原文標題:面向服務架構SOA和以太網通信設計方法

文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    EtherCAT實時以太網分析儀直擊痛點#以太網

    以太網ethercat
    ZLG致遠電子
    發布于 :2022年12月12日 10:01:26

    EtherCAT實時以太網分析儀應用場景#以太網

    以太網ethercat
    ZLG致遠電子
    發布于 :2022年12月12日 10:02:50

    以太網是什么鬼?以太網基礎知識詳解

    以太網
    電子學習
    發布于 :2023年02月07日 21:05:57

    「無線工程師基礎知識」以太網是什么鬼?以太網的使用注意事項

    以太網
    電子學習
    發布于 :2023年02月08日 09:29:33

    車載以太網快速入門#車載以太網

    車載以太網
    北匯信息POLELINK
    發布于 :2023年09月01日 17:54:31

    車載以太網測試系統測試實例介紹#車載以太網

    車載以太網
    北匯信息POLELINK
    發布于 :2023年09月12日 17:27:48

    車載以太網基礎培訓——車載以太網的鏈路層#車載以太網

    車載以太網
    北匯信息POLELINK
    發布于 :2023年09月19日 16:25:21

    車載以太網總線基礎培訓——傳輸層#車載以太網

    車載以太網
    北匯信息POLELINK
    發布于 :2023年09月21日 10:57:36

    車載以太網基礎視頻——應用層#車載以太網

    車載以太網
    北匯信息POLELINK
    發布于 :2023年09月22日 09:05:01

    以太網和工業以太網的不同

    至 1 Gbps。但是,工業以太網應用最常使用100 Mbps的速度。圖2. 相較于辦公以太網系統,工業以太網需要進行更多考量。工廠車間中的制造設備會受到不同溫度、振動以及其他潛在的干
    發表于 10-23 14:20

    AUTOSAR的相關資料推薦

    AUTOSAR基礎篇之EcuM_wto9109的博客-CSDN博客【AutoSAR】【EcuM】ECU狀態管理專注汽車軟件開發、AutoSAR、車載以太網、
    發表于 01-27 08:25

    如何對SOA進行軟硬件部署

    的信號的方式進行通信,在核心的以太網骨干網絡中,將會以服務的方式進行數據之間的交互,就需要如DDS等通信中間件。服務層/應用層:標準化的服務層及可編排的應用層包含SOA系統功能管理、單
    發表于 06-10 17:23

    基于AUTOSAR技術的SOA軟件平臺實踐的簡析

    經緯恒潤與行業內合作伙伴芯馳科技從2021年年初展開聯合開發工作,基于芯馳異構SOC硬件平臺和經緯恒潤的 AUTOSAR軟件平臺聯合打造SOA軟件
    發表于 11-16 11:48 ?465次閱讀
    基于<b class='flag-5'>AUTOSAR</b>技術的<b class='flag-5'>SOA</b>軟件<b class='flag-5'>平臺</b>實踐的簡析

    Classic AUTOSAR的軟件架構和方法論

    隨著汽車電子軟件規模的不斷擴大,Classic AUTOSAR(以下簡稱CP)的軟件架構和方法論已被越來越多的 OEM 和供應商認可。與此同時,CP 也面臨著巨大的挑戰,無法滿足汽車對高級自動駕駛
    的頭像 發表于 05-24 17:12 ?2520次閱讀

    車載以太網時間同步AUTOSAR層級關系

    小T講到EthDriver一般都具備硬件時間戳特性,該特性便是車載以太網實現時間同步的一個關鍵前提,在AUTOSAR標準規范中,EthTsync模塊就是用來實現基于車載以太網的時間同步協議的一個獨有
    的頭像 發表于 07-24 10:24 ?939次閱讀
    車載<b class='flag-5'>以太網</b>時間同步<b class='flag-5'>AUTOSAR</b>層級關系
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>