CRC校验算法的设计与实现作者:崔彦坤 马萌来源:《计算机与网络》2019排队长度
年第01期吕氏春秋下贤
摘要:介绍了循环冗余校验(CRC唐溶)算法的原理和循环冗余校验算法设计分析过程,给出了使用查表法详细的算法设计。描述了木器时代VEE可视化语言中使用的重要模块及使用VEEastm标准语言实现CRC校验算法的具体设计过程,并且给出了详细的设计流程,该方法校验速度非常快,提高了计算机网络通信的速度和报文传输的准确性,使用手动算法举例验证了该算法的准确性。
关键词:循环冗余;CRC拓跋氏校验;VEE可视化语言
中图分类号:TP316文献标志码:A文章编号:1008-1739(2019)01-62-3
0引言
计算机串口通信中,为防止数据通信错误,一般采用奇偶校验法和纠错校验法等方法进行校验。但在一些通信安全要求严格的场合,上述2种方法均不能满足要求,需要采用CRC校验原理进行校验。CRC校验法是一种在数据通信和数据压缩中广泛使用的循环校验法,以低出错率保证数据的可靠无差错传输,因此,已被标准化纳入TCP/IP和其他协议的校验中,并且遵循ISO/OSI标准工业现场总线通信(IEC61158)。 随着通信领域的快速发展,数据传输的可靠性显得尤为重要,为了保证数据在传送过程中的正确无误,不仅需要高可靠的硬件电路,同时还需要查错检查机制。CRC校验法是数据通信领域中最常用的一种查错校验法,其特征是信息字段和校验字段的长度可以任意选定,CRC校验法也具有数据传输检错功能,对数据进行多形式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性[1]。
1 CRC校验的原理
CRC校验原理实际上就是在一个P位二进制数据序列之后附加一个r位二进制检验码,
从而构成一个总长度为n=P+r位的二进制序列,附加在数据序列之后的这个校验码与数据序列的内容之间存在着某种特定的关系[2]。如果因干扰原因,数据序列中的某一位或某些位发生错误,这种特定的关系就会被破坏,因此,通过检查这一关系,就可以实现对数据正确性的检查。