基于CAN总线的CRC校验码的原理与实现

王鹏

【摘 要】CAN总线又称为控制器局域网技术,属于工业现场总线,应用范围很广.CAN系统中通常

采用反馈重发机制对通信过程进行差错控制.当接收端反馈给发送端出错信息后,发送端便自动重发

,经此过程,只需要检错就可以了.循环冗余校验码实现简单,误判率比较低,还具有纠错功能,在

通信系统中应用较为广泛.

【期刊名称】赤峰学院学报(自然科学版)

【年(卷),期】2014(000)004

【总页数】2

【关键词】控制器局域网;差错校验;CRC循环校验

CAN(Controller Area Network)全称控制器局域网,是工业现场总线的一种,是应用最广泛的开放

式现场总线之一.与其它通信网的不同之处在于:第一,报文传送中不包含目的地址,而是以全网广

播为基础,各接收站根据报文中的标识符过滤报文,以决定接收还是丢弃,其优点在于可在线上网

下网、即插即用和多站接收;第二,强化了对数据安全性的要求,满足控制系统及其它较高数据安

全要求的系统需求.

CAN系统中通常采用反馈重发机制对通信过程进行差错控制,以保证报文能正确的传输.当接收端反

馈给发送端出错信息后,发送端便自动重发,在此过程中,只需要检错就可以了.一般的检错码有两

类:奇偶校验码和循环冗余校验码.奇偶校验码只具有检错能力,实现方法简单,不能纠错;循环冗

余校验码也很简单,而且误判率比较低,还具有纠错功能,在通信系统中应用较为广泛.

下面,通过实例,来说明CAN网络中循环冗余校验码的工作原理和实现方法.

1 CRC检错码的工作原理

一般情况,一个由二进制数位串组成的发送序列,可以用一个只含有0和1系数的多项表达式的系数

表示出来,例如:代码1001011对应的多项式为X6+X3+X+1,再如:代码为1010111,则对应的

多项式X6+X4+X2+X+1.

CRC检错码是采用多项式相除的运算方法实现的,如被处理报文的比特序列对应的多项式为P

(X),收发双方约定的多项式为G(X),用P(X)除以G (X)后,求得余数多项式R(X),并将多项式R(X)附

加到多项式P(X)的后边,生成M(X),这样能保证M(X)除以G(X)的余数为0.此时,可以将M(X)作为

发送序列发给接收方.接收方用收到的报文N(X)去除同样的G(X),如果余数等于0,则说明接收到的

序列与发送的序列一致,接收到的数据没有错误;否则,说明传输过程中出错,由发送端重发,重

新开始CRC校验,直到接收到的数据没有错误为止.

can协议crc计算_基于CAN总线的CRC校验码的原理与实现相关推荐

  1. can协议crc计算_详解CAN/CAN FD通信中的循环冗余校验(CRC)方法

    数据校验是为保证数据的完整性进行的一种验证操作.CAN通信采用CRC校验作为一种重要的错误检测手段,是节点判断CAN帧信息的完整性并产生确认应答的依据. 在现场总线通信和控制的实际应用中,工业应用环境 ...

  2. 协议crc计算_从零了解modbus协议 第三篇

    Modbus 介绍 协议介绍 MODBUS协议是一种消息传递结构,广泛用于智能设备间建立主从通信.一个MODBUS消息从主机发给从机,包含了从机地址.命令(例如,读寄存器或者写寄存器).数据.校验码( ...

  3. lin通讯从节点同步间隔场_基于LIN总线的汽车分级制网络结构

    原标题:基于LIN总线的汽车分级制网络结构 1.引言 汽车总线中通讯节点和数据流量持续增加,节点日益复杂,使得汽车总线在重量.布置.成本.通信效率等方面面临困境,走出这一困境的出路在于实行汽车总线的网 ...

  4. pcie总线连接两台电脑_基于PCIE总线多主互连系统的设计与实现

    女 , 山东人 , 工程师 , 研究方向为计算机应用 : 孙大东 (1980 ) , 男 , 吉林辽源人 , 硕 士 , 高级工程师 , 研究方向为嵌入式系统网络 : 张明庆 (1980 ) , 男 ...

  5. 填谷式无源pfc电路_基于无源填谷电路的PFC工作原理

    驱动电源想必大家都不陌生,哪么基于无源填谷电路的PFC工作原理是什么,现在广东正联电源给大家分享相关知识吧!填谷电路"( Valley fill circuit)属于一种新型无源PFC电路, ...

  6. lin通讯从节点同步间隔场_基于LIN总线的车身控制系统设计

    http://www.eepw.com.cn/article/262205.htm LIN(Local Interconnect Network)是一种低成本的串行通讯网络,用于实现汽车中的分布式电子 ...

  7. pcie总线连接两台电脑_基于PCIe总线的多路复用DMA高速传输系统的设计

    摘要:文章针对双处理器设备问的数据通信提出了基于PCIe非透明桥的高速传输系统的设计方法.该方法应用于视频转码设备,实验结果表明当转码设备作为外设与PC主机进行通信时,采用多路虚拟DMA方法的数据传输 ...

  8. monkey 运行时间怎么计算_基于STM32F103C8T6工控板利用定时器计算某段代码的运行时间...

    本人参考了热心网友分享的一些案例,并增加了一些个人认为比较好的想法,重新整合了一下代码. 硬件:某宝网上购买的STM32F103C8T6工控板,价格50¥左右: 思路: 1)利用通用定时器(选择定时器 ...

  9. 开始协议处理句柄_基于smb协议的wmiexec浅析

    前言 之前研究过Crackmapexec这款工具,对这个工具基于smb协议的wmiexec执行方法产生的流量进行了分析,网上似乎还没有相关的文章,这里旨在抛砖引玉,简单梳理下整个过程,以初学者的视角, ...

最新文章

  1. 如果不当程序员,你会在做什么? | 每日趣闻
  2. Run-Time Check Failure #2
  3. 最大矩阵(简单DP)
  4. 出席全球数字经济大会 第四范式助力打造中国数字经济“北京样板”
  5. 编译ARM平台的 QtEmbedded 的MySQL插件和移植MySQL到ARM开发板
  6. 100. Same Tree 相同的树
  7. Linux Tomcat 6.0安装配置实践总结
  8. Linux内核中的常用宏container_of其实很简单【转】
  9. Apple在线商店iphone5, ipad mini到货提醒 - 邮件
  10. 人工智能原理知识点对照
  11. iOS 打包32bit64 universal-framework
  12. 测试-------性能测试(一)
  13. 计算机课程教改论文,关于计算机基础课程教学改革论文(2)
  14. linux vi 看下一页,linux中的vi命令(2)
  15. ipynb 文件转 py
  16. E. New Game Plus!(Technocup 2021 - Elimination Round 2)
  17. 免费手机号码归属地API接口 查询手机号码归属地信息
  18. unity-导航系统
  19. 物联网调查报告:机遇与挑战
  20. Discuz!开发之DB、CT类解析

热门文章

  1. python反反爬虫教学_爬虫进阶:反反爬虫技巧
  2. OWASP TOP10漏洞分析和防御
  3. 北京学位英语题型和分数
  4. PHP常用框架及漏洞
  5. EXCEL 文件页眉打开有乱码
  6. 架构师必备:HBase行键设计与应用
  7. mysql federated 缺点_MySQL存储引擎--------Federated最佳实战
  8. 线上销售占比50%、88销售额暴增500%,沃尔玛是怎么变身的?
  9. 2022年奢侈品行业展望
  10. 万圣节如何“整鬼”?360智能科技现身欢乐谷