如何实现CAN-SOME/IP通信路由测试

这篇具有很好参考价值的文章主要介绍了如何实现CAN-SOME/IP通信路由测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

区别于基于UDP的车内通信路由,基于SOME/IP协议的路由增加了服务发现(Service Discovery)和服务发布(Service Publish),那对于测试工程师来说,怎么实现CAN-SOME/IP路由的测试呢?

01 认识路由实现方式

首先要了解基于SOME/IP协议的路由设计原则,如果功能实现在Ethernet节点,则Ethernet节点为server,网关为client,如果功能实现在CAN节点,则网关为server,Ethernet节点为client,由网关实现Ethernet节点与CAN节点之间的路由。包括两种路由方式:报文路由和信号路由。

如何实现CAN-SOME/IP通信路由测试,网络,汽车,网络协议,someip,测试工具,模块测试

那么,CAN报文和SOME/IP报文怎么实现对应呢,举个例子:

在以下示例中,通过SOME/IP header中的ServiceID和MethodID可以关联到指定的CAN报文。

如何实现CAN-SOME/IP通信路由测试,网络,汽车,网络协议,someip,测试工具,模块测试

其中:

A代表ServiceID

B代表BusID

C代表CAN MessageID

E用来区分Method,或Event/Notifier 消息

报文路由:CAN报文的payload映射为服务接口的payload。网关实现CAN和SOME/IP协议之间的报文路由,不改变数据内容和数据长度。

如何实现CAN-SOME/IP通信路由测试,网络,汽车,网络协议,someip,测试工具,模块测试

信号路由:服务接口中的参数映射为CAN报文中的信号。网关实现不同数据类型之间的转换。

如何实现CAN-SOME/IP通信路由测试,网络,汽车,网络协议,someip,测试工具,模块测试

02 了解测试内容

报文路由不涉及信号内容解析,测试输入时可以不加载数据库文件也能完成测试,但是信号路由涉及SOME/IP接口参数的序列化和反序列化,需要加载数据库进行测试。

常见测试点

通信路由主要测试点包括:检查目标网段、报文类型、MessageID、payload length、payload是否正确,路由延迟时间等是否满足要求。

逆向测试的测试点主要有:payload length大于或小于预期,无效ID等

稳定性相关的测试点主要有:高负载,反复上下电,反复休眠等

以CAN-->SOME/IP 报文路由为例,已知某路由信息,测试Payload一致性。

路由信息

源网段(CAN)

目标网段(SOME/IP)

MessageID:0x100

DLC:8

ServiceID:0x0001

MessageType:Notification

EventgroupID:0x0001

NotificationID:0x8100

测试步骤

Step1:检查网关是否Offer ServiceID 0x0001

Step2:Tester模拟客户端,订阅ServiceID为0x0001,EventgroupID为0x0001的事件组,检查网关是否回复对应的SubscribeACK

Step3:在源网段模拟发送CAN报文,ID为0x100,data为01 02 03 04 05 06 07 08,检查是否接收到对应的SOME/IP报文

Step4:检查接收的payload与发送的payload是否一致

03 自动化测试解决方案

测试环境

搭建的测试环境要能与DUT建立通信,能控制DUT上下电和唤醒。可以参考以下的测试拓扑来监控DUT的通信,同时仿真Tester节点,模拟CAN和Ethernet节点与DUT进行通信。该套测试系统由CANoe测试软件、VT板卡、VN 5650,VN 16XX,程控电源和DUT组成。

如何实现CAN-SOME/IP通信路由测试,网络,汽车,网络协议,someip,测试工具,模块测试

测试脚本

在上述测试步骤中,Tester需要模拟CAN节点和SOME/IP服务客户端,测试脚本的开发可基于CAPL语言和Vector提供的SomeIP_IL.dll文件,分为以下几个步骤来实现 。

❶ 在TCP/IP Stack中,给Tester设置IP/MAC地址

❷ 模拟发送CAN报文

❸调用SomeIpOpenLocalApplicationEndpoint函数,创建一个Endpoint

❹ 调用SomeIpCreateConsumedServiceInstance函数,指定ServiceID和InstanceID

❺ 调用SomeIpAddConsumedEventGroup函数,指定EventgroupID

❻ 调用SomeIpCreateFieldConsumer函数,指定NotificationID,以及当接收到此Notification报文时的回调

❼ 创建回调函数,当接收到Notification报文时,比对payload是否一致

回调函数触发后,数据解析方法示例:

如何实现CAN-SOME/IP通信路由测试,网络,汽车,网络协议,someip,测试工具,模块测试

测试结果

CANoe监控报文以及数据处理结果展示:

如何实现CAN-SOME/IP通信路由测试,网络,汽车,网络协议,someip,测试工具,模块测试

通过调用SomeIP_IL.dll文件,可以实现Tester与网关之间的服务发现过程,以及服务接口的接收和调用,进一步达到测试的目的。

SOME/IP-->CAN路由的测试原理与上面相似,调用dll文件中的函数,实现模拟服务端的行为,信号路由的测试通过导入SOME/IP和CAN数据库文件,可以实现自动化测试。

以上就是我们给大家分享的CAN-SOME/IP路由测试的相关内容了,任何疑问或是自动化测试需求,都可以随时联系我们噢,感谢大家的阅读~文章来源地址https://www.toymoban.com/news/detail-563512.html

到了这里,关于如何实现CAN-SOME/IP通信路由测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SOME/IP 详解系列(3)—— 通信方式

    前面的文章给大家介绍了SOME/IP的功能、标准和报文格式,接下来我们开始介绍更多和实际应用相关的内容。首先,是通信方式。看看SOME/IP是如何通信的,节点之间是如何通过SOME/IP进行交互的。 在SOME/IP中,一共有三种通信方式,分别是Method、Event和Field。 Method有两种类型,

    2024年04月23日
    浏览(31)
  • (三) 搞定SOME/IP通信之CommonAPI库

    本章主要介绍在SOME/IP通信过程中的另外一个IPC通信利剑,CommonAPI库,文章将从如下几个角度让读者了解什么是CommonAPI, 以及库在实际工作中的作用 文中资源:vsomeip+commonapi+指导文档与demo源码 CommonAPI是GENIVI组织开发的一个基于C++的应用API库,没错,跟vsomeip协议栈是一个爹。其

    2024年02月08日
    浏览(43)
  • autosar引入了Secure SOME/IP-ACL 有什么目的?如何实现的?

    Secure SOME/IP-ACL 是一种基于 AUTOSAR 的安全机制,用于保护车载以太网上的 SOME/IP 通信¹。它的目的是防止未经授权的客户端或服务端访问或提供敏感的服务²。 Secure SOME/IP-ACL 的实现主要依赖于两个模块: Secure Onboard Communication (SecOC) Secure SOME/IP Service Discovery (SecSd) SecOC 模块负责

    2024年02月02日
    浏览(37)
  • <c++开发>通信工具 -之-SOME/IP移植部署 第一篇文章

    SOME/IP (Scalable service-Oriented MiddlewarE over IP) 是一种通信协议,主要用于嵌入式系统和车载网络中的服务导向通信。SOME/IP是AUTOSAR(AUTomotive Open System ARchitecture,汽车开放系统架构)标准的一部分,AUTOSAR是由主要汽车制造商和供应商共同制定的开放式汽车电子架构标准。 SOME/IP协

    2024年02月11日
    浏览(92)
  • 如何使用MCP2518FD外部CAN FD控制器实现速速CAN通信

             MCP2518FD外部CAN FD控制器具有小尺寸和SPI接口,可实现轻松连接。可将CAN FD通道轻松添加到缺少CAN FD外设或没有所需CAN FD通道的微控制器上。MCP2518FD支持经典格式 (CAN 2.0B) 和CAN灵活数据速率 (CAN FD) 格式中的CAN帧格式,符合ISO11898-1:2015标准。  框图: 本文实验板

    2024年01月18日
    浏览(40)
  • 车载 SOME/IP测试 上手整理 - 一万三千字

    篇幅较长,希望可以给没有相关经验又需要快速上手进行基础功能测试的工程师一些参考。 1.1 什么是SOME/IP? 简介与背景 SOME/IP(Scalable service-Oriented MiddlewarE over IP)是一种在IP网络上实现服务导向(SOA)的中间件协议。它最初是为了满足车载网络的特定需求而设计的,但也可

    2024年02月01日
    浏览(37)
  • 【零基础 STM32通过CAN通信驱动Maxon电机】第三章 STM32 CAN通信回环模式测试及Maxon电机通信

    第三章 STM32 CAN通信回环模式测试及Maxon电机通信 正点原子官方给的CAN通信例程需要lcd显示屏和两块板子,本章修改代码,仅用一块STM32进行回环模式的测试。 首先下载修改后的程序,运行并烧录(接线方式和运行方式与上一章完全相同)。注意板子右侧的接线帽要接正确,

    2024年01月21日
    浏览(43)
  • Linux网络编程——C++实现进程间TCP/IP通信

    地址接口 1、通用地址接口 共16字节 = 2字节地址类型 + 14字节地址数据 2、自定义地址接口 地址转换 1、需要将点分字符串ip转化为程序ip,使用inet_addr函数: 2、字节序转换 地址接口配置中的端口需要字节序转换,网络规定使用大端字节序。 地址接口配置 1、socket:创建套接

    2024年02月20日
    浏览(57)
  • 硬件设计 之 CAN通信-DSView逻辑分析仪使用-CAN波形测试

    ** CAN,Controller Area Network,控制器局域网是用于解决汽车众多控制部件之间的数据交换而开发的一种串行数据通信总线。 ** can总线采用差分电压传输数据,分别是CANH和CANL两根总线。总线上的信号电平分为这两条线之间的差分电压。 隐形电平:两条线静态时均为2.5V左右,压差

    2024年02月02日
    浏览(52)
  • AUTOSAR通信篇 - CAN网络通信(二:CanIf)

    目录 初始化 数据发送 请求发送 发送数据流 发送缓存 发送确认 数据接收 数据接收提醒 读取接收数据 CAN控制器模式 控制器模式转换 唤醒 PDU通道模式控制 PDU通道组 PDU通道模式 总结 在上一篇,我们介绍了CAN模块,接下来我们介绍在CAN模块之上的模块Can Interface(CanIf)模块

    2024年02月08日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包