网络_2章_CRC计算补充材料.ppt

网络_2章_CRC计算补充材料.ppt

ID:51600763

大小:155.00 KB

页数:13页

时间:2020-03-25

网络_2章_CRC计算补充材料.ppt_第1页
网络_2章_CRC计算补充材料.ppt_第2页
网络_2章_CRC计算补充材料.ppt_第3页
网络_2章_CRC计算补充材料.ppt_第4页
网络_2章_CRC计算补充材料.ppt_第5页
资源描述:

《网络_2章_CRC计算补充材料.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、2.8CRC检错码的软件实现CRC校验码的生成生成多项式取为CRC-CCITT:G(x)=x16+x12+x5+1按位计算算法本位CRC码等于上一位CRC码乘以2后除以多项式,所得的余数再加上本位值除以多项式所得的余数多项式:0x1021程序简单、费时CRC计算函数ptr:指向发送缓冲区的首字节len:总字节数1工业计算机网络与通信2.8.1按位计算CRC的算法1.令16位的CRC寄存器初值为0;2.取数据包的第1个8位字节(高字节);3.取当前字节的最高位;4.若CRC寄存器的最高位为1,则CRC寄存器的内容左移1位,最低位补0,然后与多项式值0x1021异或,得到

2、新的CRC值;若CRC寄存器的最高位为0,则CRC寄存器的内容左移1位,得到新的CRC值;5.若当前字节的当前位为1,则CRC寄存器的内容与多项式值0x1021异或,得到新的CRC值;6.当前字节左移1位(即:取当前字节的下1位);7.重复步骤4到6,直至当前字节的8位处理完;8.取数据包的下一字节;9.重复步骤3到8,直至所有字节被处理完;2工业计算机网络与通信2.8.1按位计算CRCunsignedintcal_crc(unsignedchar*ptr,unsignedcharlen){unsignedchari;unsignedintcrc=0;while(le

3、n--!=0){for(i=0x80;i!=0;i/=2){if((crc&0x8000)!=0){crc*=2;crc^=0x1021;}/*余式CRC乘以2再求CRC*/ elsecrc*=2; if((*ptr&i)!=0)crc^=0x1021;/*再加上本位的CRC*/}ptr++;}return(crc); }3工业计算机网络与通信2.8.1按位计算CRC主程序#include#defineNUM3unsignedintcal_crc(unsignedchar*ptr,unsignedcharlen);voidmain(){unsigne

4、dchardat[NUM]={0x00,0x01,0x02};unsignedchar*p1;unsignedintcrc=0;p1=dat;crc=cal_crc(p1,NUM);printf("Thecrcis%x",crc);}unsignedintcal_crc(unsignedchar*ptr,unsignedcharlen){略}4工业计算机网络与通信2.8.2按字节计算CRC算法本字节CRC码等于(上一字节CRC码的低8位左移8位)加上(上一字节CRC码的高8位与本字节相加后求出CRC码)查表按生成多项式,把8位二进制序列数(0~255)的CRC全部

5、计算出来,存为一个数据表提高速度、占用内存多5工业计算机网络与通信2.8.2按字节计算CRC算法1.令16位的CRC寄存器初值为0;2.取数据包的第1个8位字节(高字节);3.CRC的低8位乘以256,暂存为CRC1;4.CRC寄存器的高8位与当前字节相加,查表求CRC码,暂存为CRC2;5.CRC1和CRC2的数据相加,存入CRC寄存器;6.取数据包的下一字节;7.重复步骤3到6,直至所有字节被处理完。6工业计算机网络与通信2.8.2按字节计算CRCunsignedintcal_crc(unsignedchar*ptr,unsignedcharlen){unsign

6、edintcrc; unsignedcharda;unsignedintcrc-ta[256]={0x0000,0x1021,0x2042,略};/*CRC余式表*/crc=0;while(len--!=0){da=(unsignedchar)(crc/256);/*暂存CRC的高8位*/crc<<=8;/*CRC的低8位乘以256*/crc^=crc_ta[da^*ptr];/*高8位和当前字节相加后再查表求CRC,再加上以前的CRC*/ptr++;}return(crc);}7工业计算机网络与通信2.8.2按字节计算CRC按字节计算的CRC余式表:unsigned

7、intcrc_ta[256]={0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7,0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef,0x1231,0x0210,0x3273,0x2252,0x52b5,0x4294,0x72f7,0x62d6,0x9339,0x8318,0xb37b,0xa35a,0xd3bd,0xc39c,0xf3ff,0xe3de,0x2462,0x3443,0x0420,0x1401,0x64e6,0x7

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。