[发明专利]基于USB3.2协议16比特循环冗余校验的硬件实现方法在审
申请号: | 202011597598.9 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112612638A | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 范凯;卢笙;陈盈安 | 申请(专利权)人: | 芯启源电子科技有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 南京新慧恒诚知识产权代理有限公司 32424 | 代理人: | 王皎 |
地址: | 313000 浙江省湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 usb3 协议 16 比特 循环 冗余 校验 硬件 实现 方法 | ||
1.基于USB3.2协议16比特循环冗余校验的硬件实现方法,其特征在于,应用于USB3.2设备,所述USB3.2设备包括主机、集线器和从设备,所述方法包括发送端对头包中CRC-16计算方法和接收端对头包中CRC-16计算方法。
2.根据权利要求1所述的基于USB3.2协议16比特循环冗余校验的硬件实现方法,其特征在于,所述发送端对头包中CRC-16计算方法,包括以下步骤:
S1、第一个有效数据周期CRC-16寄存器的初始值为十六进制FFFF,记为crc16[15:0],从高位到低位依次为crc16[15], crc16[14], crc16[13]…… crc16[1], crc16[0];
S2、取crc16(n)代表CRC-16寄存器迭代n次后的值,crc16(n+1)为CRC-16寄存器迭代n+1次之后的值,crc16(n)[m]代表CRC-16寄存器迭代n次后第m位的值(m取值从0到15),CRC-16寄存器的初始值为crc16(0)[15:0],当前数据输入位din,基于单步迭代公式;
S3、根据数据位宽迭代对应的次数,迭代后进行展开;
S4、根据根据a^a^b=b,其中a,b均为2进制变量,消去冗余项,得到当前周期的CRC-16寄存器的值;
S5、重复步骤S2-S4直至所有头包控制信息的CRC-16计算完成,将此时CRC-16寄存器的值安位取反,并将0-7位和8-15位从高位到低位按位颠倒次序,再将高8位和低8位颠倒次序,得到最终的CRC-16的计算结果。
3.根据权利要求2所述的基于USB3.2协议16比特循环冗余校验的硬件实现方法,其特征在于,所述接受端对头包中CRC-16计算方法,包括以下步骤:
S1、第一个有效数据周期CRC-16寄存器的初始值为十六进制FFFF,记为crc16[15:0],从高位到低位依次为crc16[15], crc16[14], crc16[13]…… crc16[1],crc16[0];
S2、取crc16(n)代表CRC-16寄存器迭代n次后的值,crc16(n+1)为CRC-16寄存器迭代n+1次之后的值,crc16(n)[m]代表CRC-16寄存器迭代n次后第m位的值,其中m取值从0到15,CRC-16寄存器的初始值为crc16(0)[15:0],当前数据输入位din,代入单步迭代公式;
S3、根据数据位宽,迭代对应的次数,之后进行展开;
S4、根据根据a^a^b=b,其中a,b均为2进制变量,消去冗余项,得到当前周期的CRC-16寄存器的值;
S5、重复S2-S4直至所有头包控制信息的CRC-16计算完成;
S6、CRC-16的最终校验计算结果为十六进制F6AA,若不是,则报告CRC-16校验失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯启源电子科技有限公司,未经芯启源电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011597598.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大孔径全玻广角鱼眼镜头及其工作方法
- 下一篇:一种便携式采血管装置