• 如何实现CAN/LIN通信路由测试?


    目前车载网络通信越来越复杂,通信总线、协议多种多样,网关作为信息交互的载体,主要通过报文路由转发、报文过滤、信号重组等方式实现不同网段、不同协议间的信息交互;在复杂的车载网络中,网关通信路由转发功能具有非常重要的作用,通信路由功能的可靠性进行验证尤为重要。

    针对通信路由的测试验证,怿星科技提供了自研的Neptune CAN/LIN通信路由自动化测试解决方案,下面跟着小编详细了解一下。

    CAN/LIN通信路由测试点

    CAN/LIN通信路由测试主要分为周期报文路由测试、事件报文路由测试、信号路由测试、容错性测试四部分。

    01

    周期报文路由测试点

    周期报文路由是源报文和目标报文都有固定的发送周期,而且两者周期可以不同,源网段接收到报文之后,并不会立即在目标网段发送报文,而是根据目标网段的报文周期发送。源网段和目标网段协议可以不同,通信速率可以不同,源网段报文ID和目标网段报文ID也可能会不同。

    测试点

    测试目的

    目标网络检查

    验证DUT是否能将源报文正确转发到目标网段

    报文类型检查

    验证目标网段接收的报文帧类型是否与路由表中定义的一致

    ID检查

    验证目标网段接收的报文ID是否与路由表中定义的一致

    DLC检查

    验证目标网段接收的报文DLC是否与路由表中定义的一致

    数据内容检查

    验证目标网段接收的报文数据内容是否与源网段发送的报文内容保持一致

    路由延迟时间检查

    验证目标延迟时间是否小于等于路由表延迟时间

    总线高负载路由测试

    验证在总线高负载情况下,目标网络、报文类型、ID、DLC、路由延迟时间是否与路由表中定义的一致,目标网段接收的报文数据内容是否与源网段发送的报文内容保持一致

    无效报文ID测试

    验证DUT是否会转发不在路由表中的报文ID

    DLC小于预期测试

    检测DUT在路由过程中报文DLC小于预期时是否能够转发报文

    DLC大于预期测试

    检测DUT在路由过程中报文DLC大于预期时是否能够转发报文

    周期一致性测试

    验证路由报文从源网段路由到目标网段,报文周期是否与路由表中定义的一致

    网络唤醒测试

    验证DUT唤醒后是否能正确发送目标网段报文

    ▷ 周期路由报文测试-数据内容检查测试介绍

    测试目的

    验证目标网段接收的报文数据内容是否与源网段发送的报文内容保持一致

    测试步骤

    ■ Step1:设置电源电压为Vnormal,执行KL30上电,根据DUT通信唤醒方式,使用KL15或网络管理报文唤醒网络,等待Tstable时间至通信稳定

    ■ Step2:根据路由表定义,选取其中一条周期路由报文,在源网段仿真发送源报文,报文ID为源报文ID,周期为源报文周期,DLC为源报文DLC,数据内容从0x01依次增加,持续发送10倍目标报文周期时间

    ■ Step3:检测目标网段是否收到目标报文,并判断目标网段的接收报文数据内容是否与源网段发送的报文内容保持一致

    期望结果

    目标网段接收的报文数据内容与源网段发送的报文内容保持一致

    测试结果

    目标网段接收的报文数据内容与源网段发送的报文内容保持一致

    测试信息:

    网段类型

    网段名

    CANoe

    通道

    周期

    ID

    源网段

    BodyCAN

    CAN2

    100ms

    0x3A8

    目标网段

    InfoCAN

    CAN4

    100ms

    0x3A8

    CANoe监控报文结果:

    02

    事件报文路由测试点

    事件报文路由和周期报文路由不同点在于,源网段收到报文后,网关会立即转发到目标网段。在源网段没有接收到源报文时,目标网段不会转发目标报文。

    测试点

    测试目的

    目标网络检查

    验证DUT是否能将源报文正确转发到目标网段

    报文类型检查

    验证目标网段接收的报文帧类型是否与路由表中定义的一致

    ID检查

    验证目标网段接收的报文ID是否与路由表中定义的一致

    DLC检查

    验证目标网段接收的报文DLC是否与路由表中定义的一致

    数据内容检查

    验证目标网段接收的报文数据内容是否与源网段发送的报文内容保持一致

    路由延迟时间检查

    验证目标网段接收延迟时间是否小于等于路由表延迟时间

    总线高负载路由测试

    验证在总线高负载情况下,目标网络、报文类型、ID、DLC、路由延迟时间是否与路由表中定义的一致,目标网段接收的报文数据内容是否与源网段发送的报文内容保持一致

    DLC小于预期测试

    检测DUT在路由过程中报文DLC小于预期时是否能够转发报文

    DLC大于预期测试

    检测DUT在路由过程中报文DLC大于预期时是否能够转发报文

    ▷ 事件报文路由测试-ID检查测试介绍

    测试目的

    验证目标网段接收的报文ID是否与路由表中定义的一致

    测试步骤

    ■ Step1:设置电源电压为Vnormal,执行KL30上电,根据DUT通信唤醒方式,使用KL15或网络管理报文唤醒网络,等待Tstable时间至通信稳定

    ■ Step2:根据路由表定义,选取其中一条事件路由报文,在源网段仿真发送源报文,报文ID为源报文ID,周期为源报文最小更新时间,DLC为源报文DLC,数据内容从0x01依次增加,持续发送10倍目标报文最小更新时间

    ■ Step3:检测目标网段是否收到目标报文,并判断目标网段的接收报文ID是否与路由表中定义的一致

    期望结果

    目标网段接收的报文ID与路由表中定义的一致

    测试结果

    目标网段接收的报文ID与路由表中定义的一致

    测试信息:

    网段类型

    网段名

    CANoe

    通道

    周期

    ID

    源网段

    BodyCAN

    CAN2

    10ms

    0x36F

    目标网段

    InfoCAN

    CAN4

    10ms

    0x36F

    CANoe监控报文结果:

    03

    信号路由测试点

    信号路由是将源报文中的1个或多个信号转发到目标报文中对应的信号,信号在转发过程中,信号所属报文的周期和ID、信号报文的起始位置都可能会发生改变。信号路由转发方式有多种,包括信号直接转发、信号拆包转发、信号整合转发等。

    测试点

    测试目的

    目标网络检查

    验证DUT是否能将源信号正确转发到目标网段

    报文类型检查

    验证DUT是否能正确转发目标信号所属报文类型

    ID检查

    验证DUT转发的目标信号所属报文ID是否与路由表中定义的一致

    DLC检查

    验证DUT转发的目标信号所属报文DLC是否与路由表中定义的一致

    信号值检查

    验证DUT是否能正确转发目标信号值

    路由延迟时间检查

    验证DUT转发目标信号所属报文延时是否与路由表中定义的一致

    总线高负载路由测试

    验证在目标网段总线高负载情况下,DUT转发目标信号所属报文的目标网络、目标报文类型、目标报文ID、目标报文DLC、路由延迟时间是否与路由表中定义的一致,DUT是否能正确转发目标信号值

    DLC小于预期测试

    验证在源网段仿真发送源报文DLC小于预期时,DUT能否正确转发目标信号值

    DLC大于预期测试

    验证在源网段仿真发送源报文DLC大于预期时,DUT能否正确转发目标信号值

    路由上电初始值测试

    验证DUT上电后,第1次发送的目标信号值是否与路由表中定义的信号初始值一致

    路由上次值测试

    验证信号路由从源网段丢失到进入超时状态之前,目标网段接收的信号值是否与源网段最后一次发送的信号值一致

    路由超时值测试

    验证源网段信号路由进入超时状态时,目标网段接收的信号值是否与路由表中定义的信号超时值一致

    周期一致性测试

    验证DUT转发目标信号所属报文的周期是否与路由表中定义的一致

    网络唤醒测试

    验证DUT唤醒后是否能正确发送目标信号所属报文

    ▷ 信号路由测试-信号值检查测试介绍

    测试目的

    验证DUT是否能正确转发目标信号值

    测试步骤

    ■ Step1:设置电源电压为Vnormal,执行KL30上电,根据DUT通信唤醒方式,使用KL15或网络管理报文唤醒网络,等待Tstable时间至通信稳定

    ■ Step2:根据路由表定义,选取其中一条信号路由,在源网段仿真发送信号所属源报文,周期为源报文周期,ID为源报文ID,DLC为源报文DLC,交替设置信号值为最大值或最小值(与DUT发送的当前信号值不同),持续发送10倍目标信号所属报文周期时间

    ■ Step3:检测目标网段是否收到目标信号所属报文,并判断目标网段收到的信号值是否与源网段发送的信号值保持一致

    期望结果

    目标网段收到的信号值与源网段发送的信号值保持一致

    测试结果

    目标网段收到的信号值与源网段发送的信号值保持一致

    测试信息:

    网段类型

    网段名

    CANoe

    通道

    周期

    ID

    信号起始

    信号长度

    源网段

    BodyCAN

    CAN2

    20ms

    0x139

    14

    2

    目标网段

    InfoCAN

    CAN4

    20ms

    0x139

    14

    2

    CANoe监控报文结果:

    04

    容错性测试点

    测试点

    测试目的

    错误帧干扰测试

    验证DUT是否转发错误帧到其他网段,以及在错误帧干扰下路由功能是否正常

    BusOFF故障时路由行为测试

    验证当某网段发生BusOFF故障时,不影响其他网段路由功能

    扩展帧路由行为测试

    验证DUT是否转发扩展帧

    远程帧路由行为测试

    验证DUT是否转发远程帧

    CAN/LIN通信路由自动化测试解决方案

    该套测试系统由CANoe测试软件、测试硬件系统、ECU被测系统、标准路由表转换软件等组成,支持功能:支持周期报文路由测试、事件报文路由测试、信号路由测试、容错性测试。

    CANoe测试软件:自动化测试操作管理软件,用户可以进行测试参数配置、测试用例选择、测试执行、测试报告管理和Log记录及分析等。

    测试硬件系统:主要功能是模拟硬件测试环境,进行ECU电源控制、I/O信号控制及仿真、报文监控及仿真、总线故障注入、总线信号采集等。

    ECU被测系统:支持不同类型的网关测试。

    标准路由表转换软件:将不同格式的Excel路由表转换为标准格式路由表。

    这套怿星自研的CAN/LIN通信路由自动化测试方案不但能提高测试覆盖度,快速将不同Excel格式路由表转换成标准格式路由表,大幅减少工作量,而且操作简单,对测试人员的技术要求较低。

    对此,感兴趣的小伙伴可以联系我们进行咨询!


    喜欢此篇文章欢迎评论、收藏、分享支持小编~

  • 相关阅读:
    docker部署prometheus+grafana服务器监控(一)
    UnSafe类初探
    sublime text 显示空格
    Python中的函数
    27.CF1004F Sonya and Bitwise OR 区间合并线段树
    【vim 学习系列文章 12 -- vimrc 那点事】
    LeetCode 算法:螺旋矩阵c++
    CentOS8.2安装Nginx1.23.2
    图像处理第二章笔记
    鲜花静态HTML网页作业作品 大学生鲜花网页设计制作成品 简单DIV CSS布局网站
  • 原文地址:https://blog.csdn.net/m0_47334080/article/details/127692917