CN107943611A - 一种快速产生crc的控制装置 - Google Patents
一种快速产生crc的控制装置 Download PDFInfo
- Publication number
- CN107943611A CN107943611A CN201711091417.3A CN201711091417A CN107943611A CN 107943611 A CN107943611 A CN 107943611A CN 201711091417 A CN201711091417 A CN 201711091417A CN 107943611 A CN107943611 A CN 107943611A
- Authority
- CN
- China
- Prior art keywords
- crc
- data
- bit
- unit
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000004148 unit process Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000003672 processing method Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明提供了一种快速产生CRC的控制装置,包括综合处理装置和CRC计算单元;综合处理装置包含数据处理单元,模式选择单元和结果处理单元;模式选择单元用于根据用户的配置选择合适的CRC计算单元以及正确的数据处理方式和结果处理方式;数据处理单元,根据模式选择单元传递的模式信息进行数据处理,并将处理完毕的数据传递给对应的CRC计算单元;结果处理单元,根据模式选择单元传递的信息对CRC计算单元返回的计算结果进行处理,最终形成符合需求的CRC数据。本发明所述的一种快速产生CRC的控制装置,可以灵活的选择所需要计算的CRC的多项式,并加快了CRC计算的速度,从而可以提高系统的灵活性和系统的性能。
Description
技术领域
本发明属于计算机技术及通信技术领域,尤其是涉及一种快速产生CRC的控制装置。
背景技术
在数据通信的过程中,由于各种因素的干扰,无论传输系统设计的多么完美,错误总会发生。这种错误可能只是一比特的错误(由于某种干扰使得某比特数据由1变为了0,或者由0变为了1)。但是,就仅仅这一比特的错误就会导致整个传输数据的一帧或者多帧数据的错误。所以,为了尽量提高接收端收到数据的正确率,一般会在接收端使用接收到的数据之前对数据进行差错检验,当且仅当检验的结果为正确时接收端才真正接收此次传输数据。检验的方式有很多种,其中最常见的就是CRC循环冗余校验。
在很多的安全通信系统中,经常会对大量的数据进行CRC校验,这样就会对CRC的计算速度有了较高的要求;由于每次传输数据的长度并不一致,因此在保证数据传输速度的同时还要考虑到数据的结构;再有,在不同的系统中对CRC的多项式的要求可能并不相同,这就要求CRC的计算要很灵活。
发明内容
有鉴于此,本发明旨在提出一种快速产生CRC的控制装置,以实现可以在不对所需计算CRC的数据长度进行限制的条件下,快速的产生常用多项式的CRC。
为达到上述目的,本发明的技术方案是这样实现的:
一种快速产生CRC的控制装置,包括综合处理装置和用于产生CRC中间结果的CRC计算单元,所述综合处理装置包括数据处理单元、模式选择单元和结果处理单元;
所述模式选择单元用于根据用户的配置选择合适的CRC计算单元,并将选择信息传递给数据处理单元和结果处理单元;
所述数据处理单元,根据模式选择单元传递的模式信息进行数据处理,并将处理后的数据传递给对应的CRC计算单元;
所述结果处理单元,根据模式选择单元传递的信息对CRC计算单元返回的计算结果进行处理,最终形成符合需求的CRC数据;
所述CRC计算单元用于计算数据处理单元处理的数据,并将计算结果反馈给结果处理单元。
进一步的,所述模式选择单元用于根据用户的配置输入在CRC10,CRC11,CRC20,CRC21和CRC30所代表的模式之间选择,其中
CRC10:输入为32位数据的符合多项式为0x04C11DB7的32位CRC计算单元
CRC11:输入为8位数据的符合多项式为0x04C11DB7的32位CRC计算单元
CRC10:输入为32位数据的符合多项式为0x1EDC6F41的32位CRC计算单元
CRC11:输入为8位数据的符合多项式为0x1EDC6F41的32位CRC计算单元
CRC30:输入为8位数据的任意多项式CRC计算单元。
进一步的,所述数据处理单元包括根据模式需要将输入的32位宽度数据转变为8位数据宽度数据,或者根据模式要求对数据进行比特取反或者按位取反。
进一步的,所述结果处理单元包括将数据进行比特翻转、按位取反、根据自定义多项式的长度截取计算结果。
相对于现有技术,本发明所述的一种快速产生CRC的控制装置具有以下优势:本发明所述的一种快速产生CRC的控制装置,可以灵活的选择所需要计算的CRC的多项式,而且对于常用多项式,本装置可以自动的实现输入数据从32比特到8比特的转换,从而加快了CRC计算的速度,从而可以提高系统的灵活性和系统的性能。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种快速产生CRC的控制装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,本发明提出一种快速产生CRC的控制装置,包括综合处理装置和用于产生CRC中间结果的CRC计算单元。其中,综合处理装置由数据处理单元,模式选择单元和结果处理单元三个单元组成;模式选择单元用于根据用户的配置输入选择合适的CRC计算单元以及数据处理方式和结果处理方式;数据处理单元,根据模式选择单元传递的模式信息进行数据处理,并将处理完毕的数据传递给对应的CRC计算单元;结果处理单元,根据模式选择单元传递的信息对CRC计算单元返回的计算结果进行处理,最终形成符合需求的CRC数据。CRC计算单元,计算数据处理单元传递过来的数据,并将计算结果反馈给结果处理单元。通过本发明所述的一种快速产生CRC的控制装置,可以灵活的选择所需要计算的CRC的多项式,而且对于常用多项式,本装置可以自动的实现输入数据从32比特到8比特的转换,从而加快了CRC计算的速度,从而可以提高系统的灵活性和系统的性能;
本发明的具体结构如下:包括综合处理装置和CRC计算单元,其中
(1)综合处理装置:本装置主要完成模式选择,数据处理及结果处理的工作,具体由模式选择单元,数据处理单元和结果处理单元三个单元分别完成;
(1.1)模式选择单元:模式选择单元用来根据用户的配置输入在CRC10,CRC11,CRC20,CRC21和CRC30所代表的模式之间选择,然后,其根据所要计算数据的大小来却定本次计算需要用到32位输入计算单元还是需要用8位输入单元。具体的,对于CRC10,CRC11和CRC20及CRC21,比如一次CRC计算的总数据量为215字节,那么,本单元在前54次计算过程中将选择32位输入计算单元,并在后3次计算中选中8位输入CRC计算单元,这样就可以在57个周期完成215个字节的计算。对于CRC30,其为系统的灵活性设计,其可以配置为任意长度的任意多项式。最后,本单元并将选择信息传递给数据处理单元和结果处理单元;其中,
CRC10:输入为32位数据的符合多项式为0x04C11DB7的32位CRC计算单元;
CRC11:输入为8位数据的符合多项式为0x04C11DB7的32位CRC计算单元;
CRC10:输入为32位数据的符合多项式为0x1EDC6F41的32位CRC计算单元;
CRC11:输入为8位数据的符合多项式为0x1EDC6F41的32位CRC计算单元;
CRC30:输入为8位数据的任意多项式CRC计算单元。
(1.2)数据处理单元:根据模式选择单元中传递的模式信息对所需计算CRC的数据进行处理,如果需要则将输入的32位数据转换为8位数据,并将处理完毕的数据传递给对应的CRC计算单元,或者根据模式要求对数据进行比特取反或者按位取反;如1.1中例子所述,在前54次传输中,本单元会将完整的32位数据传递给对应的CRC10或者CRC20,而对于之后的传输,本单元会将接收到的32位数据(其中之后3个字节有效)分为3次(每次传输一个有效字节)传递给CRC11或者CRC21;
(1.3)结果处理单元:根据模式选择单元中传递的模式信息对数据处理单元中CRC计算单元返回的计算结果进行对应的处理,包括比特翻转,按位取反,根据自定义多项式的长度截取计算结果,从而最终形成符合需求的CRC数据;
(2)CRC计算单元:本单元共有5个小的单元组成,其计算数据处理单元处理完毕的数据,并将计算结果反馈给结果处理单元;
经过综合处理装置及其CRC计算单元的相互配合,就可以快速的完成大量数据的任何多项式的CRC计算工作。由此可见,通过本发明的一种快速产生CRC的控制装置可以快速的产生通用多项式的CRC计算结果,并且如果应用场景需要,其可以为所需传输的数据产生任意长度,任意多项式的CRC。因此其可以有效的提高系统的工作效率和系统的灵活性。
本发明旨在提出一种在确保不对数据结构产生限制的同时,快速产生CRC的控制装置,并且在不同的应用场景下,本装置可以配置为不同的CRC计算所需的多项式,从而可适应不同的应用场景。使用本发明所描述的一种快速产生CRC的控制装置,可以在不对所需计算CRC的数据长度进行限制的条件下,快速的产生常用多项式的CRC,而且如果当系统环境改变时,如果需要使用不同的多项式来产生CRC,那么本装置可以通过简单的参数配置,就可以实现目标多项式的CRC的计算。这样就可以很大程度上提高系统的效率,增强系统的适应性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种快速产生CRC的控制装置,其特征在于:包括综合处理装置和用于产生CRC中间结果的CRC计算单元,所述综合处理装置包括数据处理单元、模式选择单元和结果处理单元;
所述模式选择单元用于根据用户的配置选择合适的CRC计算单元,并将选择信息传递给数据处理单元和结果处理单元;
所述数据处理单元,根据模式选择单元传递的模式信息进行数据处理,并将处理后的数据传递给对应的CRC计算单元;
所述结果处理单元,根据模式选择单元传递的信息对CRC计算单元返回的计算结果进行处理,最终形成符合需求的CRC数据;
所述CRC计算单元用于计算数据处理单元处理的数据,并将计算结果反馈给结果处理单元。
2.根据权利要求1所述的一种快速产生CRC的控制装置,其特征在于:所述模式选择单元用于根据用户的配置输入在CRC10,CRC11,CRC20,CRC21和CRC30所代表的模式之间选择,其中
CRC10:输入为32位数据的符合多项式为0x04C11DB7的32位CRC计算单元;
CRC11:输入为8位数据的符合多项式为0x04C11DB7的32位CRC计算单元;
CRC10:输入为32位数据的符合多项式为0x1EDC6F41的32位CRC计算单元;
CRC11:输入为8位数据的符合多项式为0x1EDC6F41的32位CRC计算单元;
CRC30:输入为8位数据的任意多项式CRC计算单元。
3.根据权利要求1所述的一种快速产生CRC的控制装置,其特征在于:所述数据处理单元包括根据模式需要将输入的32位宽度数据转变为8位数据宽度数据,或者根据模式要求对数据进行比特取反或者按位取反。
4.根据权利要求1所述的一种快速产生CRC的控制装置,其特征在于:所述结果处理单元包括将数据进行比特翻转、按位取反、根据自定义多项式的长度截取计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711091417.3A CN107943611B (zh) | 2017-11-08 | 2017-11-08 | 一种快速产生crc的控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711091417.3A CN107943611B (zh) | 2017-11-08 | 2017-11-08 | 一种快速产生crc的控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943611A true CN107943611A (zh) | 2018-04-20 |
CN107943611B CN107943611B (zh) | 2021-04-13 |
Family
ID=61934516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711091417.3A Active CN107943611B (zh) | 2017-11-08 | 2017-11-08 | 一种快速产生crc的控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943611B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101305349A (zh) * | 2005-12-23 | 2008-11-12 | 英特尔公司 | 响应于用户级指令进行循环冗余校验和运算 |
US8468439B2 (en) * | 2011-06-02 | 2013-06-18 | Nexus Technology, Inc. | Speed-optimized computation of cyclic redundancy check codes |
CN103827844A (zh) * | 2011-06-29 | 2014-05-28 | 罗伯特·博世有限公司 | 用于具有灵活的消息大小和可变的位长的串行数据传输的方法和设备 |
WO2014204373A1 (en) * | 2013-06-20 | 2014-12-24 | Telefonaktiebolaget L M Ericsson (Publ) | Access control in a network |
CN104486033A (zh) * | 2014-12-03 | 2015-04-01 | 重庆邮电大学 | 一种基于c-ran平台的下行多模信道编码系统及方法 |
CN106383751A (zh) * | 2016-09-23 | 2017-02-08 | 卡斯柯信号有限公司 | 一种改进的随机存取内存自检方法 |
CN106575257A (zh) * | 2014-06-02 | 2017-04-19 | 美光科技公司 | 用于改进存储器系统的效率的系统及方法 |
CN106788878A (zh) * | 2015-11-24 | 2017-05-31 | 中国航空工业第六八研究所 | 一种具有单比特纠错功能的并行crc纠错方法 |
-
2017
- 2017-11-08 CN CN201711091417.3A patent/CN107943611B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101305349A (zh) * | 2005-12-23 | 2008-11-12 | 英特尔公司 | 响应于用户级指令进行循环冗余校验和运算 |
US8468439B2 (en) * | 2011-06-02 | 2013-06-18 | Nexus Technology, Inc. | Speed-optimized computation of cyclic redundancy check codes |
CN103827844A (zh) * | 2011-06-29 | 2014-05-28 | 罗伯特·博世有限公司 | 用于具有灵活的消息大小和可变的位长的串行数据传输的方法和设备 |
WO2014204373A1 (en) * | 2013-06-20 | 2014-12-24 | Telefonaktiebolaget L M Ericsson (Publ) | Access control in a network |
CN106575257A (zh) * | 2014-06-02 | 2017-04-19 | 美光科技公司 | 用于改进存储器系统的效率的系统及方法 |
CN104486033A (zh) * | 2014-12-03 | 2015-04-01 | 重庆邮电大学 | 一种基于c-ran平台的下行多模信道编码系统及方法 |
CN106788878A (zh) * | 2015-11-24 | 2017-05-31 | 中国航空工业第六八研究所 | 一种具有单比特纠错功能的并行crc纠错方法 |
CN106383751A (zh) * | 2016-09-23 | 2017-02-08 | 卡斯柯信号有限公司 | 一种改进的随机存取内存自检方法 |
Non-Patent Citations (1)
Title |
---|
许正荣: "CRC编码运算中移位寄存器的设计", 《计算机技术与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
CN107943611B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101702639B (zh) | 循环冗余校验的校验值计算方法及装置 | |
EP4274127A1 (en) | Data transmission method and apparatus, and device, system and computer-readable storage medium | |
CN110831010B (zh) | 一种多通道数据发送及接收方法及装置和数据传输系统 | |
CN109936376B (zh) | 按字节运算循环码crc16-ccitt校验的方法 | |
CN102546089A (zh) | 循环冗余校验crc码的实现方法及装置 | |
CN106372026B (zh) | 一种链路检测方法和接收设备 | |
CN101296053A (zh) | 计算循环冗余校验码之方法及系统 | |
JP4260688B2 (ja) | データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法 | |
US10372528B1 (en) | Random values from data errors | |
US7941727B2 (en) | Checksum generator for variable-length data | |
CN107943611B (zh) | 一种快速产生crc的控制装置 | |
CN101577556B (zh) | 一种实现矩形交织的装置 | |
EP2326014A3 (en) | Error detecting/correcting code generating circuit and method of controlling the same | |
CN116861493B (zh) | 一种校验码生成方法、处理器及电子设备 | |
CN103763064A (zh) | 适用于超高速通讯系统的循环冗余校验码生成方法与电路 | |
US20060236196A1 (en) | Combined command and data code | |
CN105530067A (zh) | 一种并行加扰装置及并行加扰方法 | |
CN108574490B (zh) | 计算循环冗余校验crc编码的方法及装置 | |
CN102055572A (zh) | 数据重传方法及装置 | |
CN114443348A (zh) | 一种可配置crc码计算系统 | |
JP2017175495A (ja) | 送信装置、受信装置、通信システム、方法およびプログラム | |
Song et al. | Secure frame format for avoiding replay attack in Distributed Network Protocol (DNP3) | |
CN113821370A (zh) | 一种用于数据传输错误校验的高速crc产生方法和装置 | |
CN107276683B (zh) | 一种水声信号的解码方法、发送方法及其装置 | |
CN103138880B (zh) | 编解码方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |