APP下载

Xmodem协议中CRC算法的FPAG实现

2012-09-26王远程明

电子设计工程 2012年7期
关键词:方法

王远,程明

(郑州大学 信息工程学院,河南 郑州 450001)

Xmodem协议是一种被广泛使用的异步文件传输协议。标准主要由Xmodem和 1k-Xmodem两种组成,Xmodem以128字节块的形式传输数据,1k-Xmodem字节块为1k即1 024字节,两种标准都支持一般校验和、CRC两种校验方式。在传输数据时,数据包出错,则支持重传(一般支持 10次)。Xmodem的CRC校验需要对128字节(或1 024字节)数据包进行整体校验。当接收端接收到一个数据包后,如果校验正确,则回送一个确认字符。如果错误则回送一个否认字符,等待发送端重发。对数据包的校验时间直接影响了Xmodem协议的数据传输效率。

数据传输过程中的差错检查方法有很多,常用的有奇偶校验、循环冗余校验码(Cyclical Redundancy Check,缩写为CRC)等。奇偶校验一般适用于一个字节或一个字的数据校验,CRC不仅适合单个字节的校验还适用于数据包数据的校验。在进行大量数据传输的应用中,CRC必不可少。如Xmodem协议,HEX文件,RFID协议,USB通信协议等,都需要进行CRC校验。实践证明,CRC得到了越来越广范的应用。

1 CRC算法原理简介

CRC校验的基本思路是利用线性码原理,对需要进行传输的k位二进制数左移r位,右边空出的r位补0,这r个0的位置即CRC码的位置。通过以上的k+r位数据对生成多项式取余,所得余数即为CRC效验码。

传输时在原始的k位二进制数后加上r位CRC码一起发送出去。接收端将接收到的k+r位数据对生成多项式取余,若余数为0,说明传输数据正确,否则不正确。

下面具体说明CRC校验的实现原理。

设欲传送的数据为k位二进制数,用M(X)表示,

将此数据序列左移r位,即乘以xr,其中r为生成多项式G(x)的最高次幂。……

登录APP查看全文

猜你喜欢

方法
中医特有的急救方法
高中数学教学改革的方法
化学反应多变幻 “虚拟”方法帮大忙
变快的方法
学习方法
用对方法才能瘦
最有效的简单方法
四大方法 教你不再“坐以待病”!
赚钱方法
捕鱼