目錄
- 1 摘要
- 2 車載SOME/IP 概述
- 2.1發展背景以及應用
- 2.1.1車載 SOME/IP 背景
- 2.1.2 車載 SOME/IP 應用場景
- 2.3 什么是SOME/IP
- 2.3.1 SOME/IP定義
- 2.3.2 SOME/IP在協議棧中的位置
- 3 SOA是什么
- 4 SOME/IP主要功能
- 5 SOME/IP標準
1 摘要
本文主要介紹SOME/IP的背景以及在車載行業的發展和應用,并對SOME/IP的概念定義、協議棧位置、SOA簡述以及行業標準做了介紹。為后續詳細介紹SOME/IP做個鋪墊。
2 車載SOME/IP 概述
SOME/IP(Scalable Service-Oriented Middleware over IP)是一種基于IP網絡的面向服務的通信協議,專為汽車電子系統設計,支持服務發現、遠程過程調用(RPC)和事件通知等功能。核心標準是由 AUTOSAR(汽車開放系統架構)定義,現已成為車載通信的重要標準之一(如AUTOSAR 4.0+)。
2.1發展背景以及應用
2.1.1車載 SOME/IP 背景
-
行業驅動因素
- 智能化需求:自動駕駛(ADAS)、車聯網(V2X)等需要高帶寬、低延遲通信。
- EE架構演進:從分布式ECU向域控制器(Domain Controller)和中央計算平臺轉型,依賴SOA實現軟硬件解耦。
- 標準化推動:AUTOSAR Adaptive(支持動態部署)和經典AUTOSAR(靜態配置)均集成SOME/IP。
-
車載網絡演進
- 傳統架構:CAN/LIN主導,點對點通信,難以支持OTA、功能擴展。
- 現代架構:以太網+SOME/IP成為主干網,支持服務化通信(如特斯拉、大眾MEB平臺)。
1. 背景與起源(2011-2013年)
- 需求驅動:隨著汽車功能(如ADAS、車聯網、OTA)的復雜化,傳統基于信號(如CAN總線)的通信方式在靈活性和擴展性上遇到瓶頸,需要面向服務(Service-Oriented Architecture, SOA)的通信架構。
- 標準化啟動:2011年,寶馬(BMW)聯合博世(Bosch)等廠商提出SOME/IP概念,作為基于IP網絡的中間件解決方案,支持動態服務發現和遠程方法調用(RPC)。
- Autosar適配:2013年,AUTOSAR(汽車開放系統架構)在4.0版本中正式納入SOME/IP標準,推動其在ECU(電子控制單元)間的標準化應用。
2. 技術發展與行業推廣(2014-2018年)
- AUTOSAR CP/AP支持:
- Classic Platform (CP):面向傳統ECU,支持SOME/IP作為基礎通信協議。
- Adaptive Platform (AP):2017年發布的AUTOSAR AP進一步擴展SOME/IP功能,適應高性能計算(如域控制器、車載信息娛樂系統)。
- 車聯網與以太網普及:隨著車載以太網(如100BASE-T1)的標準化(IEEE 802.3bw),SOME/IP成為基于IP的高帶寬通信核心協議,支撐智能座艙、自動駕駛等場景。
- 行業應用案例:
- 寶馬、大眾等車企在高端車型中率先采用SOME/IP實現OTA、診斷等功能。
- 供應商(如博世、大陸)推出支持SOME/IP的ECU和工具鏈。
3. 成熟與生態完善(2019-2023年)
- 工具鏈成熟:Wireshark插件、CAPL腳本、Vector等工具支持SOME/IP分析和測試,降低開發門檻。
- 與DDS的競爭與互補:在自動駕駛領域,SOME/IP與DDS(如ROS 2使用的協議)形成競爭,但SOME/IP憑借AUTOSAR背書和低開銷優勢,在傳統ECU中仍占主導。
- 中國市場的崛起:國內車企(如蔚來、小鵬)在EE架構轉型中采用SOME/IP,推動本土供應商(如華為、東軟)推出解決方案。
4. 未來趨勢(2024年后)
- 與TSN的融合:時間敏感網絡(TSN)保障SOME/IP在實時性要求高的場景(如底盤控制)的可靠性。
- SOA全面落地:基于SOME/IP的SOA架構將成為“軟件定義汽車”的核心,支持功能動態部署和跨域協同。
- 標準化擴展:AUTOSAR持續更新SOME/IP規范(如SOME/IP-SD服務發現機制優化),適應5G/V2X場景。
2.1.2 車載 SOME/IP 應用場景
-
智能駕駛(ADAS)
- 功能示例:傳感器數據(攝像頭、雷達)通過SOME/IP實時傳輸至域控制器,觸發自動緊急制動(AEB)。
- 優勢:低延遲(<100ms)、支持大數據傳輸(如4K視頻流)。
-
智能座艙
- 功能示例:中控屏與儀表盤通過SOME/IP調用導航服務,動態同步路線信息。
- 服務發現:新增娛樂設備(如后排顯示屏)可動態加入網絡。
-
車聯網(V2X)
- 用例:車輛通過SOME/IP與云端交互,獲取實時交通信息或遠程診斷。
- 協議擴展:與MQTT、DDS等協議協同,支持混合通信。
-
OTA升級
- 流程:云端下發更新包至車載網關,通過SOME/IP服務調用分發至各ECU。
SOME/IP的發展反映了汽車產業從分布式ECU向集中式域控、從硬件定義到軟件定義的轉型趨勢,未來仍將是車載通信的核心技術之一。
與傳統協議對比 :
特性 | SOME/IP | CAN/CAN FD | LIN |
---|---|---|---|
通信模式 | 面向服務(SOA) | 信號導向(廣播) | 主從式通信 |
帶寬 | 高(基于以太網) | 中(CAN FD達2 Mbps) | 低(20 kbps) |
靈活性 | 動態服務發現 | 靜態配置 | 靜態配置 |
應用場景 | 智能座艙、ADAS | 車身控制、動力系統 | 門窗、座椅控制 |
2.3 什么是SOME/IP
2.3.1 SOME/IP定義
SOME/IP 的全稱是 Scalable service-Oriented MiddlewarE over IP,它是一種基于IP網絡的面向服務的通信協議,廣泛應用于汽車電子(AUTOSAR)和物聯網領域。以下是各單詞的詳細介紹:
- Scalable(可擴展的)
- 含義:指協議能夠適應不同規模的系統,從小型嵌入式設備到大型分布式系統均可靈活部署。實現不同硬件平臺、不同操作系統或嵌入式固件以及不同應用軟件的異構設備之間的可擴展性和互操作性。
- 特點:
- 支持動態服務發現和訂閱/發布模型。
- 可根據需求擴展服務實例和通信負載。
- service-Oriented(面向服務的)
- 含義:基于SOA(Service-Oriented Architecture)架構設計,將功能模塊化為獨立的“服務”,通過接口提供標準化訪問,這就確保了永遠不會浪費帶寬,并且僅在需要的時間和地點進行數據通信/交換。
- 特點:
- 服務可獨立開發、部署和更新。
- 服務間通過定義良好的API交互,解耦系統組件。
- MiddlewarE(中間件)
- 含義:作為底層網絡(IP)和上層應用之間的軟件層,抽象化通信細節(如序列化、路由、服務發現等)。
- 功能:
- 處理數據傳輸、序列化(TCP/UDP)。
- 管理服務注冊、發現和遠程調用(RPC)。
- 提供事件通知機制(如字段變更的發布/訂閱)。
- over IP(基于IP網絡)
- 含義:使用標準IP協議棧(IPv4/IPv6)作為傳輸基礎,兼容以太網、Wi-Fi等網絡。
- 優勢:
- 利用現有網絡基礎設施,降低部署成本。
- 支持跨設備、跨平臺的通信(如車內的ECU、云端服務)。
5 SOME/IP的核心特性
- 服務發現(SD):動態查找和綁定可用服務。
- 序列化:高效二進制編碼,節省帶寬。
- 通信模式:支持請求/響應、事件通知、字段訂閱。
- AUTOSAR集成:汽車電子中用于ECU(電子控制單元)間的通信。
2.3.2 SOME/IP在協議棧中的位置
SOME/IP屬于應用層協議(OSI第7層),但實際實現中它依賴于傳輸層(如TCP/UDP)和網絡層(IP),屬于中間件層(Middleware)。
如下圖所示,SOME/IP在車載以太網協議棧中的位置:
SOME/IP(Scalable service-Oriented MiddlewarE over IP)是車載以太網協議棧中的核心中間件協議,位于應用層與傳輸層之間,主要負責服務導向通信(Service-Oriented Communication, SOC)的實現。以下是其在協議棧中的具體位置及與其他模塊的關系:
與其他模塊/協議的關系:
(1) 與底層協議的關系
-
TCP/UDP:
SOME/IP默認使用UDP(低延遲、廣播/組播支持),但對可靠性要求高的服務(如診斷)可運行在TCP上。- 端口分配:SOME/IP-SD通常使用UDP端口30490,服務數據端口可動態配置。
-
IP層:
依賴IPv4/IPv6尋址,支持單播、組播(用于服務發現和事件通知)。 -
以太網(IEEE 802.3):
基于車載以太網(如100BASE-T1)的物理層和數據鏈路層,確保低延遲和高帶寬。
(2) 與上層應用的關系
- AUTOSAR架構:
- CP(Classic Platform):通過AraCom模塊集成SOME/IP,提供靜態服務配置。
- AP(Adaptive Platform):直接使用SOME/IP作為服務通信的核心協議,支持動態服務發現。
- 非AUTOSAR系統:可通過SOME/IP庫(如COVESA的vSomeIP)實現服務通信。
(3) 與SOME/IP-SD(服務發現)的關系
- SOME/IP-SD是SOME/IP的子模塊,獨立運行但緊密協同:
- 動態服務發現:允許ECU在啟動時廣播服務實例(如攝像頭服務地址)。
- 事件訂閱:客戶端通過SOME/IP-SD訂閱服務端的事件通知(如傳感器數據更新)。
(4) 與其他車載協議的關系
- DoIP(Diagnostic over IP):
SOME/IP可用于傳輸診斷數據,但DoIP專用于UDS(ISO 14229)標準診斷。 - DDS(Data Distribution Service):
在AP平臺中,DDS可能與SOME/IP共存,DDS適用于實時數據分發(如傳感器融合),SOME/IP側重服務調用。 - CAN/LIN:
SOME/IP通過網關(如AUTOSAR Ethernet Gateway)與傳統總線協議轉換,實現跨域通信。
(5) 與安全模塊的關系
- TLS/DTLS:
若需加密,SOME/IP可通過TLS(TCP)或DTLS(UDP)實現端到端安全。 - IPsec:
在網絡層提供ECU間的認證和加密,與SOME/IP互補。
總結
SOME/IP是車載以太網中承上啟下的關鍵協議:
- 向下:依賴TCP/UDP/IP和以太網,確保數據可靠傳輸。
- 向上:為應用層提供標準化服務接口,屏蔽網絡復雜性。
- 橫向:與SOME/IP-SD、安全協議、網關等協同,構建完整的服務通信生態。
其設計目標是為車載系統提供可擴展、低耦合的通信方式,適應未來SOA(面向服務架構)的需求。
3 SOA是什么
SOA(Service-Oriented Architecture,面向服務的架構) 是一種軟件設計模式,通過將功能拆分為獨立的、可復用的“服務”來構建系統。這些服務通過標準化的接口(如API)通信,實現松耦合、靈活擴展和跨平臺協作。
- 核心特點:
- 模塊化:功能以服務形式獨立存在(如“支付服務”、“導航服務”)。
- 標準化接口:服務通過通用協議(HTTP、MQTT等)交互。
- 松耦合:服務可獨立更新,不影響其他模塊。
生活中的SOA實例:
- 外賣平臺
- 下單服務 → 支付服務 → 配送服務,每個環節由不同系統提供,通過API協同工作。
- 在線購物
- 商品展示、庫存查詢、支付、物流跟蹤分別由獨立服務處理,整合在同一個前端頁面。
- 智能家居
- 燈光控制、溫濕度調節、安防攝像頭等服務通過云端協調,用戶通過App統一操作。
汽車行業的SOA應用與發展:
傳統汽車架構:ECU(電子控制單元)分散且專用(如發動機ECU、剎車ECU),難以升級。
SOA轉型:將車輛功能抽象為服務(如“自動駕駛服務”、“車聯網服務”),實現軟件定義汽車。
典型應用場景 :
- 車聯網與OTA升級
- 通過SOA將車載娛樂、導航、診斷等功能服務化,支持遠程更新(如特斯拉推送新功能)。
- 自動駕駛
- 感知、決策、控制模塊作為獨立服務,靈活整合不同供應商的算法(如激光雷達服務+高精地圖服務)。
- 智能座艙
- 語音助手、座椅調節、空調控制等服務可動態組合(如“上車自動播放音樂+調節溫度”)。
- V2X(車路協同)
- 車輛與交通信號燈、云端平臺通過服務交互,實現智能路線規劃。
行業案例
- 大眾MEB平臺:采用SOA架構,允許第三方開發者通過API擴展車載應用。
- 寶馬OS 8.0:將車輛功能(如駕駛模式切換)封裝為服務,支持個性化配置。
- 華為HarmonyOS車機:通過SOA實現手機、車機、家居設備的無縫互聯。
未來趨勢
- 軟件定義汽車(SDV):SOA是核心,車輛功能可通過軟件訂閱(如寶馬付費開通座椅加熱)。
- AI與SOA結合:車載AI服務(如語音助手)動態調用其他服務(導航、娛樂)。
- 跨行業融合:車與智慧城市、能源系統互聯(如電動車自動預約充電樁)。
SOA通過“服務化”打破傳統軟硬件綁定的局限,在汽車行業推動智能化、網聯化變革。從外賣平臺到自動駕駛汽車,其本質都是將復雜系統拆解為協同服務的集合,未來將成為數字化轉型的基礎架構。
4 SOME/IP主要功能
1. 面向服務的通信(Service-Oriented Communication)
- 服務接口:允許ECU以服務的形式提供功能(如傳感器數據、控制邏輯等),其他ECU或應用可以訂閱或調用這些服務。
- 松耦合架構:服務提供者和消費者無需直接知曉對方的具體位置或實現細節,只需通過服務接口交互。
2. 遠程方法調用(Remote Procedure Call, RPC)
遠程過程調用,一般用英文縮寫RPC表示,和其對應的是本地過程調用(LPC,Local Procedure Call)。簡單的說如果需要和其他的控制器或節點進行交互,那么就需要RPC。
- 方法調用:支持客戶端ECU遠程調用服務端ECU提供的函數(方法),并獲取返回值。
- 異步/同步通信:支持同步請求-響應模式,也支持異步通知或回調。
3. 事件通知(Event Notification)
- 發布/訂閱模式:服務提供者可以主動向訂閱者發送事件(如傳感器數據更新、狀態變化等)。
- 字段通知(Fields):當服務的某個字段(如車輛速度)發生變化時,自動通知訂閱者,減少不必要的輪詢。
4. 序列化與反序列化
- 高效數據編碼:定義緊湊的二進制數據格式,將復雜數據結構序列化為字節流傳輸,減少帶寬占用。
- 跨平臺兼容性:支持不同硬件架構(如大端/小端)的數據轉換。
5. 服務發現(Service Discovery)
- 動態服務管理:通過SOME/IP-SD(Service Discovery)協議自動發現和注冊可用服務,適應動態網絡環境(如ECU重啟或網絡拓撲變化)。
- 多播支持:使用多播通信廣播服務可用性,減少配置依賴。
6. 多傳輸協議支持
- TCP/UDP適配:支持可靠傳輸(TCP)和低延遲傳輸(UDP),根據場景選擇。
- QoS控制:通過優先級和重傳機制保障關鍵數據的實時性。
7. 安全與擴展性
- 可集成安全機制:支持與AUTOSAR SecOC等安全模塊結合,實現身份驗證和數據加密。
- 模塊化設計:適用于從簡單ECU到復雜域控制器的不同規模系統。
SOME/IP的核心是通過標準化服務接口和動態發現機制,實現汽車電子系統中靈活、可擴展的通信,同時兼顧效率和實時性,是AUTOSAR Adaptive平臺和下一代EE架構的關鍵技術之一。
5 SOME/IP標準
目前有三個組織發布過SOME/IP相關的內容,分別是COVESA、ISO和AUTOSAR。
COVESA
vSOMEIP,是由GOVESA聯盟(Connected Vehicle Systems Alliance,之前的名字為GENIVI)編制的一版SOME/IP協議棧,主要由寶馬維護。這套SOME/IP協議棧是開源的,在GitHub上可以免費下載,網址為https://github.com/COVESA/vsomeip。原文為vsomeip Copyright? 2015-2022, Bayerische Motoren Werke Aktiengesellschaft。
ISO
ISO制定的SOME/IP相關標準ISO 17215-2:2014 Road vehicles — Video communication interface for cameras (VCIC) — Part 2: Service discovery and control其中定義了SOME/IP和SOME/IP SD相關的需求,以及一套如何通過SOME/IP實現攝像頭服務的方法。
AUTOSAR
SOME/IP正由于其知名度逐漸被AUTOSAR接納并計劃納入其正式標準,并且在2014年集成進AUTOSAR 4.X中,幾個關鍵發展節點如下:
1.AUTOSAR 4.0 - 完成寶馬SOME/IP消息的初步集成;
2. AUTOSAR 4.1 - 支持SOME/IP-SD及其發布/訂閱功能;
3. AUTOSAR 4.2 - 添加transformer用于序列化以及其他相關優化;
4. AUTOSAR 4.3 - 修復一些transformer bug同時添加針對大量UDP數據包的SOME/IP-TP協議以及其他SOME/IP-SD的優化工作;
主要分為如下幾類:
1. AUTOSAR_SWS_SOMEIPTransportLayer (AUTOSAR 標準)
- 核心內容:定義SOME/IP協議的基礎傳輸層規范,包括報文格式、序列化、服務發現等。
- 關鍵章節:
- Chapter 5: General Requirements
概述SOME/IP的設計原則,如基于UDP/TCP的通信、事件通知、遠程方法調用等。 - Chapter 7: SOME/IP報文格式
詳細描述報文頭部結構(Message ID、Length、Request ID等)及負載的序列化規則。 - Chapter 8: Service Discovery (SD)
服務發現機制,包括服務上線/下線通知、多播組管理(Entry/Subscribe/StopSubscribe)。
- Chapter 5: General Requirements
2. AUTOSAR_SWS_SOMEIPServiceDiscovery (AUTOSAR 標準)
- 核心內容:專用于SOME/IP服務發現(SD)的詳細規范。
- 關鍵章節:
- Chapter 6: SD報文格式
定義服務發現報文的字段(Entry、Option等)及多播/單播通信模式。 - Chapter 7: SD狀態機
描述服務實例的初始化和訂閱流程(如定時器配置、重傳機制)。
- Chapter 6: SD報文格式
3. AUTOSAR_SRS_SOMEIPProtocol (需求規范)
- 核心內容:從需求角度定義SOME/IP的功能性和非功能性要求。
- 關鍵章節:
- Chapter 4: Functional Requirements
明確通信模式(請求/響應、發布/訂閱)、序列化兼容性、錯誤處理等需求。 - Chapter 5: QoS要求
包括延遲、可靠性(如TCP重傳)和帶寬管理。
- Chapter 4: Functional Requirements
4. AUTOSAR_SWS_Serialization (序列化規范)
-
核心內容:數據序列化規則,確保跨平臺兼容性。
-
關鍵章節:
- Chapter 5: Data Types
基礎類型(uint8, float等)的字節序(Big-Endian)和對齊規則。 - Chapter 6: Complex Types
結構體(struct)、數組(array)、字符串(string)的序列化方式。
5. SOME/IP官方協議規范(非AUTOSAR)
- Chapter 5: Data Types
-
核心內容:由BMW等廠商提出的原始協議定義(AUTOSAR標準的前身)。
-
關鍵章節:
- Section 3: Protocol Overview
對比AUTOSAR版本,可能包含歷史實現差異或擴展功能。
- Section 3: Protocol Overview
-
6. AUTOSAR_SWS_NetworkManagement
-
相關章節:SOME/IP與車輛網絡管理(如休眠/喚醒)的交互(如NM報文對SOME/IP服務的影響)。
文檔獲取方式:
- AUTOSAR標準:需從官網(www.autosar.org)獲取,部分舊版本可免費下載。
- 非AUTOSAR文檔:需通過廠商或行業組織(如GENIVI)申請。