在以CAN總線為主的車載網(wǎng)絡(luò)中,通信過程是面向信號的(除了診斷通信之外),這是一種根據(jù)發(fā)送者需求實(shí)現(xiàn)的通信過程,當(dāng)發(fā)送者發(fā)現(xiàn)信號的值變化了,或者發(fā)送周期到了,就會發(fā)送信息,而不考慮接收者是否有需求。
SOME/IP則不同,它是在接收方有需求的時(shí)候才發(fā)送,這種方法的優(yōu)點(diǎn)在于總線上不會出現(xiàn)過多不必要的數(shù)據(jù),從而降低負(fù)載?;诮?jīng)典信號(例如 CAN)的通信 - 不足以進(jìn)行更復(fù)雜的數(shù)據(jù)通信和控制。高度計(jì)算密集型 ECU可以在需要時(shí)向其他 ECU 提供所需的情報(bào)。
以太網(wǎng)作為車載網(wǎng)絡(luò)的出現(xiàn)是基于經(jīng)典信號+動態(tài)合約+帶寬的通信形式。可以使用以太網(wǎng)處理具有方法Methods和事件Events的復(fù)雜服務(wù)接口,使用 TCP/UDP、IP 的面向服務(wù)的中間件協(xié)議為車輛增加新的功能和特性,集成新功能,對現(xiàn)有功能實(shí)現(xiàn)的改動最小,減少了復(fù)雜現(xiàn)代架構(gòu)中靜態(tài)定義接口和數(shù)據(jù)交換的問題,使車輛成為高度連接和數(shù)字世界的一部分。
對于SOA來講,由于采用了先進(jìn)的以太網(wǎng)格式,以太網(wǎng)數(shù)據(jù)傳輸服務(wù)可以由Server和Client兩個(gè)部分共同完成,因此在進(jìn)行數(shù)據(jù)傳輸之前,需要準(zhǔn)備一系列的工作來確認(rèn)Server和Client之間是否已建立網(wǎng)絡(luò)連接。其次,Client還要詢問Server能否提供所需的服務(wù),滿足數(shù)據(jù)傳輸需求,并對服務(wù)的Event進(jìn)行訂閱。這些工作都是通過SOME/IP服務(wù)發(fā)現(xiàn)(Service Discovery)實(shí)現(xiàn)的。服務(wù)是SOME/IP的最核心的一個(gè)概念,屬于會話層的協(xié)議。
總體說來,使用SOME/IP具有如下特點(diǎn):
采用交換式以太網(wǎng):通過幾個(gè)交換機(jī)可連接幾十個(gè)節(jié)點(diǎn),啟動時(shí)各節(jié)點(diǎn)不同步,傳輸幀延遲小于幾毫秒;
一個(gè)節(jié)點(diǎn)可以托管多個(gè)不同服務(wù)的客戶端并提供多種服務(wù),服務(wù)總數(shù)從幾十到幾百不等;
一個(gè)節(jié)點(diǎn)請求提供服務(wù)的一小部分(最多幾十個(gè)),節(jié)點(diǎn)可能需要訂閱服務(wù)才能提供自己的服務(wù);
服務(wù)可能不會一直被使用和提供:比如模式變化、部分聯(lián)網(wǎng)等場景;
01 基于SOME/ IP可擴(kuò)展面向服務(wù)的中間件
事件驅(qū)動的 SOA:事件與服務(wù)相遇
PDU 路由組管理需要管理啟用到禁用的套接字PDU 路由,SOME/IP - 套接字適配器 [SoAD] - AUTOSAR 模型構(gòu)建塊,可用于通用上層支持SOME/IP中的服務(wù)發(fā)現(xiàn)。
SOME/IP SD報(bào)文也是一種SOME/IP的數(shù)據(jù)報(bào)文,是在SOME/IP數(shù)據(jù)報(bào)文的前提上進(jìn)行了擴(kuò)展需求,增加了Entry、Option等字段;Entries用于同步服務(wù)實(shí)例的狀態(tài)和發(fā)布/訂閱的管理,Options用于傳輸Entries的附加信息。
Type = 0x00 encodes “FindService”
Type = 0x01 encodes “OfferService” And“StopOfferService”
Type = 0x06 encodes “SubscribeEventGroup”And “StopSubscribeEventGroup”
Type = 0x07 encodes“SubscribeEventGroupAck” And “StopSubscribeEventGroupNack”
Type = 0x02, 0x03, 0x04, 0x05 not defined
SOME/IP SD數(shù)據(jù)報(bào)文的ServiceID(0xFFFF)、MethodID(0x8100)、Request ID(0x0000)、ProtocolVersion(0x01)、Interface Version(0x01)、MessageType(0x02)、ReturnCode(0x00)等等屬性都是一個(gè)固定值。
02 SOME/IP協(xié)議格式
從啟用禁用到整個(gè)套接字的 PDU 路由,SOME/IP消息由報(bào)頭header和有效負(fù)載Payload組成。
消息ID:服務(wù)ID和事件/方法ID的組合
長度Length:包含從請求ID到SOME/IP消息結(jié)束的長度(以字節(jié)為單位)
請求ID:允許提供者和訂閱者區(qū)分同一方法、事件、getter或setter的多個(gè)并行使用
協(xié)議版本:包含SOME/IP協(xié)議版本的8位字段
接口版本:包含服務(wù)接口主要版本的8位字段
消息類型:用于區(qū)分消息類型
返回碼:用于指示請求是否已成功處理。
AP平臺的方法論作為CP平臺的擴(kuò)展,其引入了新的概念,AP平臺軟件的實(shí)例是在進(jìn)程的上下文中執(zhí)行。AP平臺引入了“機(jī)器”(Machine)的概念,“機(jī)器”是虛擬化的ECU一個(gè)可以部署軟件的實(shí)體。
在AUTOSAR架構(gòu)中,SOME/IP-SD模塊位于AUTOSAR BSW Mode Managermodule(BswM)和AUTOSAR SocketAdaptor module (SoAd)之間。BswM模塊提供了通用模式請求和服務(wù)請求之間的連接。SoAd模塊則處理以太網(wǎng)堆棧和Sd模塊之間的服務(wù)請求。通過配置SoAd中的SocketConnection表,可以接收其他ECU的Sd模塊發(fā)來的單播和多播報(bào)文。用于 SOME/IP 的套接字適配器、COM 和 RTE,而SD則擁有自己的模塊。
SoAd 層支持通過 TCP/IP 網(wǎng)絡(luò)進(jìn)行基于 PDU 的通信。AUTOSAR I-PDU 映射到由 SoAd 配置和維護(hù)的套接字連接。要為多個(gè) I-PDU 使用套接字連接,可以在每個(gè) I-PDU 前面添加 SoAd PDU 標(biāo)頭。
03 SOME/IP的三個(gè)原始接口服務(wù)
AP平臺是一個(gè)面向服務(wù)的軟件架構(gòu)(SOA),基于AP平臺的軟件開發(fā)首先需要進(jìn)行服務(wù)接口的設(shè)計(jì)。服務(wù)接口可以由事件(Events)、方法(Methods)和字段(Fields)組成是生成軟件組件頭文件的基礎(chǔ)。
1、方法(Methods)
調(diào)用或引用一個(gè)進(jìn)程/函數(shù)/子程序,通常由Client發(fā)起,并由Server答復(fù)。Request是最常見的一種Method,由Client向Server請求數(shù)據(jù);Response是Request的結(jié)果,由Server答復(fù)Client的Request。而Method Fire & Forget方式,只Client向Server發(fā)起,但Server對該請求不回復(fù)。
2、事件(Events)
一個(gè)單向的數(shù)據(jù)傳輸,只能是on change類型,用于Server主動向訂閱(Subscribe)了相關(guān)服務(wù)的Client發(fā)布(Publish)信息。
3、字段(Fields)
由以下三項(xiàng)內(nèi)容構(gòu)成:
Notifier:通知,Server的Client訂閱了服務(wù)后第一時(shí)間主動向其發(fā)送數(shù)據(jù)。
Getter:獲取,由Client向Server請求數(shù)據(jù)。
Setter:設(shè)置,由Client修改Server的數(shù)據(jù)。
這里需要注意,NOTIFICATION分為Event和Field 兩類,這兩類通知都需要首先使用SOME/IP-SD(Service Discovery)來進(jìn)行服務(wù)訂閱,然后才能發(fā)布通知。
client可以通過SOME/IP-SD來實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)過程,從而得以遠(yuǎn)程調(diào)用server提供的服務(wù),或者訂閱server發(fā)布的內(nèi)容。區(qū)別在于,Event是某一時(shí)刻的快照,只是事件通知,而Field除了事件通知之外,還具有Getter和Setter的功能,即對信息進(jìn)行讀寫的操作。
04 高級自動駕駛架構(gòu)下的SOME/IP的通信機(jī)制
如下圖顯示了一種面向服務(wù)中典型的基于SOME/IP進(jìn)行有效通信的連接架構(gòu),就智能駕駛來講,各ECU端均通過交換機(jī)Switch向相關(guān)聯(lián)的端口發(fā)送相應(yīng)的請求端口號及服務(wù)內(nèi)容。
這里我們舉一個(gè)例子,假如需要實(shí)現(xiàn)自車安全停車(Safe Stop)邏輯,同時(shí)通過抬頭顯示單元進(jìn)行顯示。這里假如車輛控制單元VDC進(jìn)行車輛前端感知、融合及后端規(guī)控,那么整個(gè)控制過程則需要首先由自動駕駛域控制器作為客戶端,則需要首先由請求端Vehicle Contol通過SOME/IP封裝的相應(yīng)的服務(wù)端口及地址。
中央控制器單元通過采用定義三種不服務(wù)接口(其中Event Group包含垂直方向數(shù)據(jù),F(xiàn)ields包含障礙物類型數(shù)據(jù),Methods包含通知/獲取/設(shè)置等相關(guān)內(nèi)容信息)向?qū)?yīng)的端口Port(如攝像頭端口Port=30501,雷達(dá)端口Port=30501,通常傳感器使用相同的端口,通過不同的IP地址加以區(qū)分)和IP地址(IP=192.168.10.100,IP=192.168.10.101)發(fā)起請求傳感器檢測的目標(biāo)數(shù)據(jù)服務(wù)Provided ServiceInterface。
傳感器作為服務(wù)端接收到該請求后,將帶有Event Group屬性的信息(比如Distance_Data、Object_Event_Grp_1)和Fields屬性的信息(比如Front_Distance(Notifier_1)、Rear_Distance(Notifier_2)、Object_New_Position、Object_New_Blurred)回傳給域控制器。
另一個(gè)例子,比如訂閱機(jī)制中,高精地圖Server向外提供高精地圖數(shù)據(jù)(Offer Service),ADAS控制單元想要訂閱其車道線相關(guān)信息(Subscribe EventGroup),高精地圖Server同意其訂閱請求(Subscribe EventGroup Ack),而后Server開始發(fā)布高精地圖的車道線數(shù)據(jù)給ADAS控制單元。
再如,請求與響應(yīng)機(jī)制,HU想要獲取DVR內(nèi)存信息,此時(shí)DVR是Server,HU是Client,由HU向DVR發(fā)出request,DVR收到請求后,根據(jù)自身當(dāng)前狀態(tài),回復(fù)Response。
審核編輯:劉清
-
CAN總線
+關(guān)注
關(guān)注
145文章
1985瀏覽量
132787 -
車載網(wǎng)絡(luò)
+關(guān)注
關(guān)注
6文章
169瀏覽量
32490 -
ecu
+關(guān)注
關(guān)注
14文章
933瀏覽量
55787 -
SOA
+關(guān)注
關(guān)注
1文章
301瀏覽量
28198
原文標(biāo)題:Some/IP如何應(yīng)用于面向服務(wù)架構(gòu)SOA架構(gòu)開發(fā)
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
中科創(chuàng)達(dá)與ETAS推出預(yù)集成多域中間件解決方案
芯原可擴(kuò)展的高性能GPGPU-AI計(jì)算IP賦能汽車與邊緣服務(wù)器AI解決方案
光庭信息SOME/IP平臺融合解決方案介紹

服務(wù)與數(shù)據(jù)的雙螺旋:從SOME/IP到DDS看汽車電子架構(gòu)的進(jìn)化之路

《聊一聊ZXDoc》之汽車服務(wù)導(dǎo)向SOME/IP

STM32MP131C CbueMX中間件無RTOS選項(xiàng)是怎么回事?
2024年AI開發(fā)者中間件工具生態(tài)全面總結(jié)
恩智浦強(qiáng)化汽車和工業(yè)物聯(lián)網(wǎng)業(yè)務(wù):6.25 億美元收購中間件企業(yè) TTTech Auto

零念科技PowerD-Sch中間件獲ISO 26262 ASIL D級認(rèn)證
東方通聯(lián)合openEuler社區(qū)即將開啟云原生開源中間件 Meetup北京站
DDS通信中間件——DCPS規(guī)范(下)

中間件全球數(shù)據(jù)實(shí)時(shí)同步利器,華為云 EventGrid 事件流重磅發(fā)布

DDS通信中間件——DCPS規(guī)范(上)

評論