人生就是博官网

干货分享 | 详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤

Table of Contents

面对切换工具链的用户来说,在 TSMaster 上实现总线通讯中的 CRC/E2E 校验处置不是出格熟悉,该文章能够协助客户急剧使用 TSMaster 实现 CAN/CAN FD 总线通讯的 CRC/E2E 校验。

本文关键字:TSMaster,CAN/CAN FD,CRC 校验,E2E 校验

本文目录

1、CRC/E2E 在报文传输过程中的利用

典型利用:两个 CAN 节点(ECU)之间进行 CAN/CAN FD 报文传输,双方划定对报文(0xC9:ABSdata)Byte0-Byte6 必要进行 CRC 校验,Byte6 的高四位为 RollingCounter,校验了局放至 Byte7 中。

因而,在 DBC 发送这帧报文的节点来说,在往总线发出这帧报文之前必要对每帧报文的 RollingCounter 值进行不休自增、循环,而后进行 CRC 校验把校验值放进 Byte7 中,最后再把帧报文发到总线上;而对于 DBC 接管这帧报文的节点来说,必要对这帧报文也进行CRC 校验,把校验的了局与 Byte7 的数据进行对比,对比了局一致则这帧报文的数据有效,不然抛弃这些数据。

E2E(End to End),是 Autosar 官方界说的尺度,它蕴含了 CRC 算法、要求了 Counter 的值若何进行递增、并在 Counter 犯错时会纪录对应的谬误状态等等。从发送节点来说,能够单一的理解为发送前填充 Checksum 和 Counter 的值,根基操作与 CRC 一样。

2、基于 TSMaster 渣滓总线仿真的 CRC 校验

基于渣滓总线仿真的 CRC 校验,该步骤在 TSMaster 仿真-CAN 总线仿真中即可实现,无需代码,但是 CRC 校验算法是通用的 CRC 算法,例如 CRC8、CRC16、CRC32 等等。使用之前必要先在工程中加载数据库文件并绑定对应的利用法式通路。
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
其次,打开 CAN 总线仿真,激活报文的所有信号及其地点节点和网络(此处以 0xC9 ABSdata 为例):
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤

从这里能够看到 ABS_RC 和 ABS_CheckSum 的信号类型还是通常信号,那么若何通过?0 代码实现 RC 的自增循环以及 CheckSum 校验值的推算呢?具体的实此刻总线仿真这个?橹幸丫迪,用户只需在该界面中进行有关的设置即可实现,以下是具体步骤。

  • 1)右击 ABS_RC,选择设置为 Rolling Counter 信号(RC),实现后即可看到该信号类型已经变为 RC。
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
RC 值自增的领域在该?橹幸彩悄芄恢苯由柚,在 CAN 总线仿真树状图窗口内肆意地位右键打开编纂 RC 值领域,而后勾选该信号,对 RC 的最大最幼值进行手动输入,确认即可保留。
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
  • 2)右键 ABS_CheckSum,选择设置为 Checksum 校验信号(CRC),随后会弹出默认算法库,这里以选择 crc8 例。实现后该信号的类型已经变为 CRC(crc.crc8[0:7]),暗示该信号为 CRC 校验信号,校验算法为 crc 库中的 crc8,;ぷ纸谖 0-7:
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤

若是用户必要批改校验的字节领域,同 RC 值领域,在窗口内右键打开编纂 CRC 算法参数;在该窗口内能够对;ぷ纸谡厥家约氨;ぷ纸谑斜嘧。

详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
同时该窗口能够对所有的 CRC 信号进行统一的编纂,双击信号地点的 CRC 算法栏即可打开算法选择窗口,若是用户的算法不是尺度的 CRC 算法,我们也能够在 crc 这个库中再去增长自界说函数,这样也能给这个渣滓总线仿真这个?榧鹗褂,必要把稳的前提前提是自界说算法的接口必须和已存在的一样,也就是函数的参数必须是(pu8 data, s32 datalen),这样才可能正常使用。
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
另表一种使用场景,必要在校验的数据内容头部/尾部增长固定的字节数据,这一点不难发此刻 CRC 算法参数编纂窗口也有做了接口处置,用户能够直接在该框内增长数据,多个数据能够用英文符号(,)隔开。
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
以上就是基于总线仿真 CRC 校验的配置操作过程,实现后运行总线仿真即可在报文信息窗口看到发出的报文。
详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤

3、TSMaster 本地化支持的 CRC 校验

该步骤合用于 CRC 校验算法与 crc 库中算法函数接口分歧,还必要利用报文帧的其他信息进行校验的情况,例如将报文 ID 一并进行校验推算。这种情况就能够利用 TSMaster 中的幼法式来实现,此工程以 C 幼法式为例,Python 幼法式同理。

演示前将数据库进行加载,在开头提到过,CRC 校验往单一来说就说往报文数据填充?RC 和 CheckSum 校验的值,此时用户就能够在幼法式中通过预发送事务来批改 RC 和 CheckSum 的值。

详解TSMaster CAN 与 CAN FD 的 CRC&E2E 校验步骤
实现编纂内容后必要运行幼法式,而后在报文发送窗口进行报文发送或者启动 CAN 渣滓总线仿真(此时必要将 RC 和 CheckSum 设置为通常信号,使得这两个信号只受幼法式的节造)。
近期文章

颁发回复

×
×

产品入口: 产品增长到购物车

【网站地图】