新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > CRC校验编程和硬件快速校验探讨

CRC校验编程和硬件快速校验探讨

作者: 时间:2011-04-14 来源:网络 收藏

3
器件或设备的说明书中,常给出其码的生成电路。以总线数字温度传感器DS18820为例,其8位码生成电路如图2所示。

本文引用地址:https://www.eepw.com.cn/article/156401.htm

对应该电路,等效的模除多项式为:
g(x)=x2+x5+x4+1
该模除多项式反序后,再隐含最高位,其多项式的值为8CH。
8位移位寄存器的初始值清O(00H),通信数组数据的每个字节低位在前,按位依次输入,当数据全部输入完成后,移位寄存器各个位的存储(输出)值就是所需的CRC码。
在实际应用中发现,Autonics等品牌的控制仪表,其通信CRC码与DSl8820的完全相同。
对应于图2的硬件生成电路,可用1片8D触发器(如74HC373)和1片4封装异或门(如74HCl36)连接而成,如图3所示。

对于CRC赋初值OOH(74HC373清O)的操作,可先读出DO~D7的随机值,然后将读出的数据再串行输入即可。因为相同的数据相异或总是为O,再除以任何多项式仍为O。
若MCU剩余足够的I/O口,可将CRC码的DO~D7位并行读入。否则,还需加一片74HCl65,将D0~D7转换成串行数据读入。
以少量的硬件实现CRC,能节省单片机的运算时间和存储资源。用于发送端,能够获得CRC校验码,在系统其他任务很重时,能增强实时性。而用于接收端,除了上述优点之外,还能显著增强系统接收和确认信息的可靠性,适用于一些远程控制的执行装置(如变频驱动器、阀门定位控制器、重要的监测报警装置等)。这些装置对于接收到的数据或命令信息,一旦因误校验而不能正确地判断执行,其后果都是比较严重的。因此,要提高嵌入式系统的可靠性和实时性,硬件CRC校验是一种选择。


结 语
本文在分析了常用CRC码的反序生成原理的基础上,给出了其运算的统一步骤,并提出了由硬件生成CRC码或对接收数据进行CRC校验的电路和方法,可为嵌入式系统的可靠性和实时性设计提供参考.

c语言相关文章:c语言教程


分频器相关文章:分频器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭