同星TSMaster中如何自定义E2E校验算法


前言

最近因项目需要,用到TSMaster进行E2E校验算法实现。第一次使用TSMaster,把整个的过程做一个记录,仅供参考。当然有任何问题欢迎批评指正!

首先,TSMaster已经提供了很多定义好的CRC算法来调用,并且对于基本的E2E校验也做了适配,还是很赞的。但是如果加入异或运算的DID数据是实时变化的,如何在TSMaster中实现E2E算法呢?


一、自定义E2E算法教程

1.定义checksum算法

选择程序->C小程序->自定义函数,右键添加自定义函数,定义E2E_test函数,参数为报文数据Data[]和报文ID。然后在右侧程序栏编写自定义的checksum算法实现,把实时变化的DID数据逻辑写在这里。定义好后,供后面进行调用。
在这里插入图片描述
(注:这个自定义函数的参数是多样的,例如可以传报文ID;但是系统提供的CRC库中自定义函数参数是固定的data和datalen)

2.定义【CAN预发送事件】

在CAN预发送事件右键,根据需要仿真发送的报文类型选择对应的CAN或CANFD报文。感觉就类似于CAPL中的On Prestart预启动事件。
在这里插入图片描述
在DBC数据库中添加需要仿真E2E校验的报文。
在这里插入图片描述

3.E2E报文信号仿真

最关键的一步!!!步骤2选择好报文后,TSMaster会自动导入报文中的信号等数据。还需要做的是:

  • 检查报文名称。特别是报文名根据层级定义有多个下划线_的情况,一定要检查报名名称导入的是否正确!
  • 将需要仿真的checksum&Rollingcounter信号注释掉。
  • 添加Rollingcounter算法。
  • 添加Checksum算法。这里就需要调用【自定义函数】E2E_test。传入的实参也有固定的书写形式,如下图。(传数据data取的是byte0的地址,所以是:&信号名.FCAN.FData[0])
  • 如果是CANFD报文,最后一行代码需要手动加上FD
  • 编译通过后,即完成了E2E算法定义。
    在这里插入图片描述

4.运行工程

算法编译没问题后,就能进行测试验证啦。

  • 运行工程;
  • 运行C代码编辑器的脚本(容易遗忘
  • 在报文发送-添加CAN/CANFD发送,选择需要进行E2E校验的报文。
    在这里插入图片描述
    至此,在仿真报文发送时,会执行报文预发送事件来调用自定义E2E算法实现报文仿真。如下图,在报文信息窗口可以看到对应的checksum&Rollingcounter信号变化。可以拿实车数据进行对比来验证所编写算法是否正确。
    在这里插入图片描述

二、TSMaster配置E2E教程

第一部分的介绍其实适用于任何需要做E2E校验的报文,但是如果需要加入异或运算的DID是固定值,TSMaster提供了较为简单的配置方式。下面简单把这种方式也做一下介绍,对比选择使用。

1.激活仿真报文

CAN总线仿真,找到需要做E2E校验的报文进行勾选激活。
在这里插入图片描述

2.E2E配置

  • 配置Rollingcounter。选择RC信号右键设置为Rollingcounter信号;编辑RC范围。
    在这里插入图片描述
    在这里插入图片描述
  • 配置checksum。同样的方式,选择checksum信号右键设置为checksum验证信号;选择对应的CRC算法(也可以自定义算法后进行选择);编辑CRC算法参数。
    在这里插入图片描述
    在这里插入图片描述
    编辑CRC算法参数:这里就可以根据E2E校验要求,把DID数据配置到头部or尾部附加字节中即可。
    在这里插入图片描述
    至此,该报文在仿真发送时会自动进行RC和checksum的赋值变化。

三.小结

两种E2E校验实现方式各有好处。总体来说,自定义函数E2E算法适用于DID实时变化、仿真E2E报文数量多、自动化测试等场景。配置式E2E实现适用于DID数据固定不变、手动测试复现问题单条报文的仿真验证(数量多的话配置起来太耗时)等场景。

  • 26
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值