[发明专利]CRC‑32算法在USB3.0数据包中的实现方法在审
申请号: | 201710345847.7 | 申请日: | 2017-08-20 |
公开(公告)号: | CN107231213A | 公开(公告)日: | 2017-10-03 |
发明(设计)人: | 孙磊;杨康 | 申请(专利权)人: | 安徽大学 |
主分类号: | H04L1/00 | 分类号: | H04L1/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 230601 安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | crc 32 算法 usb3 数据包 中的 实现 方法 | ||
1.一种CRC-32算法在USB3.0数据包中的实现方法,其特征是:所述的CRC-32算法在USB3.0数据包中的实现方法通过以下步骤实现:
步骤一、确定USB中的CRC校验规则与USB3.0数据包结构;
步骤二、确定USB3.0协议中CRC-32校验生成的多项式;
步骤三、以CRC串行比特算法为基础来推导递推并行CRC-32算法;
步骤四、使用Verilog硬件编程语言验证递推并行CRC-32算法的正确性。
2.根据权利要求1所述的CRC-32算法在USB3.0数据包中的实现方法,其特征是:步骤一所述的USB中的CRC校验规则是指,编码过程对需要传输的k位二进制数据,按照设定的规则处理,生成一个r位的检验数据,附加在需要传输的k位二进制数据后面,形成一个k+r位的二进制数据发送到对方,接收方收到数据后,以同样的规则生成校验码进行比对;将k位二进制数据表示成多项式M(x),除以一个k+1位的生成多项式G(x),所得余数R(x)即为CRC校验码。
3.根据权利要求1或2所述的CRC-32算法在USB3.0数据包中的实现方法,其特征是.步骤一所述的USB3.0数据包结构为:USB3.0协议中基本传输单位数据包由数据包头DPH后面无缝链接一个数据负载包DPP构成,DPP由四个字节的DPPSTART,0~1024字节的数据,四个字节的32位CRC,以及四个字节的DPPEND构成。
4.根据权利要求3所述的CRC-32算法在USB3.0数据包中的实现方法,其特征是:步骤二所述的USB3.0协议中CRC-32校验生成的多项式为:
x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1,多项式的系数即为待编码的二进制数据,二进制数据按照从高位到地位的顺序,从左至右的次序输入除法电路,当8位数据输入完毕后,寄存器的值即为CRC-32校验码。
5.根据权利要求1、2或4所述的CRC-32算法在USB3.0数据包中的实现方法,其特征是:步骤三所述的以CRC串行比特算法为基础来推导递推并行CRC-32算法具体为,使用A0[C0C1C2…C31]表示32位的初始校验数据,使用P0[D0D1D2…D31]表示移位寄存器的初始值;A1表示移位一次后的校验数据,An表示通过经过n次移位后寄存器的状态,An可以用第n-1次的寄存器状态A(n-1)和状态转移矩阵B来表示为An=BA(n-1),根据该公式可以推出,经过n次移位后移位寄存器的状态An可由初始状态A0表示为An=B(n-1)A0,对32字节的进行模二加减运算,经过32次移位后为:A32=B32P0+A0,再进行32次的移位得到CRC-32的值,在移位寄存器中所得到的数据即为CRC校验值为A32*2=B32*1A32,从而推导出A32*2=B32*2P0+B32A0,通过原始数据和CRC校验码的初始值求出CRC校验码
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽大学,未经安徽大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710345847.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种时钟同步方法及系统
- 下一篇:基于GAMP算法的相位噪声补偿抑制方法