can协议crc计算_基于CAN总线的CRC校验码的原理与实现
基于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校验码的原理与实现相关推荐
- can协议crc计算_详解CAN/CAN FD通信中的循环冗余校验(CRC)方法
数据校验是为保证数据的完整性进行的一种验证操作.CAN通信采用CRC校验作为一种重要的错误检测手段,是节点判断CAN帧信息的完整性并产生确认应答的依据. 在现场总线通信和控制的实际应用中,工业应用环境 ...
- 协议crc计算_从零了解modbus协议 第三篇
Modbus 介绍 协议介绍 MODBUS协议是一种消息传递结构,广泛用于智能设备间建立主从通信.一个MODBUS消息从主机发给从机,包含了从机地址.命令(例如,读寄存器或者写寄存器).数据.校验码( ...
- lin通讯从节点同步间隔场_基于LIN总线的汽车分级制网络结构
原标题:基于LIN总线的汽车分级制网络结构 1.引言 汽车总线中通讯节点和数据流量持续增加,节点日益复杂,使得汽车总线在重量.布置.成本.通信效率等方面面临困境,走出这一困境的出路在于实行汽车总线的网 ...
- pcie总线连接两台电脑_基于PCIE总线多主互连系统的设计与实现
女 , 山东人 , 工程师 , 研究方向为计算机应用 : 孙大东 (1980 ) , 男 , 吉林辽源人 , 硕 士 , 高级工程师 , 研究方向为嵌入式系统网络 : 张明庆 (1980 ) , 男 ...
- 填谷式无源pfc电路_基于无源填谷电路的PFC工作原理
驱动电源想必大家都不陌生,哪么基于无源填谷电路的PFC工作原理是什么,现在广东正联电源给大家分享相关知识吧!填谷电路"( Valley fill circuit)属于一种新型无源PFC电路, ...
- lin通讯从节点同步间隔场_基于LIN总线的车身控制系统设计
http://www.eepw.com.cn/article/262205.htm LIN(Local Interconnect Network)是一种低成本的串行通讯网络,用于实现汽车中的分布式电子 ...
- pcie总线连接两台电脑_基于PCIe总线的多路复用DMA高速传输系统的设计
摘要:文章针对双处理器设备问的数据通信提出了基于PCIe非透明桥的高速传输系统的设计方法.该方法应用于视频转码设备,实验结果表明当转码设备作为外设与PC主机进行通信时,采用多路虚拟DMA方法的数据传输 ...
- monkey 运行时间怎么计算_基于STM32F103C8T6工控板利用定时器计算某段代码的运行时间...
本人参考了热心网友分享的一些案例,并增加了一些个人认为比较好的想法,重新整合了一下代码. 硬件:某宝网上购买的STM32F103C8T6工控板,价格50¥左右: 思路: 1)利用通用定时器(选择定时器 ...
- 开始协议处理句柄_基于smb协议的wmiexec浅析
前言 之前研究过Crackmapexec这款工具,对这个工具基于smb协议的wmiexec执行方法产生的流量进行了分析,网上似乎还没有相关的文章,这里旨在抛砖引玉,简单梳理下整个过程,以初学者的视角, ...
最新文章
- 如果不当程序员,你会在做什么? | 每日趣闻
- Run-Time Check Failure #2
- 最大矩阵(简单DP)
- 出席全球数字经济大会 第四范式助力打造中国数字经济“北京样板”
- 编译ARM平台的	QtEmbedded 的MySQL插件和移植MySQL到ARM开发板
- 100. Same Tree 相同的树
- Linux Tomcat 6.0安装配置实践总结
- Linux内核中的常用宏container_of其实很简单【转】
- Apple在线商店iphone5, ipad mini到货提醒 - 邮件
- 人工智能原理知识点对照
- iOS 打包32bit64 universal-framework
- 测试-------性能测试(一)
- 计算机课程教改论文,关于计算机基础课程教学改革论文(2)
- linux vi 看下一页,linux中的vi命令(2)
- ipynb 文件转 py
- E. New Game Plus!(Technocup 2021 - Elimination Round 2)
- 免费手机号码归属地API接口 查询手机号码归属地信息
- unity-导航系统
- 物联网调查报告:机遇与挑战
- Discuz!开发之DB、CT类解析