[发明专利]基于USB3.0协议16比特循环冗余校验的硬件实现方法在审
申请号: | 202011602114.5 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112596944A | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 范凯;卢笙;陈盈安 | 申请(专利权)人: | 芯启源电子科技有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 南京新慧恒诚知识产权代理有限公司 32424 | 代理人: | 王皎 |
地址: | 313000 浙江省湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 usb3 协议 16 比特 循环 冗余 校验 硬件 实现 方法 | ||
本发明公开了一种基于USB3.0协议16比特循环冗余校验的硬件实现方法,其特征在于,应用于USB3.0设备,所述USB3.0设备包括主机、集线器和从设备,所述方法包括发送端对头包中CRC‑16计算方法和接收端对头包中CRC‑16计算方法,相比现有技术,本发明通过将算法按照数据位宽进行展开并消除冗余项,缩短了数据生成时的硬件延时,提升了系统的工作频率。
技术领域
本发明涉及USB传输领域,具体涉及基于USB3.0协议16比特循环冗余校验的硬件实现方法。
背景技术
USB是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接口支持设备的即插即用和热插拔功能。USB标准于1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出,现已经被广泛应用于电脑,手机,数码相机等各种电子设备。
USB标准由USB官方组织USB-IF制定和维护,从开始至今依次发布了USB1.0,USB1.1, USB2.0, USB3.0, USB3.1, USB3.2和USB4七个版本,新版本前向兼容旧版本。每个版本支持的最大传输速率分布为:
USB1.0: 1.5Mbps;
USB1.1: 12Mbps;
USB2.0:480Mbps;
USB3.0:5Gbps;
USB3.1:10Gbps;
USB3.2:20Gbps;
USB4:40Gbps。
循环冗余校验码(CRC, Cyclic Redundancy Check)是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在数据后面,接收设备用相同的算法对接收到的数据进行计算,并将结果与收到的循环冗余校验码进行比较,以确定数据传输的正确性和完整性。
USB3.0协议中的头包(HeaderPacket)使用了CRC-16对数据内容进行保护。
头包(HeaderPacket)共有12个字节(96比特),主要有4种类型,分别是:
链路管理包(Link Management Packet)
传输包(TransactionPacket)
数据包(Data Packet)
同步时间戳包(Isochronous Timestamp Packet)。
头包的具体定义如图1。
头包(HeaderPacket)共有16个字节,主要包括:类型(Type),路由信息(RouteString),设备地址(DeviceAddress),子类型(Sub Type),重传(Rty),方向(Direction),端点号(EptNum),数据流号(StreamID),16比特循环冗余校验值(CRC-16),链路控制字(LinkControlWord)等字段。
根据USB3.0协议的定义,16比特循环冗余校验值(CRC-16)用于保护头包中12字节控制信息(DWORD0, DWORD1, DWORD2)中的所有字段,USB3.0协议CRC-16的保护范围如图2所示。
USB3.0协议提供的CRC-16实现方案是基于单比特运算和按照位宽逐位迭代的,缺点在于每个周期需要迭代次数多,耗时长,冗余校验码生成和结果校验的硬件延时较大,从而限制了硬件系统的工作频率和整体性能。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯启源电子科技有限公司,未经芯启源电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011602114.5/2.html,转载请声明来源钻瓜专利网。