跑车论坛 >
详解SOME/IP测试
回复

查看: 回复:7

详解SOME/IP测试

\"收藏此主题\"

wangzuanzui

 
 
注册:
2018-12-04
  • 0粉丝
  • 0精华
  • 1帖子
      随着ADAS、无人驾驶等技术在汽车领域的不断发展,汽车以太网作为其基础技术之一,越来越被行业重视和认同。汽车以太网相对传统汽车网络(CAN/CANFD、LIN、FlexRay)具有更复杂的OSI七层模型。为保证以太网通信设备之间的互操作性,验证车载以太网ECU标准和协议的一致性,OEM厂商要求控制器全面覆盖OPEN联盟的“OPEN Alliance Automotive Ethernet ECU Test Specification”规范。为降低软件和产品开发团队的测试成本,我们来介绍下“OPEN Alliance Automotive Ethernet ECU Test Specification”规范中的SOME/IP协议如何通过Vector CANoe工具进行测试开发。

首先来了解下SOME/IP定义和报文组成。
SOME/IP,即Scalabe service-Oriented MiddlewarE over IP protocol,是一种灵活的,基于IP协议的,面向服务的中间件。SOME/IP是一种专门运用于汽车领域的中间技术,主要用于控制报文通信。
SOME/IP主要有以下特性:
Serialization序列化;
Remote Procedure Call(RPC)远程过程调用;
Service Discovery服务发现;
Publish/Subscribe发布/订阅;
Segmentation of UDP Message UDP报文分段。
SOME/IP报文格式如下所示:

测试环境
那么如何对SOME/IP协议进行测试,需要具备怎样的测试环境呢?
SOME/IP测试的硬件环境主要有PC、VN5640和VT系统。PC执行测试软件包,VN5640作为网络接口卡进行以太网报文收发,VT供电系统对DUT进行供电。
测试硬件环境如下图所示:

SOME/IP的测试软件采用Vector公司的CANoe FULL版本(含Option Ethernet)。具有Ethernet Option的CANoe软件内部有Ethernet和SOME/IP模板工程。我们可在SOME/IP模板工程的基础上进行开发。

测试开发时,在CANoe软件中主要用到以下几个模块:
Test Setup
通过Test菜单栏下的Test Setup新建测试环境,并在测试环境下面新建CAPL Test Module。在Test Module中新建can文件进行代码的编写。

TCP/IP Stacks
在CANoe的Simulation菜单栏下选择TCP/IP Stacks,对测试节点的TCP/IP属性进行设置。主要设置测试节点的MAC地址、IP地址及掩码。

Panel
CANoe的panel工具主要实现测试用例的选择和参数配置的界面化。用户可在参数配置界面输入DUT和Tester的配置信息,并保存成ini文件。同时,用户也可以从特定的ini文件中读取配置信息,并显示在Panel界面上。

Network Node
Network Node模块用于链接can文件,在can文件中通过系统变量实现对Panel的操作控制,如导入/导出参数、全选/全不选测试用例组、选择某个或者某个测试用例。
 
Program Node
Program Node可在CANoe软件的Measurement Setup窗口中添加在Logging模块之前,对logging数据进行操作控制。

测试内容
SOME/IP的测试内容主要分为2大部分:SOME/IP Server测试和ETS测试。

SOME/IP Server测试包含8大部分内容:
Setup Verification:验证DUT是否具备最基本的offer报文发送和响应请求的能力
Message Format:验证Service Discovery报文的报头格式
Option Array:验证Service Discovery报文载荷中的Option Array格式
Service Discovery Messages:验证各种Service Discovery报文及其功能
Service Discovery Communication Behavior:验证DUT建立link后的各阶段的通信行为
SOME/IP Basic Functionality:验证基本的功能定义如InstanceID预留值、MethodID最高位
Specification of the SOME/IP on-wireformat:验证SOME/IP报文的在线格式
RPC Protocol specification:验证RPC协议
 
ETS测试主要测试一些预定义好的服务功能及网络行为,包含如下method、event和field:

     以上测试内容里面的具体测试用例可查看TC8规范文档“OPEN Alliance Automotive Ethernet ECU Test Specification”,SOME/IP Server测试共105条用例,ETS测试共144条用例。
 
     测试执行时需要输入ECU英名名称,在参数设置界面输入测试配置参数信息,并在测试用例选择界面选择对应的测试用例,运行“Action”按钮即可。CANoe测试软件包通过程序控制会自动生成测试logging数据和html版的测试报告。如下图所示:

     测试程序执行后会生成特定格式的html测试报告,通过转换工具可以快速转换为客户想要的Excel等格式,与测试用例相对应的测试数据(Log文件)也会逐条保存在指定路径下。

后记:

     在国内的OEM中也有部分客户不使用SOME/IP去实现应用层服务通信,也可以参考用以上测试开发思路去开发测试用例。用CANoe中自带的Ethernet函数,创建基于UDP协议或者TCP协议的数据包收发,在TCP/IP层的Payload中解析用户自定义的数据格式即可。

     东信创智(http://www.dotrustech.com/)致力于为汽车以太网客户提供高效、可靠的开发测试工具和解决方案。除了深耕传统的车载总线开发、车载总线测试及电子电气架构技术,东信在汽车电子新兴技术上的探索与投入也一直走在行业前列。东信拥有资深的总线及架构设计团队,能利用全球领先的工具链完全自主地实现基于车载总线测试、CANoe、PREEvision、SOA架构开发、总线的完整V模式开发。

 
回复本楼

太平洋汽车全新推出“太平洋车友会”;来太平洋车友会,结识志同道合的车友了解详情>>

铁龙

 
 
注册:
2014-10-18
车友会签到888天以上
来自太平洋汽车 iPhone客户端  
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 
回复本楼

铁龙

 
 
注册:
2014-10-18
车友会签到888天以上
来自太平洋汽车 iPhone客户端  
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 
回复本楼

苦海无边

 
 
注册:
2014-11-23
车友会签到888天以上
来自太平洋汽车 iPhone客户端  
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 
回复本楼

多啦A梦

 
 
注册:
2014-11-19
车友会签到888天以上
来自太平洋汽车 iPhone客户端  
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 
回复本楼

苦海无边

 
 
注册:
2014-11-23
车友会签到888天以上
来自太平洋汽车 iPhone客户端  
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 
回复本楼

多啦A梦

 
 
注册:
2014-11-19
车友会签到888天以上
来自太平洋汽车 iPhone客户端  
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 
回复本楼

苦海无边

 
 
注册:
2014-11-23
车友会签到888天以上
来自太平洋汽车 iPhone客户端  
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 
回复本楼
未登录用户

只可添加一张图片,多张图片请选高级模式

高级模式
温馨提示:回复超10字可获1金币,有独特见解超30字可获3金币,灌水用户将扣除金币并锁号处理。希望广大车友共同维护论坛的友好回复氛围。
常用表情

支付宝扫码询价
领最高888元现金红包

关闭