车载以太网网络测试 -24【SOME/IP概述】
目录
- 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)申请。