发布成功


CRC是如何完成校验工作的CAN帧?

发布时间:2022-01-13 阅读量:1783 来源: 我爱方案网 作者: 我爱方案网整理

CRC是如何完成校验工作的CAN帧基于CRC多项式的安全校验是发送器根据发送的比特计算校验值,并在CAN帧结构CRC字段中提供该结果。接收器使用相同的多项式来计算总线上所见位的校验值,将自我计算的校验值与接收的校准值进行比较,如果匹配,则认为帧被正确接收,接收节点在ACK时隙位中发送显性状态,从而覆盖发送器的隐性状态。


在不匹配的情况下,接收节点在ACK定界符之后发送错误帧。目前CANFD的控制器CRC校验实现过程会相对复杂一点,在一个CAN总线网络中,帧起始被检测到后所有的节点开始使用三组多项式g15、g17和g21同步计算CRC序列,其中也包含发送节点,由于CRC的计算受CAN帧类型和DLC长度影响,直到CAN帧的控制域以及DLC确认后才选择采用对应的CRC生成序列,确定的CRC序列会在帧结构中CRC字段被采纳用于发送或者用于接收比较。


有关CRC的ISOCANFD、non-ISOCANFD兼容性问题当前CAN FD协议有两个版本,为提高故障(错误)检测能力,新版本特别引入了一个3位填充位计数器和一个额外的奇偶校验位。

此外,CRC计算方法也发生了变化。这些改进使最新的CAN FD协议与博世(BOSCH)开发的原始CAN FD协议不兼容。负责ISO的工作组已完成其文件,并已将其提交给DIS(国际标准草案)在进行投票程序。


CRC是如何完成校验工作的CAN帧?


为了避免误解,CiA建议使用术语“ISO CAN FD”和“non-ISO CAN FD”。所有符合ISO 11898-2:2015的产品都应称为“ISO CAN FD”。执行博世(BOSCH)原始CAN FD协议的产品应命名为“non-ISO CAN FD”,在这个过度阶段的产品主要目的是用于前期评估和开发,将来所有产品都将符合ISO标准。请注意,早前一些供应商提供的组件或者工具是针对non-ISOCANFD协议的,包括目前在售的部分CANFD产品,CiA建议仅使用ISO CAN FD产品进行设计和开发,不过你可继续使用non-ISOCANFD做评估和前期开发,因为协议的改变对于用户界面是不可见,但注意的是不能同一个网络混用non-ISOCANFD和ISO CAN FD接口设备,这样会造成CAN总线错误无法完成发送和接收,如果仅仅是发送或接收传统的CAN帧将不会受到任何影响,幸运的是部分设备供应商提供的组件或者工具允许用户选择支持ISO或者non-ISO模式,这样能很好地在过渡时期帮助你完成工作。


总结传统CAN以及目前CANFD采取的校验机制,保证传输过程中遭受破坏的帧数据几乎不会被接收以及应答成功,能有效防止物理层传输错误,让用户界面不需要额外关注帧传输数据的正确性。



推荐阅读:

详解 CAN 及 CAN FD 通信中的循环冗余校验(CRC)方法

怎么配置现场总线PROFIBUS系统

现场总线PROFIBUS通信功能的软件设计

现场总线PROFIBUS通信功能硬件设计

现场总线PROFIBUS通信功能的接口设计


相关资讯
时钟芯片的作用:统筹时钟生成与同步!

在任何数字电子系统中,时钟信号都扮演着“心脏起搏器”的角色。

RTC晶振PCB设计的核心要点

RTC晶振与普通32.768kHz晶振的PCB设计要点基本一致,其核心均在于通过优化布线以降低杂散电容、确保频率精度,并依托合理的布局规划最大限度屏蔽来自板上其他信号源的电磁干扰。

不同应用场景中的晶振分类知识合集1

按晶振的功能和实现技术的不同,分为温度补偿晶振(TCXO)、压控晶振(VCXO)、恒温晶振(OCXO)。

晶振分频原理:数字电路的周期性计数实现频率转换!

为了在性能与功耗之间取得最佳平衡,需要根据具体应用场景,对基准时钟进行相应的分频、倍频或转换处理,从而为各模块提供适宜的时钟信号。此时,分频技术就成为连接晶振基准频率与系统需求的关键,通过数字电路将晶振原始频率按固定比例降低,输出符合要求的低频时钟信号。

RTC时钟芯片的电路工作原理与解析

RTC芯片是一种专门用于精准计时、掉电续时的专用集成电路,其核心功能是提供精准、稳定的时间信息(包括秒、分、时、日、月、周、年),并能在主电源断电后依靠备用电池继续保持计时,从而确保时间持续不间断。