吴冬梅 永城职业学院
计算机网络通讯中CRC算法的应用研究
吴冬梅 永城职业学院
目前,计算机网络通信系统大部分采用差错检测控制方法,检测通信线路传输信息并进行纠正,提高通信线路传输质量。CRC(Cyclic Redundancy Check)算法就是一种差错检验控制方法,在计算机网络通信中,选择合适的CRC,冗余位少、漏检率低、传输效率高,能够比较准确的校验数据通信线路传输的信息。本文介绍了CRC算法的原理、分析、设计等,探讨了计算机网络通讯中CRC算法的应用研究。
计算机网络 CRC算法 通信 差错检验控制
CRC校验是一种在计算机网络通信中广泛应用的错误检验编码方式。其可靠性高、冗余位少、检漏率低,可以有效地提高数字通信传输速率,广泛应用于通信网络中。发送端计算机运用CRC算法计算出待发送数据的CRC校验码,通过附加在待发送数据尾端,发送数据,实现编码过程。接收端计算机检测发送后数据和CRC码之间的数学关系,检测是否正确,实现译码过程。数据信息在传输过程中有误码时,校验结果错误,通过发送端重传校正错误,直至传送正确为止。
数据信息在计算机网络的实体间交换时,首先将较长的信息保温分割成较小的、等长的数据段,然后每个数据段前面加上头部,末尾加上校验码,构成数据包。发送端将数据包通过通信线路传输至接收端,计算机从数据包中获得所需控制信息和传输信息,从而实现传输中的差错检测控制,使其成为一项可管理的工作。接收端可以通过数据包提取有用信息,进行差错分析。因此,数据信息的差错分析,通过人为控制,可以实现差错管理控制。
2.1 在局域网上实现新的CRC算法
该CRC算法采用软件校验的方法,不需要设计另外的硬件电路,校验速度非常快,提高了计算机网络通信的速度和报文传输的准确性。其设计是针对目前很多无人值守站缺乏完整的远程监控系统,存在诸多问题。为此,他们设计了包括中心处理系统、数据通讯通道和小站环境监测前置端机三部分的光传输无人值守站远程监控系统。该数据通讯通道通过通讯网络链接,在监控中心实现与无人值守站前置端机的通讯与控制。中心处理系统通过指令控制前置端机,监控、采集、处理、分析基站的环境信息,通过警告、报警等声音提示,并建立可供用户查看的警告数据库。通过前置端机的看门狗电路收集数据,由微控制器传输至终端显示系统,进而完成信息的采集与上传。此外,为增强控制系统抗电磁干扰能力,增强其对环境的适应性,保证通讯安全,使用CRC循环冗余校验法增强以太网帧的稳定性。使用VC++6.0编写相应的软件,以CRC-CCITT编码,保证控件性能稳定、传输高效安全。该远程控制系统采用CRC差错校验技术,抗电磁干扰能力强、传输安全稳定,并且测试应用效果良好。石全峰等人将电路结构结合串行CRC,提出一种硬件电路的实现方法,给出了一种基于VerilogHDL的CRC8校验方法。串行算法在编码前初始化寄存器,输入信息序列后,在寄存器中得到CRC校验码。CRC初始化后,通过以太网帧计算FCS,先传输低比特的,进行倒序输入,再进行CRC计算。
2.2 无线收发器的CRC数据校验模块
无线收发器采用C8051F330单片机通过SPI接口控制CYRF6936的工作模式。本无线收发器应用于门禁系统中能够实现一个接收端和多个发送端的通信。CYRF6936是一种第二代无线通信芯片,基于WirelessUSB,采用直接序列扩展技术。无线发射器通过C8051F330单片机控制,采用CRC算法校验数据。本设计可应用与智能建筑安防报警系统,通过监控,防止设备丢失。硬件系统通过串行外设接口访问串行总线,通过SCK、NSS、MISO、MOSI四个端口与CYRF6936进行数据交互。软件部分是通过SPI控制CYRF6936,采用CRC校验数据结果,生成多项式,简化调试过程。CRC校验模块能够校验数据的正确性,无线接收器接收端接收的数据经CRC校验后,提高了数据的准确性。此外,该无线接收器能够和多个发送端相连,同一PN码才能进行通信。
2.3 在ZSP400的软件仿真环境中运行,从时钟周期数和执行指令数进行统计
运行效率可以通过准余式表或反射余式表反映出CRC方法的效率。余式的产生实际就是对0到255计算CRC,通过左移、异或等操作,生成32位的多项式。运用反射余表法先将多项式反射,再求余式,经过左移或右移将高比特变为低比特。右移求反射余式少了两次反射操作,比反射求反射余式快了10倍。因而,优化程序代码和程序结构可以提高运行速度。在时钟周期数与执行指令数统计时,通过余式比较CRC的效率。反射法在计算时使用发射生成多项式,应用时将余式表放入程序,执行指令。在ZP400运行CMC32时,采用不同算法得到的结果相同,反射法、标准法、查表法效果基本相同。但在运行速度上稍有差别,查表法最快,不需要反射时,反射法最慢。
综上所述,在计算机网络通信中,选择合适的CRC,冗余位少、漏检率低、传输效率高、编码简单,易于在检测电路上实现。CRC算法实现简单,检错能力强,性价比高,比奇偶校验和算术校验效果好的多。CRC算法采用软件校验的方法,极大地提高了计算机网络传输的准确性和可靠性。
[1]王倩丽.基于CYRF6936的无线收发器CRC算法实现[J].微处理机,2010
[2]陶传会.浅议CRC算法在计算机网络通信中应用[J].信息与电脑,2011