APP下载

基于车载以太网SOME/IP协议的研究及其在商用车中的应用

2024-06-08任勇刘康王静王涛李小燕

汽车电器 2024年5期

任勇 刘康 王静 王涛 李小燕

【摘  要】由于汽车智能化、网联化的进一步发展,车载以太网不仅在乘用车领域得到了越来越广泛的应用,而且在商用车领域也逐步得到了应用。目前国内乘用车已经逐步采用SOME/IP的通信方案,商用车采用SOME/IP通信技术的报道较少。本文主要介绍SOME/IP数据格式和通信机制,并着重介绍在OTA升级中的应用、SOME/IP的测试内容及相关测试实例。

【关键词】车载以太网;SOME/IP;协议测试;OTA

中图分类号:U463.6    文献标识码:A    文章编号:1003-8639( 2024 )05-0047-04

Research on Vehicle Ethernet Based SOME/IP Protocol and Its Application in Commercial Vehicles

REN Yong,LIU Kang,WANG Jing,WANG Tao,LI Xiaoyan

(Beijing Foton Daimler Automotive Co.,Ltd.,Beijing 101400,China)

【Abstract】Due to the further development of automotive intelligence and networking,in vehicle Ethernet has not only been widely used in the field of passenger cars,but also gradually applied in the field of commercial vehicles. At present,domestic passenger cars have gradually adopted the communication scheme of SOME/IP,and there are few reports on commercial vehicles using SOME/IP communication technology. This article mainly introduces the format and communication mechanism of SOME/IP data,with a focus on its application in OTA upgrades,testing of SOME/IP,and related testing examples.

【Key words】vehicle Ethernet;SOME/IP;protocol test;OTA

作者簡介

任勇(1990—),男,硕士,从事汽车控制器仿真测试、车载网络测试工作。

1  引言

随着智能驾驶、智能座舱和车联网技术的发展,汽车总线数据传输量与日俱增,汽车车载网络容量需求已极大超过了传统汽车车载网络(CAN、CANFD、LIN等)的能力范围,从而诞生了拥有更高传输速率的车载以太网技术。车载以太网凭借其高通信速率、高稳定性、低电磁辐射、低功耗及同步实时性等优良性能,被汽车领域广泛认为是新一代的主流车载网络通信技术[1]。

SOME/IP(Scalable service-Oriented MiddlewarE over IP)是一种基于IP的可扩展面向服务的中间件的应用层开放协议,最早成功应用于BMW公司某款车型的网络通信中,该协议于2011年由BMW集团提出,位于TCP/UDP之上,兼容当前主流的汽车用例与汽车开放系统架构(AUTOSAR架构)[2]。近年来,在乘用车领域逐步采用SOME/IP车载通信技术,而国内商用车采用此项技术的上市车型报道较少。

2 SOME/IP协议研究

2.1  SOME/IP协议格式

SOME/IP协议是SOA架构(Service-Oriented Architecture)实现的中间件协议。根据图1可以看出,SOME/IP协议位于OSI参考模型的5~7层,为典型的应用层协议,可以提供API接口创建Client/Server客户端,亦可添加功能逻辑用于控制消息及应用数据传输。

SOME/IP报文格式如图2所示,SOME/IP消息由报头Header和有效负载Payload组成。SOME/IP报头共16Byte,组成包括:Service ID(服务的唯一识别号)、Method ID(标识出一个方法)、Length(除Message ID和Length之外的数据长度)、Client ID(标识一个具体的客户端)、Session ID(标识同一客户端的多次调用)、Protocol Version(协议版本号)、Interface Version(标识识别服务接口)、Message Type(报文类型,详见表1)、Return Code(返回码,详见表2)。

2.2  SOME/IP通信接口

远程过程调用协议(Remote Procedure Call,RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。

SOME/IP是实现远程服务调用的接口,远程服务调用 报文类型可分为Method和Event。Method类型有Request/ Response(RR)、Fire&Forget(FF)两种通信方式;图3所示RR通信主要用于实现Client端发送请求消息,Server端接收到请求,处理后进行响应;FF是一种不需要Client端响应报文的请求通信。图4所示Event类型的通信主要用于实现Client端向Server端订阅需要的事件组/事件,当事件被触发时,Server端需要向Client端发送更新的内容。

访问进程通信机制主要是对应用程序数据(Field)的配置,Field可分为Getter和Setter两种机制,客户端通过Getter方法获取服务端的值,通过Setter方法设置服务端的值。Getter/Setter服务和Event服务的工作机制如图5所示。

2.3  SOME/IP SD简介

SOME/IP SD(Service Discovery)是SOME/IP的一种特殊报文[3]、服务的信息清单及管理机制,服务者通过SOME/IP SD告知其他ECU某服务可用,并间接告知该服务的地址,服务消费者可以调用服务的相关内容。

SOME/IP SD报文报头Header由SOME/IP报头和SOME/IP SD组成,如图6所示。

1)Flags:①最高位是Reboot Flag,初始化为1,当Session ID填满溢出时(由0xFFFF变为0x0001时),Reboot由1变为0;②第2位是Unicast Flag,表示SD报文支持通过单播方式接收。

2)Length of Entries Array:Entries Array的字节长度。

3)Entries Array:服务实例的“入口”,该入口包含服务实例以及需要订阅的事件组的信息,可分为面向服务组(FindService、OfferService和StopOfferService)和面向事件组(SubscribeEventgroup、SubscribeEventgroupAck、Subscribe-EventgroupNAck和StopSubscribeEventgroup)两种类型。

4)Length of Options Array:Options Array的字节长度。

5)Options Array:用来传输Entry的附加信息,包括对于服务实例的IP地址、传输协议、端口号等有效信息,可分为Configuration Option(配置选项)、Endpoint Option(终端节点选项)和Multicast Option(多播配置选项)。

图7为服务订阅过程。Client端可通过FindService报文发现服务实例,Server端发送OfferService告知某服务实例可用,Client端使用Subscribe Eventgroup报文订阅服务实例,最后Server端通过Subscribe EventgroupAck告知Client端该服务组订阅成功。

3  SOME/IP协议的应用实例

本文主要阐述SOME/IP协议在OTA升级过程中的应用。OTA升级架构主要由IVI、中央网关和T-BOX组成。中央网关连接IVI和T-BOX,总线数据的传输通过SOME/IP协议实现。OTA升级架构如图8所示。

OTA升级流程主要步骤为:①获取服务器配置信息,车辆零件信息上报;②OTA流程触发;③OTA前置条件检查;④下载软件包;⑤安装软件包;⑥验证更新后的整车系统。

OTA刷写过程中需要与IVI进行多次交互,例如当收到新版本信息时进行提醒,接收到新任务时提供升级包确认下载选项及执行下载,选择立即安装软件包,预约时间安装软件包等。以T-BOX读取IVI信息(软硬件版本号、诊断ID、供应商编码等)为例:首先,客户端T-BOX需要订阅服务端IVI,获取车辆信息服务(RR类型);其次,云端与T-BOX交互后会触发T-BOX激活获取车辆信息服务;然后,IVI通过RR类型服务返回ECU信息;最后,T-BOX将零件信息上报给云端。图9为车辆零件信息上报流程。

4  SOME/IP协议的测试

SOME/IP协议测试主要分为单件级测试、系统级测试与整车级测试。单件级测试主要为SOME/IP协议一致性测试,系统及整车级测试主要为通信行为及通信配置等方面的测试。

4.1  SOME/IP协议单件级测试

SOME/IP协议一致性测试用例来源于OPEN ALLIANCE TC8 3.0,包括SOME/IP Server测试和SOME/IP ETS测试。图10为SOME/IP协议一致性测试拓扑图。

SOME/IP Server测试依靠DUT自身的SOME/IP应用功能,测试协议实现的基础内容。测试用例包括:报文格式测试、Options数组测试、SD报文测试、SD通信行为测试、SOME/IP基本功能测试、SOME/IP在线格式规范测试和RPC协议测试。

SOME/IP ETS测试主要根据TC8定义的增强可测试性服务ETS(Enhanced Testability Service)进行,目的是为了弥补SOME/IP Service测试覆盖度不足。实际项目测试中,通常需要供应商集成ETS服务到被测控制器中,车辆量产后关闭该服务。测试用例包括:SOME/IP服务发现测试、序列化测试、数据长度异常处理测试、字节顺序与位域的发送接收测试、不同类型数据相应参数的发送和接收测试等。

4.2  SOME/IP协议系统级测试

SOME/IP协议系统级测试和整车级测试,测试用例基本相同,主要为通信功能相关的测试,本文主要阐述系统级别测试内容。从图11可以看出,SOME/IP协议系统级测试主要通过网关OBD口镜像收发SOME/IP报文进行相关项测试。

SOME/IP协议系统级测试主要包括SOME/IP通信行为测试、基础通信配置测试、网络管理测试、稳定性测试、相关故障诊断测试、总线镜像测试。

1)SOME/IP通信行为测试包括SOME/IP-SD行为测试、SOME/IP Messages行为测试、SOME/IP错误检查测试、SOME/IP动态时序测试、SOME/IP系统魯棒性测试。

2)基础通信配置测试包括MAC测试(MAC地址测试、VLAN报文测试等)、TCP/IP测试(IP版本测试、IP地址测试、IP分片测试、IP端口测试等)、DHCP IP配置测试。

3)网络管理测试包括唤醒性能测试、唤醒条件测试、休眠条件测试和重复唤醒测试。

4)稳定性测试包括长时间运行稳定性测试、反复上下电通信稳定性测试、反复休眠唤醒(KL15)通信稳定性测试、反复休眠唤醒(NM)通信稳定性测试。

5)相关故障诊断测试包括检查所有DTC测试、以太网Link失效故障DTC、以太网节点丢失故障DTC、SOME/IP无响应DTC。

6)总线镜像测试包括总线镜像功能开启/关闭测试、源网段流量监控、长时间镜像稳定性测试、异常工况测试-网关控制器重启。

4.3  SOME/IP协议测试实例

本节介绍SOME/IP Client服务订阅测试的测试过程,包括前期测试用例撰写和后期测试结果分析。SOME/IP Client服務订阅测试用例设计见表3,测试用例包括测试编号、测试目的、测试环境、前提条件、测试输入、测试步骤和评价标准。

图12为Wireshark软件抓取的测试数据,从图中可以看出,该SOME/IP SD报文订阅了4组服务:①Service ID=Oxb801,Eventgroup ID=0x0001;②Service ID=Oxb801,Eventgroup ID=0x0003;③Service ID=Oxb802,Eventgroup ID=0x0002;④Service ID=Oxb804,Eventgroup ID=0x0002。若Client节点按照通信矩阵定义,订阅了所需的所有Eventgroup服务,则本条测试用例PASS。

5  结论

本文主要介绍SOME/IP协议的数据格式和通信机制,浅谈SOME/IP协议在OTA升级过程中的应用场景,阐述SOME/IP协议测试的内容,并列举测试用例设计和测试结果分析的过程。

综上所述,SOME/IP通信技术已经逐步应用在商用车领域。本文对车载以太网SOME/IP协议及在商用车应用的研究,为国内商用车技术人员探索使用以太网SOME/IP通信技术提供重要参考。

参考文献:

[1] 曹丽平,徐维,刘敏. 车载以太网SOME/IP协议及一致性测试系统研究[J]. 汽车电器,2023(6):55-58,62.

[2] 张毅峰,欧阳颂华,魏鹏,等. SOME/IP车载以太网服务协议的关键技术与性能分析[J]. 现代电子技术,2023(5):15-19.

[3] 李志涛,姬志博,耿伟峰. 车载以太网SOME/IP测试的研究与分析[J]. 汽车电器,2022(6):95-98.

(编辑  凌  波)

收稿日期:2024-03-05