CN102208914B - 发送电路、接收电路和多通道通信系统 - Google Patents
发送电路、接收电路和多通道通信系统 Download PDFInfo
- Publication number
- CN102208914B CN102208914B CN2011102000163A CN201110200016A CN102208914B CN 102208914 B CN102208914 B CN 102208914B CN 2011102000163 A CN2011102000163 A CN 2011102000163A CN 201110200016 A CN201110200016 A CN 201110200016A CN 102208914 B CN102208914 B CN 102208914B
- Authority
- CN
- China
- Prior art keywords
- bit
- redundancy check
- tap
- cyclical redundancy
- modulo
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- 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/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
-
- 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
-
- 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/0041—Arrangements at the transmitter end
-
- 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/0045—Arrangements at the receiver end
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/21—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种实现和制造多通道通信系统的循环冗余检查电路的方法。所述方法包括:相对于第一时间点创建循环冗余检查(CRC)比特,所述循环冗余检查比特满足单通道串行通信系统的循环冗余检查多项式;通过对于所述生成表达式应用每个时间点,相对于与所述第一时间点依序延迟多通道的数量的各时间点而创建生成表达式;并且实现对应于在所创建的生成表达式中相对于最延迟的时间点的生成表达式的电路。对应于所述生成表达式的CRC电路将具有比在所选择的CRC多项式中的非零系数的数量更多的模2加法器(例如异或门)。
Description
本案是申请日为2006年5月11日、申请号为200610080366.X、发明名称为“循环冗余检查电路和含该电路的多通道通信的通信系统”的发明专利申请的分案申请。
技术领域
本发明涉及一种循环冗余检查(CRC)电路和包括其的通信系统,更具体地,涉及循环冗余检查(CRC)电路以及在诸如高清晰度多媒体接口(HDMI)之类的多通道串行通信系统中包括所述电路的通信系统。
背景技术
HDMI是一种电缆和接口,用于在诸如机顶盒(例如卫星接收器的电缆盒)或DVD播放器之类的音频/视频源和诸如数字电视之类的显示器之间发送未压缩的数字音频和视频数据。HDMI通过在每端(具有19个电极的微型插头)的单条电缆和仅仅一个连接器,支持标准高清晰度视频和多通道音频以及所有的ATSC(高级电视系统委员会)HDTV(高清晰度电视)标准和8通道数字音频。HDMI在达8个通道上传送具有达24比特字宽的、达192kHz的音频数据频率。因此,可能没有任何质量损失地发送家庭影院世界——包括HDTV(最高分辨率达1080p)——的所有画面和声音格式。
循环冗余检查是用于检测在发送的数据的块中的小变化的一种方式,并且起初被开发来用于检测线路传输错误。CRC(循环冗余检查)是一种错误检测方法,用于保证在串行数据传输系统中的发送/接收数据的可靠性,并且其工作原理如下。首先,当n比特的数据的字被移位k比特并且将移位k的n比特数据除以预定(预设)的k比特键(多项式)值时,剩余r比特余数。在(串行数据发送系统的)发送端,将r比特余数附加到原始的n比特,以产生被发送的(n+r)比特的数据。在(串行数据发送系统的)接收端,将接收的数据的(n+r)比特除以所述键值,并且如果所述余数是0,则确定所接收的数据无错误。
CRC算法在作为单位的数据块或数据帧(例如单个大数值)上操作。CRC算法将这个大值除以预定数(CRC多项式或生成多项式P),剩余余数,它是r比特CRC结果。所述CRC结果可以与原始数据一起被发送或存储。当接收到(或从存储恢复)数据时,可以重新应用CRC算法,并且将最新的结果与原始结果相比较。如果已经发生错误,将可能有不同的CRC结果。CRC的多数使用不试图分类或定位错误(或多个错误),而是仅仅安排重复数据操作直到检测不到错误。
作为在相除后的余数的所产生的r比特CRC的质量主要受到所选择的生成多项式的影响。生成多项式的选择是实施CRC算法的最重要的部分。所述多项式被选择来最大化错误检测能力。当创建新的多项式时,一般建议使用(相对于模算术)不能简化的多项式,这意味着所述多项式不能被任何多项式(除了其本身)相除而余数为0。由使用的多项式P来定义具体的CRC。k度多项式具有1+x...+x^k的形式。这被自然地表达为k+1比特串,但是最高(x^k)项通常是隐含的,剩余k比特串。
由HDMI标准定义的CRC多项式表达式P(x)具有8阶(k),并且被示出在下面的等式1中。
P(x)=1+x6+x7+x8 [等式1]
下面说明按照等式1的HDMI CRC多项式表达式来产生r个CRC比特的过程。
图2是被配置来实施等式1的CRC多项式表达式的传统CRC电路的方框图。图2的CRC电路被配置来处理通过一般单通道串行通信系统发送和接收的串行数据。符号表示异或门或模2加法器。CRC电路包括多个(r,至多或等于,但是不大于多项式的阶k)模2加法器41和多个(k,例如对于HDMI来说k=8)触发器42,用于延迟输入数据。由图2的电路输出的CRC的r个比特对应于r个抽头P[0]、P[5]和P[6]。
CRC基于相对于整数模2的多项式的除法。在这个模算术中,通过仅仅一个比特来表示多项式的系数。任何比特串可以被解释为多项式系数的系列。CRC算法将所有的比特流看作二进制多项式。任何比特串(数据)可以被解释为这种多项式的系数,并且为了找到CRC,我们将所述数据除以另一个固定的多项式P。这个预定义的多项式被称为除数或CRC多项式。余数多项式的系数是所述CRC。所述CRC被定义为在余数多项式中出现的系数序列。
模2算术使得可以有效地实现一种快速、容易实现和足以用于错误检测的除法形式。在模2算术中,加法和减法运算是等同的,两者都与对于比特的XOR(异或)函数相同,因此以硬件来实现它是很简单的。在所述比特之间没有进位,并且所有基本运算的计算比通常的算术在计算上更为便宜。这是为什么使用模算术的原因。
CRC创建过程的概略如下:
1.获得n比特数据。
2.将n比特数据向左移位(k个比特),并且将其除以P。
3.最后动作的r比特余数是CRC。
4.将第一批r比特CRC附加到所述数据,并且将它们一起作为数据帧发送。
并且CRC检查过程的概略如下:
1.接收数据帧。
2.将其(例如n比特的数据)除以P。
3.将第二批r比特CRC与所发送的第一批r比特的CRC相比较。
传统的硬件CRC实现(电路)被示出在图2中。因此,图2的移位寄存器(由k个触发器42组成)包含k个比特,等于多项式(等式1)的长度(阶)。在传统的CRC电路中,存在达k(但是不大于k)个异或门。异或门的存在与否对应于在除数多项式P中的项的存在与否。
在接收端提供了与在发送端的CRC电路相同的CRC电路。在接收端的CRC电路从n比特发送/接收数据产生r个CRC比特,并且通过将所述r个产生的CRC比特与所述r个所接收(例如发送)的CRC比特相比较来确定错误的存在。
在诸如通用串行总线(USB)之类的单通道串行通信系统中,当实时地完成串行数据的发送时立即产生CRC比特。但是,在诸如HDMI之类的多通道串行通信系统中,因为通过多通道同时并行地发送多数据,因此需要产生适合于多通道发送的CRC比特。
发明内容
虽然传统CRC电路仅仅包括r个模2加法器(对应于r比特的CRC,其中,r直到或等于、但是不大于多项式的阶k),按照本发明的各个实施例的CRC电路包括超过r个模2加法器。
本发明的一个方面提供了一种循环冗余检查(CRC)电路,它可以在多通道串行通信中并行地处理数据。本发明的另一个方面提供了一种具有所述循环冗余检查(CRC)电路的(多通道)通信系统。
按照本发明的一个方面,按照下述方法来制造用于多通道串行通信的循环冗余检查电路,所述方法包括:相对于第一时间点创建第一生成表达式,所述第一生成表达式产生循环冗余检查比特,并且满足单通道串行通信系统的循环冗余检查多项式;相对于与所述第一时间点依序延迟多通道的数量的各时间点而创建第二生成表达式(例如通过对于第一生成表达式替换每个时间点);并且实现对应于第二生成表达式的电路。
按照本发明的另一个方面,一种发送电路包括:多个存储单元,它们被配置来存储被并行输入的数据;循环冗余检查电路,它被配置来接收来自所述存储单元的并行数据,并且产生循环冗余检查比特;以及发送电路,它被配置来通过所述多通道而发送来自所述存储单元的并行数据和所述循环冗余检查比特。
按照本发明的另一个方面,一种接收电路包括:多个存储单元,它们被配置来存储通过多通道与第一循环冗余检查比特一起被接收的并行数据;循环冗余检查电路,它被配置来接收所述并行数据,并且产生第二循环冗余检查比特;以及确定部分,它被配置来确定错误(例如在所述多通道中产生的错误)的检测(例如通过将第一循环冗余检查比特与第二循环冗余检查比特相比较)。
按照本发明的另一个方面,一种通信系统包括发送器和接收器。所述发送器包括:多个第一存储单元,被配置来存储并行数据;第一循环冗余检查电路,被配置来输入来自所述存储单元的并行数据,并且从所述并行数据产生第一循环冗余检查比特;发送电路,被配置来从所述存储单元通过多通道来发送并行数据,并且当发送所述数据时,通过所述多通道来发送第一循环冗余检查比特。所述接收器包括:多个第二存储单元,它们被配置来存储通过多通道被接收的并行数据;第二循环冗余检查电路,它被配置来接收所述并行数据,并且从(根据)所述并行数据来产生第二循环冗余检查比特;以及确定部分,它被配置来例如通过将第一循环冗余检查比特与第二循环冗余检查比特相比较而确定错误(例如在所述多通道中产生的错误)的检测。
具体地,本发明提供一种用于多通道通信系统的发送电路,包括:
循环冗余检查(CRC)电路,被配置为输出第一CRC比特,该第一CRC比特满足基于接收的多个比特的多项式表达式P(x)=1+x6+x7+x8;
发送部分,被配置为与CRC电路耦合并经由多通道介质发送从CRC电路输出的第一CRC比特,其中
其中,循环冗余检查电路产生构成所述第一CRC比特的第一、第二、第三、第四、第五、第六、第七和第八抽头比特,并且所述循环冗余检查电路包括:
多个触发器,被配置来延迟第七和第八抽头比特,并产生第七和第八延迟比特;
第一模2加法器,被配置来执行第一和第二通道数据和第八延迟比特的逻辑异或;
第二模2加法器,被配置来执行第一模2加法器的输出信号和第七延迟比特的逻辑异或,以产生第一抽头比特;
第三模2加法器,被配置来执行第一通道数据和第八延迟比特的逻辑异或,以产生第二抽头比特;
被配置来延迟第一抽头比特、并且产生第三抽头比特的第一触发器;
被配置来延迟第二抽头比特、并且产生第四抽头比特的第二触发器;
被配置来延迟第三抽头比特、并且产生第五抽头比特的第三触发器;
被配置来延迟第四抽头比特、并且产生第六抽头比特的第四触发器;
被配置来延迟第五抽头比特、并且产生第五延迟比特的第五触发器;
被配置来延迟第六抽头比特、并且产生第六延迟比特的第六触发器;
第四模2加法器,被配置来执行第一模2加法器的输出信号、第五延迟比特和第七延迟比特的逻辑异或,以产生第七抽头比特;以及
第五模2加法器,被配置来执行第六延迟比特、第七延迟比特和第二通道数据的逻辑异或,以产生第八抽头比特。
本发明还提供一种用于多通道通信系统的接收电路,包括:
循环冗余检查(CRC)电路,被配置为输出第二CRC比特,该第二CRC比特满足基于接收的多个比特的多项式表达式P(x)=1+x6+x7+x8;
确定部分,被配置为从多通道介质接收第一CRC比特,并通过比较第一CRC比特的至少一个比特与第二CRC比特的至少一个比特来确定错误,
其中,所述循环冗余检查电路产生构成所述第二CRC比特的第一、第二、第三、第四、第五、第六、第七和第八抽头比特,并且所述循环冗余检查电路包括:
多个触发器,被配置来延迟第七和第八抽头比特,并产生第七和第八延迟比特;
第一模2加法器,被配置来执行第一和第二通道数据和第八延迟比特的逻辑异或;
第二模2加法器,被配置来执行第一模2加法器的输出信号和第七延迟比特的逻辑异或,以产生第一抽头比特;
第三模2加法器,被配置来执行第一通道数据和第八延迟比特的逻辑异或,以产生第二抽头比特;
被配置来延迟第一抽头比特、并且产生第三抽头比特的第一触发器;
被配置来延迟第二抽头比特、并且产生第四抽头比特的第二触发器;
被配置来延迟第三抽头比特、并且产生第五抽头比特的第三触发器;
被配置来延迟第四抽头比特、并且产生第六抽头比特的第四触发器;
被配置来延迟第五抽头比特、并且产生第五延迟比特的第五触发器;
被配置来延迟第六抽头比特、并且产生第六延迟比特的第六触发器;
第四模2加法器,被配置来执行第一模2加法器的输出信号、第五延迟比特和第七延迟比特的逻辑异或,以产生第七抽头比特;以及
第五模2加法器,被配置来执行第六延迟比特、第七延迟比特和第二通道数据的逻辑异或,以产生第八抽头比特。
本发明还提供一种多通道通信系统,包括:
发送电路,包括:
第一循环冗余检查(CRC)电路,包括多个模2加法器和触发器,被配置为输出第一CRC比特,该第一CRC比特满足基于经由接收的多个比特的多项式表达式P(x)=1+x6+x7+x8;以及
发送部分,被配置为经由多通道介质发送从第一CRC电路输出的第一CRC比特,
接收电路,包括:
第二CRC电路,包括多个模2加法器和触发器,被配置为输出第二CRC比特,该第二CRC比特满足基于接收的多个比特的多项式表达式P(x)=1+x6+x7+x8;以及
确定部分,被配置为从多通道介质接收第一CRC比特,并通过比较第一CRC比特的至少一个比特与第二CRC比特的至少一个比特来确定错误。
附图说明
通过参照附图来详细说明本发明的优选实施例,本发明的上述和其他特性和优点将会变得更加清楚,附图中:
图1是按照本发明的一个实施例的、包括循环冗余检查电路的、通过多通道来发送的通信系统的方框图;
图2是按照高清晰度多媒体接口(HDMI)的循环冗余检查多项式表达式配置的传统循环冗余检查电路的电路图;以及
图3是按照本发明的一个实施例配置的循环冗余检查电路的电路图。
具体实施方式
图1是按照本发明的一个实施例的、包括循环冗余检查电路的、通过多通道(通过多个通道)来通信(发送和接收)的通信系统的方框图。图1的系统包括发送电路(发送器)1和接收电路(接收器)3。发送电路1通过多通道2来向接收电路3发送数据。虽然多通道2仅仅具有两个通道(为了方便更简单的解释),但是本发明不限于此,并且可以被扩展到任何数量的通道。
发送电路1包括第一寄存器11、第二寄存器12、循环冗余检查(CRC)电路13、开关14和开关部分(复用器)15。发送电路1还可以包括开关10,用于将输入的串行数据转换为并行数据。为了方便说明,开关10和开关14被分别称为第一开关和第二开关。
第一和第二寄存器11和12存储输入数据。当输入数据是串行数据时,第一开关10通过转换输入所述输入数据的顺序而在第一寄存器11或第二寄存器12中存储所述输入数据,以便使得有可能并行发送。第一和第二寄存器11和12是移位寄存器,它们在每个时钟周期将所存储的数据移位。从第一寄存器11或从第二寄存器12输出的数据并行地通过多通道2的多个通道而被发送到接收电路3。
从第一寄存器11或从第二寄存器12输出的数据也被输出到CRC电路13。CRC电路13产生适合于在发送电路1和接收电路3之间的通信(发送和接收所接收的数据)的CRC比特。以与所述数据相同的顺序来通过第二开关14来发送CRC比特。
开关部分(复用器)15将第一和第二寄存器11和12连接到多通道2,使得并行发送数据。当产生CRC比特时,开关部分(复用器)15将CRC电路13(经由第二开关14而连接)的输出连接到多通道2。
接收电路(接收器)3包括第一寄存器31、第二寄存器32、CRC电路33和确定部分34。所述接收电路3还可以包括开关30,它将从第一和第二寄存器31和32输出的并行数据转换为串行数据。如果必要的话,开关30将从第一和第二寄存器31和32输出的并行数据转换为串行数据,并且输出所述串行数据。
第一和第二寄存器31和32存储分别从多通道2的第一和第二通道接收的数据。第一和第二寄存器31和32是移位寄存器,用于依序将输入数据移位,并且输出被移位的数据。
接收电路(接收器)3的CRC电路33与发送电路(发送器)1的CRC电路13相同,并且从通过多通道2而接收的所发送的(n+r)比特数据产生CRC比特。确定部分34检查是否通过多通道2接收的r个CRC比特与由CRC电路33产生的r个CRC比特相同。当所述CRC比特被确定为相同时,确定部分34确定和输出指示不存在错误的信号。
在本实施例中,发送电路1的CRC电路13和接收电路3的CRC电路33的每个按照HDMI的CRC多项式表达式(等式1)来产生r个CRC比特。在图2的传统CRC电路的第一抽头的当前输出(在此被表达为p[0](t))等于当前(时间t)输入(在此被表达为Input(t))加上最后(第八个)抽头的先前的输出(在此被表达为p[7](t-1))。因此,可以以类似的方式来表达所述CRC电路的其他抽头的每个的当前(时间t)输出。因此,在下面的等式2中示出了用于在当前(第t)时钟周期产生按照图2的上述电路的(最后)CRC比特的每个的生成表达式:
p[1](t)=p[0](t-1)
p[2](t)=p[1](t-1)
p[3](t)=p[2](t-1) [等式2]
p[4](t)=p[3](t-1)
p[5](t)=p[4](t-1)
当向所述电路输入最后的输入数据时,按照等式2来产生最后的CRC比特,并且将在发送端产生的r个CRC比特附加到n个数据比特,并且与其一起(并行)发送。
在本实施例中,因为发送和接收端按照HDMI标准来彼此通信,因此可以使用图1中所示的两个通道来并行发送数据,于是,在一个时钟周期中发送2比特的数据。因此,需要将在图2中假设的单通道串行通信系统中的CRC电路适配到多通道串行通信系统。
为此,在本实施例中,可以将等式2的CRC比特生成表达式修改如下。当一次一个比特地输入串行数据时,在诸如HDMI之类的并行通信系统中在单个时钟周期实际上并行输入2比特的数据。
所述并行输入数据可以按照输入数据的原始(串行)顺序被表达为数据对的序列,如serial_in(t)和serial_in(t+1)。
例如,当输入“0110”时,在第一时钟周期,分别通过第一和第二通道来初始并行地发送“0”和“1”,并且在下一个时钟周期,分别通过第一和第二通道来并行发送“1”和“0”。因此,对于在第一时钟周期输入的数据,“0”和“1”分别被表达为serial_in(t)和serial_in(t+1),而当将输入数据的新表示应用到等式2时,结果如在下面的等式3中所示:
p[1](t+1)=p[0](t)
p[2](t+1)=p[1](t)
p[3](t+1)=p[2](t) [等式3]
p[4](t+1)=p[3](t)
p[5](t+1)=p[4](t)
当将等式2应用到等式3时,结果如在下面的等式4中所示。
[等式4]
p[2](t+1)=p[0](t-1)
p[3](t+1)=p[1](t-1)
p[4](t+1)=p[2](t-1)
p[5](t+1)=p[3](t-1)
图3示出了按照本发明的一个实施例的CRC电路。参见图3,所述CRC电路具体化和实现了等式4。因此,对于相对于输入并行数据延迟的时间(在此是t+1),在硬件中实现CRC比特生成(多项式)表达式(等式1)。
如图3中所示,所述CRC电路包括多个模2加法器51-1到51-5和用于数据延迟的多个延迟单元(例如触发器)52-1到52-8。
下面进一步详细说明图3中所示的CRC电路。图3的CRC电路产生和输出构成CRC比特的第一到第八抽头比特P[0]-P[7]。为此,所述CRC电路包括第一到第五逻辑异或(exclusive logic sum)运算器51-1到51-5和第一到第八延迟单元(例如触发器)52-1到52-8。
第一逻辑异或运算器51-1执行第一和第二通道数据serial_in(t)和serial_in(t+1)与第八延迟比特的逻辑异或,并且输出逻辑异或的数据。第八延迟比特是第八延迟单元(例如触发器)52-8的输出信号,即第八抽头比特P[7]的延迟信号。
第二逻辑异或运算器51-2执行第一逻辑异或运算器51-1的输出信号与第七延迟比特的逻辑异或,以产生第一抽头比特P[0]。第七延迟比特是第七触发器52-7的输出信号,即第七抽头比特P[6]的延迟信号。
第三逻辑异或运算器51-3执行第一通道数据serial_in(t)与第八延迟比特、即第八触发器52-8的输出信号的逻辑异或,以产生第二抽头比特P[1]。
第一触发器52-1延迟第一抽头比特P[0]以产生第三抽头比特P[2]。第二触发器52-2延迟第二抽头比特P[1]以产生第四抽头比特P[3]。第三触发器52-3延迟第三抽头比特P[2]以产生第五抽头比特P[4]。第四触发器52-4延迟第四抽头比特P[3]以产生第六抽头比特P[5]。第五触发器52-5延迟第五抽头比特P[4]以产生第五延迟比特。第六触发器52-6延迟第六抽头比特P[5]以产生第六延迟比特。
第四逻辑异或运算器51-4执行第一逻辑异或运算器51-1的输出信号、第五延迟比特和第七延迟比特的逻辑异或,以产生第七抽头比特P[6]。第五逻辑异或运算器51-5执行第六延迟比特(第六触发器52-6的输出信号)、第七延迟比特(第七触发器52-7的输出信号)和第二通道数据(serial_in(t+1))的逻辑异或,以产生第八抽头比特P[7]。
因为可以将上述的计算电路架构适配到任何给定的CRC多项式和所有的多通道串行通信系统,甚至当并行输入的数据的数量增加时,在可以在可容许的范围内实际进行计算的同时由于模2加法器而导致的门延迟也增加。
在传统的单通道串行通信系统中,因为传统的CRC电路仅仅具有一个输入,在其中同时产生多个输入的多通道通信环境中,以更高(串行)的时钟频率,处理要首先处理的数据,而随后存储和处理其他数据。但是,因为并行发送在每个时钟周期中的数据,因此被存储的数据量随着时间流逝而增加,使得需要提高数据存储单元的存储容量。而且,当对于多通道通信使用与在单通道串行通信环境中使用的相同的时钟时,用于处理数据的时间如多通道数一样多地增加,使得CRC的处理比当完成数据发送时的点晚很多。
但是,按照在图3中所示的示例CRC电路的架构,因为通过首先执行数学计算而获得的所产生的表达式被实现到CRC电路中,因此使得有可能并行处理对于CRC电路的并行输入,并且不需要上述的存储单元,使得降低了整个电路的大小,并且可以降低或去除在通信期间产生的时延。
虽然已经参照本发明的优选实施例具体示出和说明了本发明,但本领域的技术人员会明白,在不脱离如权利要求限定的本发明的精神和范围的情况下,其中可以进行形式和细节上的各种改变。
如上所述,按照本发明,因为通过首先执行数学计算而获得的所产生的表达式被实现到CRC电路中,因此使得有可能并行处理CRC电路的并行输入,并且不需要存储并行输入数据的存储单元,使得降低了整个电路的大小,并且可以去除在通信期间产生的时延。在权利要求和上述的公开内容中,术语“模2加法器”当然指定和表示并且包括其公知的替代和等效,如模2加法器、模2减法器和异或(XOR)门。
Claims (16)
1.一种用于多通道通信系统的发送电路,包括:
循环冗余检查CRC电路,被配置为输出第一循环冗余检查CRC比特,该第一循环冗余检查CRC比特满足基于接收的N比特串行数据的多项式表达式P(x)=1+x6+x7+x8,N比特串行数据包括第一通道数据和第二通道数据,N是等于或大于2的整数;
发送部分,被配置为与循环冗余检查CRC电路耦合并经由多通道介质发送从循环冗余检查CRC电路输出的第一循环冗余检查CRC比特,
其中,循环冗余检查电路产生构成所述第一循环冗余检查CRC比特的第一、第二、第三、第四、第五、第六、第七和第八抽头比特,并且所述循环冗余检查电路包括:
多个触发器,被配置来延迟第七和第八抽头比特,并产生第七和第八延迟比特;
第一模2加法器,被配置来执行第一和第二通道数据和第八延迟比特的逻辑异或;
第二模2加法器,被配置来执行第一模2加法器的输出信号和第七延迟比特的逻辑异或,以产生第一抽头比特;
第三模2加法器,被配置来执行第一通道数据和第八延迟比特的逻辑异或,以产生第二抽头比特;
被配置来延迟第一抽头比特、并且产生第三抽头比特的第一触发器;
被配置来延迟第二抽头比特、并且产生第四抽头比特的第二触发器;
被配置来延迟第三抽头比特、并且产生第五抽头比特的第三触发器;
被配置来延迟第四抽头比特、并且产生第六抽头比特的第四触发器;
被配置来延迟第五抽头比特、并且产生第五延迟比特的第五触发器;
被配置来延迟第六抽头比特、并且产生第六延迟比特的第六触发器;
第四模2加法器,被配置来执行第一模2加法器的输出信号、第五延迟比特和第七延迟比特的逻辑异或,以产生第七抽头比特;以及
第五模2加法器,被配置来执行第六延迟比特、第七延迟比特和第二通道数据的逻辑异或,以产生第八抽头比特。
2.按照权利要求1的发送电路,还包括:
多个存储单元,它们被配置来存储接收的N比特串行数据,N是等于或大于2的整数,其中多个存储单元包括被配置为交替存储接收的N比特串行数据的第一和第二存储单元。
3.按照权利要求2的发送电路,其中
发送部分还被配置为选择性地并行发送包括从多个存储单元输出的数据比特和第一循环冗余检查CRC比特的多个比特。
4.按照权利要求2的发送电路,其中发送部分还被配置为根据HDMI标准经由多通道介质并行发送包括从多个存储单元输出的数据比特和第一循环冗余检查CRC比特的多个比特。
5.一种用于多通道通信系统的接收电路,包括:
循环冗余检查CRC电路,被配置为输出第二循环冗余检查CRC比特,该第二循环冗余检查CRC比特满足基于接收的包括第一通道数据和第二通道数据的多个比特的多项式表达式P(x)=1+x6+x7+x8;
确定部分,被配置为从多通道介质接收的多个比特中的第一循环冗余检查CRC比特,并通过比较第一循环冗余检查CRC比特的至少一个比特与第二循环冗余检查CRC比特的至少一个比特来确定错误,
其中,所述循环冗余检查电路产生构成所述第二循环冗余检查CRC比特的第一、第二、第三、第四、第五、第六、第七和第八抽头比特,并且所述循环冗余检查电路包括:
多个触发器,被配置来延迟第七和第八抽头比特,并产生第七和第八延迟比特;
第一模2加法器,被配置来执行第一和第二通道数据和第八延迟比特的逻辑异或;
第二模2加法器,被配置来执行第一模2加法器的输出信号和第七延迟比特的逻辑异或,以产生第一抽头比特;
第三模2加法器,被配置来执行第一通道数据和第八延迟比特的逻辑异或,以产生第二抽头比特;
被配置来延迟第一抽头比特、并且产生第三抽头比特的第一触发器;
被配置来延迟第二抽头比特、并且产生第四抽头比特的第二触发器;
被配置来延迟第三抽头比特、并且产生第五抽头比特的第三触发器;被配置来延迟第四抽头比特、并且产生第六抽头比特的第四触发器;
被配置来延迟第五抽头比特、并且产生第五延迟比特的第五触发器;
被配置来延迟第六抽头比特、并且产生第六延迟比特的第六触发器;
第四模2加法器,被配置来执行第一模2加法器的输出信号、第五延迟比特和第七延迟比特的逻辑异或,以产生第七抽头比特;以及
第五模2加法器,被配置来执行第六延迟比特、第七延迟比特和第二通道数据的逻辑异或,以产生第八抽头比特。
6.按照权利要求5的接收电路,还包括:
多个存储单元,它们被配置来存储从多通道介质接收的多个比特中的并行数据。
7.按照权利要求6的接收电路,还包括:
开关,被配置为串行输出并行数据。
8.按照权利要求7的接收电路,其中确定部分被配置为:如果第一循环冗余检查CRC比特的至少一个比特不等于第二循环冗余检查CRC比特的至少一个比特,则检测到错误。
9.按照权利要求6的接收电路,其中经由多通道介质接收的多个比特是基于HDMI标准的。
10.一种多通道通信系统,包括:
发送电路,包括:
第一循环冗余检查CRC电路,包括多个模2加法器和触发器,被配置为输出第一循环冗余检查CRC比特,该第一循环冗余检查CRC比特满足基于经由接收的N比特串行数据的多项式表达式P(x)=1+x6+x7+x8,N比特串行数据包括第一通道数据和第二通道数据,N是等于或大于2的整数;以及
发送部分,被配置为经由多通道介质发送从第一循环冗余检查CRC电路输出的第一循环冗余检查CRC比特,
接收电路,包括:
第二循环冗余检查CRC电路,包括多个模2加法器和触发器,被配置为输出第二循环冗余检查CRC比特,该第二循环冗余检查CRC比特满足基于接收的多个比特的多项式表达式P(x)=1+x6+x7+x8;以及
确定部分,被配置为从多通道介质接收多个比特中的第一循环冗余检查CRC比特,并通过比较第一循环冗余检查CRC比特的至少一个比特与第二循环冗余检查CRC比特的至少一个比特来确定错误,
所述第一循环冗余检查CRC电路产生构成所述第一循环冗余检查CRC比特的第一、第二、第三、第四、第五、第六、第七和第八抽头比特,
所述第二循环冗余检查CRC电路产生构成所述第二循环冗余检查CRC比特的第一、第二、第三、第四、第五、第六、第七和第八抽头比特,
其中第一循环冗余检查CRC电路和第二循环冗余检查CRC电路彼此相同,
所述第一循环冗余检查CRC电路和所述第二循环冗余检查CRC电路的每一个包括:
多个触发器,被配置来延迟第七和第八抽头比特,并产生第七和第八延迟比特;
第一模2加法器,被配置来执行第一和第二通道数据和第八延迟比特的逻辑异或;
第二模2加法器,被配置来执行第一模2加法器的输出信号和第七延迟比特的逻辑异或,以产生第一抽头比特;
第三模2加法器,被配置来执行第一通道数据和第八延迟比特的逻辑异或,以产生第二抽头比特;
被配置来延迟第一抽头比特、并且产生第三抽头比特的第一触发器;
被配置来延迟第二抽头比特、并且产生第四抽头比特的第二触发器;
被配置来延迟第三抽头比特、并且产生第五抽头比特的第三触发器;被配置来延迟第四抽头比特、并且产生第六抽头比特的第四触发器;
被配置来延迟第五抽头比特、并且产生第五延迟比特的第五触发器;
被配置来延迟第六抽头比特、并且产生第六延迟比特的第六触发器;
第四模2加法器,被配置来执行第一模2加法器的输出信号、第五延迟比特和第七延迟比特的逻辑异或,以产生第七抽头比特;以及
第五模2加法器,被配置来执行第六延迟比特、第七延迟比特和第二通道数据的逻辑异或,以产生第八抽头比特。
11.按照权利要求10的系统,其中发送电路还包括多个存储单元,它们被配置来存储N比特串行数据,其中多个存储单元包括被配置为交替存储N比特串行数据的第一和第二存储单元。
12.按照权利要求11的系统,其中发送电路还被配置为并行发送包括从多个存储单元输出的数据比特和第一循环冗余检查CRC比特的多个比特。
13.按照权利要求10的系统,其中每一个触发器输出一个循环冗余检查CRC比特。
14.按照权利要求10的系统,其中接收电路还包括:
多个存储单元,它们被配置来存储从多通道介质接收的多个比特中的并行数据。
15.按照权利要求14的系统,其中接收电路还包括:开关,被配置为串行输出并行数据。
16.按照权利要求10的系统,其中第一模2加法器、第二模2加法器、第三模2加法器、第四模2加法器、第五模2加法器中的任意一个或几个被模2减法器或异或XOR门替代。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050084550A KR100690274B1 (ko) | 2005-09-12 | 2005-09-12 | 다중 채널 직렬 통신을 위한 순환 중복 검사 장치 및 이를구비한 통신 시스템 |
KR84550/05 | 2005-09-12 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610080366XA Division CN1933605B (zh) | 2005-09-12 | 2006-05-11 | 含循环冗余检查电路的通信系统和多通道串行通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102208914A CN102208914A (zh) | 2011-10-05 |
CN102208914B true CN102208914B (zh) | 2013-11-13 |
Family
ID=37879183
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610080366XA Active CN1933605B (zh) | 2005-09-12 | 2006-05-11 | 含循环冗余检查电路的通信系统和多通道串行通信系统 |
CN2011102000163A Active CN102208914B (zh) | 2005-09-12 | 2006-05-11 | 发送电路、接收电路和多通道通信系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610080366XA Active CN1933605B (zh) | 2005-09-12 | 2006-05-11 | 含循环冗余检查电路的通信系统和多通道串行通信系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7890835B2 (zh) |
JP (1) | JP2007082215A (zh) |
KR (1) | KR100690274B1 (zh) |
CN (2) | CN1933605B (zh) |
TW (1) | TWI326986B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4277030B2 (ja) * | 2006-06-30 | 2009-06-10 | 株式会社日立製作所 | 通信制御システム |
US8555148B2 (en) * | 2007-09-18 | 2013-10-08 | Samsung Electronics Co., Ltd. | Methods and apparatus to generate multiple CRCs |
JP5298622B2 (ja) * | 2007-12-21 | 2013-09-25 | ソニー株式会社 | 送信装置および方法、受信装置および方法 |
US8359521B2 (en) * | 2008-01-22 | 2013-01-22 | International Business Machines Corporation | Providing a memory device having a shared error feedback pin |
CN101795175B (zh) * | 2010-02-23 | 2014-03-19 | 中兴通讯股份有限公司 | 数据的校验处理方法及装置 |
US8775894B1 (en) * | 2011-06-24 | 2014-07-08 | Altera Corporation | Lane specific CRC |
CN103684663B (zh) * | 2012-09-10 | 2016-11-23 | 西门子信号有限公司 | 用于循环冗余校验的装置和方法 |
CN102916781B (zh) * | 2012-10-31 | 2015-07-08 | 华为技术有限公司 | 校验方法及校验装置 |
US9543981B2 (en) * | 2014-03-25 | 2017-01-10 | Texas Instruments Incorporated | CRC-based forward error correction circuitry and method |
JP2018191033A (ja) * | 2017-04-28 | 2018-11-29 | ルネサスエレクトロニクス株式会社 | 無線送信装置、無線受信装置、及び無線送信方法 |
US10666437B2 (en) * | 2017-11-07 | 2020-05-26 | Harris Solutions NY, Inc. | Customizable encryption/decryption algorithm |
CN112526979B (zh) * | 2020-12-16 | 2023-06-09 | 中国兵器装备集团自动化研究所 | 一种多重冗余架构的串行通信接口诊断系统及方法 |
CN113033133B (zh) * | 2021-03-17 | 2023-03-28 | 烽火通信科技股份有限公司 | 一种逻辑复用的电路设计方法及电路结构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324669B1 (en) * | 1997-11-17 | 2001-11-27 | Seagate Technology Llc | Method and apparatus for using CRC for data integrity in on-chip memory |
CN1325199A (zh) * | 2000-08-08 | 2001-12-05 | 深圳市中兴通讯股份有限公司 | 一种数字通信系统中的信道循环冗余码校验的方法 |
US20040062221A1 (en) * | 2002-09-30 | 2004-04-01 | Nandu Gopalakrishnan | Signaling and control mechanisms in MIMO harq schemes for wireless communication systems |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2998366B2 (ja) | 1991-12-03 | 2000-01-11 | 富士通株式会社 | Crcチェック方法 |
EP0602806B1 (en) | 1992-12-18 | 2001-07-04 | Advanced Micro Devices, Inc. | High-level data link controller (HDLC) receiver |
US5465260A (en) * | 1993-11-04 | 1995-11-07 | Cirrus Logic, Inc. | Dual purpose cyclic redundancy check |
JP2866296B2 (ja) * | 1993-12-28 | 1999-03-08 | 富士写真光機株式会社 | パノラマ撮影機能付カメラのスイッチ部構造 |
JPH10107646A (ja) | 1996-09-25 | 1998-04-24 | Mitsubishi Electric Corp | Crc符号発生回路、符号誤り検出回路、及びcrc回路 |
US6061822A (en) | 1997-06-23 | 2000-05-09 | Micron Electronics, Inc. | System and method for providing a fast and efficient comparison of cyclic redundancy check (CRC/checks sum) values of two mirrored disks |
KR100268125B1 (ko) * | 1997-12-03 | 2000-10-16 | 이계철 | 병렬 순환 여유도 검사(crc) 회로 |
KR19990052166A (ko) * | 1997-12-22 | 1999-07-05 | 정선종 | 병렬 순환 잉여 검사에 의한 데이터 스트림의 오류 검출 및 수정장치 |
KR19990081114A (ko) * | 1998-04-25 | 1999-11-15 | 윤종용 | 병렬 순환 중복 검사에 의한 수신 데이터 오류 검사 방법 |
JP2000216744A (ja) | 1999-01-21 | 2000-08-04 | Sony Corp | デ―タ伝送装置 |
US6519738B1 (en) * | 2000-03-07 | 2003-02-11 | International Business Machines Corporation | Method and apparatus for high-speed CRC computation based on state-variable transformation |
US6961388B2 (en) * | 2001-02-01 | 2005-11-01 | Qualcomm, Incorporated | Coding scheme for a wireless communication system |
US6732318B2 (en) * | 2001-04-03 | 2004-05-04 | Sun Microsystems, Inc. | Variable width parallel cyclical redundancy check |
US8218609B2 (en) * | 2002-10-25 | 2012-07-10 | Qualcomm Incorporated | Closed-loop rate control for a multi-channel communication system |
JP2005006188A (ja) | 2003-06-13 | 2005-01-06 | Mitsubishi Electric Corp | Crc演算方法およびcrc演算装置 |
US7424040B2 (en) * | 2004-05-07 | 2008-09-09 | Ltas Holdings, Llc | Communication systems and methods for transmitting data in parallel over multiple channels |
-
2005
- 2005-09-12 KR KR1020050084550A patent/KR100690274B1/ko active IP Right Grant
-
2006
- 2006-03-15 US US11/376,278 patent/US7890835B2/en active Active
- 2006-05-08 TW TW095116176A patent/TWI326986B/zh active
- 2006-05-11 CN CN200610080366XA patent/CN1933605B/zh active Active
- 2006-05-11 CN CN2011102000163A patent/CN102208914B/zh active Active
- 2006-09-08 JP JP2006243994A patent/JP2007082215A/ja active Pending
-
2011
- 2011-01-31 US US13/017,701 patent/US8914698B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324669B1 (en) * | 1997-11-17 | 2001-11-27 | Seagate Technology Llc | Method and apparatus for using CRC for data integrity in on-chip memory |
CN1325199A (zh) * | 2000-08-08 | 2001-12-05 | 深圳市中兴通讯股份有限公司 | 一种数字通信系统中的信道循环冗余码校验的方法 |
US20040062221A1 (en) * | 2002-09-30 | 2004-04-01 | Nandu Gopalakrishnan | Signaling and control mechanisms in MIMO harq schemes for wireless communication systems |
Non-Patent Citations (1)
Title |
---|
邓文浪等.基于电话网的远程通信中CRC校验码的设计及实现.《电气自动化》.2003,第25卷(第6期),34-36. * |
Also Published As
Publication number | Publication date |
---|---|
US20070079211A1 (en) | 2007-04-05 |
CN102208914A (zh) | 2011-10-05 |
JP2007082215A (ja) | 2007-03-29 |
TW200711325A (en) | 2007-03-16 |
CN1933605A (zh) | 2007-03-21 |
US7890835B2 (en) | 2011-02-15 |
TWI326986B (en) | 2010-07-01 |
US20110161789A1 (en) | 2011-06-30 |
KR100690274B1 (ko) | 2007-03-09 |
CN1933605B (zh) | 2011-09-07 |
US8914698B2 (en) | 2014-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102208914B (zh) | 发送电路、接收电路和多通道通信系统 | |
US5699368A (en) | Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes | |
Forney | Concatenated codes. | |
US6694476B1 (en) | Reed-solomon encoder and decoder | |
US5912905A (en) | Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes | |
Kwon et al. | An area-efficient VLSI architecture of a Reed-Solomon decoder/encoder for digital VCRs | |
KR20040075952A (ko) | 인트라-디코더 컴포넌트 블록 메시징 | |
KR20040075953A (ko) | 에러 정정 디코더용 치엔 탐색 셀 | |
US6928601B2 (en) | Decoding circuit, and decoder, decoding method and semiconductor device that use the decoding circuit | |
EP2309650B1 (en) | A systematic encoder with arbitrary parity positions | |
US7010738B2 (en) | Combinational circuit, and encoder, decoder and semiconductor device using this combinational circuit | |
US7178091B1 (en) | Reed solomon encoder | |
US7526518B2 (en) | Galois field multiplication system and method | |
CN115037415A (zh) | 基于crc的纠错编码的方法、装置、终端 | |
CN110741562B (zh) | 向量信令码信道的流水线式前向纠错 | |
CN113821370A (zh) | 一种用于数据传输错误校验的高速crc产生方法和装置 | |
US6944805B2 (en) | Self orthogonal decoding circuit and self orthogonal decoding method | |
US10623018B2 (en) | Method of arrangement of an algorithm in cyclic redundancy check | |
Dash et al. | VLSI implementation of Reed-Solomon encoder algorithm for communication systems | |
CN100413240C (zh) | 用于信息长度侦测及错误侦测的改良式循环冗余检验方法 | |
US7185258B2 (en) | Signal processing method, signal processing system, program for signal processing, and computer-readable storage medium on which this program is recorded | |
WO2017176639A1 (en) | Forward error correction and asymmetric encoding for video data transmission over multimedia link | |
Sezer | Asic Implementation of High-Throughput Reed-Solomon Product Codes | |
Raghavaiah | Implementation of Hamming coding in Residue Number System | |
Shin | Trellis decoding of Reed Solomon codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |