[发明专利]一种实现可变长CRC运算的电路无效

专利信息
申请号: 201010573154.1 申请日: 2010-12-03
公开(公告)号: CN102487282A 公开(公告)日: 2012-06-06
发明(设计)人: 左耀华 申请(专利权)人: 上海华虹集成电路有限责任公司
主分类号: H03M13/09 分类号: H03M13/09
代理公司: 上海东创专利代理事务所(普通合伙) 31245 代理人: 曹立维
地址: 201203 上海*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 实现 变长 crc 运算 电路
【说明书】:

技术领域

发明涉及USB及SATA等高速通信接口中CRC应用领域,尤其涉及一种实现可变长CRC运算的电路。

背景技术

随着微电子技术的发展,大容量、高速的数据传输应用需求越来越多,对带宽的要求也越来越高,作为重要的高速通信接口,USB和SATA已经大量应用于日常生活的电子产品。

CRC(Cyclic Redundancy Check,循环冗余校验)的技术特点是检错能力极强,开销小,易于用编码器及检测电路实现。从其检错能力来看,它所不能发现的错误的几率为0.0047%以下。从性能上和开销上考虑,均远优于奇偶校验及算术和校验等方式,因而在数据存储和数据通讯领域,CRC技术得到了广泛的应用。如何将可变长CRC运算应用于USB,SATA等高速通信接口技术领域中是本发明要解决的技术问题。

发明内容

本发明目的提供一种实现可变长CRC运算的电路,通过把传输数据包截为不大于32比特长度的子数据包,并根据子数据包的有效数据长度采取不同的CRC运算方法来计算对应的CRC值。

一种实现可变长CRC运算的电路,由二选一选择器、CRC运算模块和输出选择模块构成。

二选一选择器,用于根据各自的选择条件对输入数据进行选择输出;

CRC运算模块,根据不同的初始值,对输入数据进行CRC运算;

输出选择模块,根据电路输入数据,选择输出CRC运算结果;

本发明中二选一选择器为两个,分别为选择器MUX1和选择器MUX2。选择器MUX1的输入端有两个:一个是常数,设为32’hff_ff,另外一个输入端连接到输出选择模块的输出端crc_value;其控制端为电路的输入信号first_byte,输出端分别连接到四个CRC运算模块的输入端crc_initial_value;控制端输入信号first_byte位宽为1比特,表示当前输入的四字节数据是否包含传输数据包数据的第一字节。当first_byte为1’b1时,表示当前输入的四字节数据包含传输数据包数据的第一字节,将常数32’hff_ff输出到crc_initial_value数据线上;否则将crc_value输出到crc_initial_value数据线上。选择器MUX2有四个输入端,分别连接于四个CRC运算模块的输出端,其控制端为电路的输入信号data_length。

CRC运算模块为四个,分别为:电路输入数据din有效位宽为32位的CRC_32、电路输入数据din有效位宽为24位的CRC_24、电路输入数据din有效位宽为16位的CRC_16和电路输入数据din有效位宽为8位的CRC_8。四个CRC运算模块的输入端都为电路输入数据din和MUX1的输出crc_initial_value。电路输入信号data_length位宽为2比特,当data_length为2’b11时,当前进行CRC运算的输入数据din的有效位宽为32比特,则选择器MUX2选择输出CRC_32b模块的运算结果crc32_dout到crc_dout上。当data_length为2’b10时,当前进行CRC运算的输入数据din的有效位宽为24比特,则选择器MUX2选择输出CRC_24b模块的运算结果crc24_dout到crc_dout上。当data_length为2’b01时,当前进行CRC运算的输入数据din的有效位宽为16比特,则选择器MUX2选择输出CRC_16b模块的运算结果crc16_dout到crc_dout上。当data_length为2’b00时,当前进行CRC运算的输入数据din的有效位宽为8比特,则选择器MUX2选择输出CRC_8b模块的运算结果crc8_dout到crc_dout上。

输出选择模块的输入端为连接电路输入信号last_byte和二选一选择器MUX2的输出crc_dout。last_byte位宽为1比特,表示当前输入的四字节数据是否包含传输数据包数据的最后一字节。当last_byte为1’b1时,表示当前输入的四字节数据包含传输数据包数据的最后一字节,把crc_dout的值输出到dout数据线上;否则把crc_dout的值输出到crc_value数据线上。

本发明根据子数据包的有效数据长度采取不同的CRC运算方法来计算对应的CRC值,从而解决了传统实现方式中因数据包长度不定长所带来的数据CRC运算问题。

附图说明

附图1本发明提供的实现可变长CRC运算的电路结构图

具体实施方案

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华虹集成电路有限责任公司,未经上海华虹集成电路有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010573154.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top