專利名稱:檢測(cè)和校正循環(huán)冗余校驗(yàn)錯(cuò)誤的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于檢測(cè)和校正循環(huán)冗余校驗(yàn)錯(cuò)誤的裝置,其中使用了解碼器和并行移位寄存器,從而能縮短運(yùn)算操作時(shí)間。
在數(shù)據(jù)通信和無(wú)線通信中,不進(jìn)行校錯(cuò),源信號(hào)是無(wú)法發(fā)射和接收的。美國(guó)專利5,252,215號(hào)已經(jīng)說(shuō)明,CRC(循環(huán)冗余校驗(yàn))是一種用來(lái)檢測(cè)或校正發(fā)生在發(fā)射和接收中的錯(cuò)誤的編碼。
CRC技術(shù)是由不同部分的移位寄存器來(lái)實(shí)現(xiàn)的。一個(gè)移位寄存器的輸出被輸入到一個(gè)異或門(mén),而它的輸出被反饋到另一個(gè)連接在其它移位寄存器之間的異或門(mén)中。
這樣的CRC裝置可分成一個(gè)循環(huán)結(jié)構(gòu)系統(tǒng)和一個(gè)平行結(jié)構(gòu)系統(tǒng)。
在循環(huán)結(jié)構(gòu)系統(tǒng)中,源數(shù)據(jù)通過(guò)CRC編碼器以組合上CRC數(shù)據(jù)(源數(shù)據(jù)+CRC數(shù)據(jù)),然后從發(fā)射終端上發(fā)射出去。在接收端,該組合數(shù)據(jù)通過(guò)由移位寄存器和異或門(mén)組成的CRC解碼器,結(jié)果形成了一個(gè)校正子(Syndrome)。如果該校正子的值是“0”,就意味著數(shù)據(jù)沒(méi)有錯(cuò)誤,如果該校正子的值是“1”,就意味著數(shù)據(jù)有錯(cuò)誤。
該校正子的提取是利用與門(mén)對(duì)移位寄存器的輸出進(jìn)行邏輯乘來(lái)得到的。然而,這種使用與門(mén)的方法同時(shí)有一個(gè)缺點(diǎn),那就是在檢錯(cuò)時(shí)要花很多的時(shí)間。
圖1示出了傳統(tǒng)的CRC解碼器。
多路傳送器4選擇性地將輸入數(shù)據(jù)(碼字r(x)=信文+奇偶位)輸出到緩沖寄存器5中。如果數(shù)據(jù)被輸入到緩沖寄存器5的話,在緩沖寄存器5對(duì)數(shù)據(jù)進(jìn)行右移的時(shí)間里,多路傳送器4不會(huì)傳送數(shù)據(jù)。在這樣的情形下,緩沖寄存器5的輸出和第三門(mén)3的校正子輸出都被輸入到異或門(mén)6中,去進(jìn)行運(yùn)算操作。然而,其輸出通過(guò)多路傳送器4反饋到緩沖寄存器5中進(jìn)行糾錯(cuò),因而糾錯(cuò)后的數(shù)據(jù)(r′(x))便留在緩沖寄存器5中。
當(dāng)數(shù)據(jù)被輸入到緩沖寄存器5時(shí),第一門(mén)1被關(guān)閉,當(dāng)下一個(gè)接收向量r1開(kāi)始輸入時(shí),它便開(kāi)啟。第二門(mén)2和第三門(mén)3對(duì)輸入到校正子寄存器部分10和與門(mén)G1的數(shù)據(jù)進(jìn)行開(kāi)關(guān)控制。
如上所述,傳統(tǒng)的檢測(cè)和校正CRC錯(cuò)誤的裝置使用了與門(mén),因而在檢錯(cuò)時(shí)要消耗過(guò)多的時(shí)間。由此,在發(fā)射和接收大量數(shù)據(jù)的情況下,要糾錯(cuò)是困難的,并且僅由于檢錯(cuò)而不得不放棄糾錯(cuò)(參見(jiàn)Shulin/J.和Costello Jr.所著《錯(cuò)誤控制編碼》)。
也就是,數(shù)據(jù)被輸入到緩沖寄存器后,第一門(mén)立即關(guān)閉,然后校正子寄存器進(jìn)行移位,移位數(shù)等于緩沖寄存器的數(shù)目,從而校正錯(cuò)誤。這種方法中,只有在數(shù)據(jù)被輸入到緩沖寄存器后,校正子寄存器才進(jìn)行移位,其移位數(shù)等于緩沖寄存器的數(shù)目,因此,需要很長(zhǎng)的時(shí)間。
本發(fā)明的目的是要克服傳統(tǒng)技術(shù)的上述缺點(diǎn)。
由此,本發(fā)明的目的是提供一個(gè)檢測(cè)和校正CRC錯(cuò)誤的裝置,它能縮短檢測(cè)和校正CRC錯(cuò)誤的時(shí)間,并且對(duì)CRC錯(cuò)誤的檢測(cè)是以簡(jiǎn)單方式進(jìn)行的。
為達(dá)到上述目的,按照本發(fā)明的用于檢測(cè)和校正CRC錯(cuò)誤的裝置包括一個(gè)第一門(mén),用來(lái)開(kāi)關(guān)輸入數(shù)據(jù);一個(gè)緩沖寄存器,用來(lái)從第一門(mén)接收數(shù)據(jù)并將它們并行輸出;一個(gè)校正子寄存器部分,包含多個(gè)校正子寄存器,用來(lái)形成第一門(mén)輸出數(shù)據(jù)的冗余子(redundancy);一個(gè)或門(mén),用來(lái)接收來(lái)自校正子寄存器部分的數(shù)據(jù),并進(jìn)行“或”操作;一個(gè)解碼器,用來(lái)接收該或門(mén)的輸出,以按其值而被使能,同時(shí)還用來(lái)接收校正子寄存器部分的輸出,以便在輸出它前對(duì)它進(jìn)行解碼;多個(gè)異或門(mén),用來(lái)接收緩沖寄存器和解碼器的輸出,并進(jìn)行“異或”運(yùn)算操作;以及一個(gè)鎖存部分,用來(lái)接收該多個(gè)異或門(mén)的輸出,并固定它們。
參照下列附圖,通過(guò)對(duì)本發(fā)明的較佳實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的目的和其它優(yōu)點(diǎn)將變得更為清楚。
圖1示出了一個(gè)傳統(tǒng)的CRC解碼器;圖2是一個(gè)方框圖,顯示了按照本發(fā)明的用于檢測(cè)和校正CRC錯(cuò)誤的裝置的結(jié)構(gòu)。
下面將參照附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
圖2是一個(gè)方框圖,顯示了按照本發(fā)明的用于檢測(cè)和校正CRC錯(cuò)誤的裝置的結(jié)構(gòu)。
第一門(mén)21對(duì)輸入數(shù)據(jù)r(x)進(jìn)行開(kāi)關(guān)控制,并輸出它們。緩沖寄存器25接收第一門(mén)21的輸出數(shù)據(jù)并將它們并行輸出。校正子寄存器部分30包含有多個(gè)校正子寄存器b0、b1,……bn-k-1,用來(lái)形成第一門(mén)21的數(shù)據(jù)r(x)的冗余子。
或門(mén)20接收校正子寄存器部分30的輸出,以執(zhí)行“或”運(yùn)算操作。解碼器27接收該或門(mén)的輸出,而被使能,還接收校正子寄存器部分30的多個(gè)校正子寄存器b0、b1,…bn-k-1的輸出,以便在輸出它們前將它們解碼。
異或門(mén)部分28接收緩沖寄存器25和解碼器27的輸出,以進(jìn)行“異或”運(yùn)算操作。
鎖存部分29接收異或門(mén)部分28的輸出,并按輸入時(shí)鐘輸出信號(hào)r’(x)。
本發(fā)明裝置的結(jié)構(gòu)如上所述,現(xiàn)在進(jìn)一步說(shuō)明它的工作過(guò)程和效果。
輸入數(shù)據(jù)r(x)被傳送到緩沖寄存器25和第一門(mén)21。緩沖寄存器25以序貫方式對(duì)輸入數(shù)據(jù)r(x)進(jìn)行移位,并存儲(chǔ)一定位(例如8位,16位等)的數(shù)據(jù)。校正子寄存器部分30從第一門(mén)21接收數(shù)據(jù),并以序貫方式接收n-k位數(shù)據(jù),以便以最高位存儲(chǔ)在最右邊的校正子寄存器bn-k-1中而最低位存儲(chǔ)在最左邊的校正子寄存器b。中的方式存儲(chǔ)它們。
從多個(gè)校正子寄存器b0,b1,…bn-k-1輸出的各校正子輸入到解碼器27和或門(mén)20。解碼器27的使能端EN與或門(mén)20的輸出端相連,因而,如果該多個(gè)校正子寄存器的任何一個(gè)為非零值,則解碼器27被使能。
如果所有校正子寄存器都是0,就意味著沒(méi)有發(fā)生錯(cuò)誤,因此,它們被或門(mén)20的“0”輸出封閉。與此同時(shí),緩沖寄存器25的內(nèi)容通過(guò)異或門(mén)部分28和鎖存部分29傳送出去。
為了準(zhǔn)確地將解碼器29的輸出連接到緩沖寄存器25上,需要使用一個(gè)奇偶校驗(yàn)矩陣。
用于本實(shí)施例的奇偶校驗(yàn)矩陣H可表示如下H=[In-k,Pn-k,k]其中In-k代表一個(gè)(n-k)×(n-k)的正矩陣,Pn-k,k代表由奇偶校驗(yàn)公式中的參數(shù)構(gòu)成的矩陣。
例如,在多項(xiàng)式g(x)為g(x)=1+x+x3時(shí),奇偶數(shù)校驗(yàn)矩陣H(n,k)=7.4表示如下H=100101101011100010111]]>假設(shè)這個(gè)奇偶校驗(yàn)矩陣H的列向量(100)(010)…(101)用V1,V2,…Vn來(lái)表示,則當(dāng)列向量V1,V2,…Vn被送到解碼器時(shí),如圖2所示,解碼器27中最低位LSB(最上位)同緩沖寄存器25中最低位LSB(最左位)一起進(jìn)行“異或”運(yùn)算操作。同時(shí)解碼器27中最高位MSB(最右位)同緩沖寄存器25的最高位MSB(最右位)一起進(jìn)行“異或”運(yùn)算操作。
按上述本發(fā)明,用并行移位寄存器替代了傳統(tǒng)的串行移位寄存器,這樣由CRC校驗(yàn)所耗的時(shí)間被縮短。并且,在檢測(cè)接收數(shù)據(jù)的錯(cuò)誤上,或門(mén)的輸出僅用一簡(jiǎn)單方式得以校驗(yàn)。
權(quán)利要求
1.一種用來(lái)檢測(cè)和校正CRC錯(cuò)誤的裝置,其包括一個(gè)第一門(mén),用來(lái)對(duì)輸入數(shù)據(jù)進(jìn)行開(kāi)關(guān)控制;一個(gè)緩沖寄存器,用來(lái)接收來(lái)自前述第一門(mén)的數(shù)據(jù),以便將它們并行輸出;一個(gè)校正子寄存器部分,包含多個(gè)校正子寄存器,用來(lái)形成前述第一門(mén)輸出數(shù)據(jù)的冗余子;一個(gè)或門(mén),用來(lái)接收來(lái)自前述校正子寄存器部分的數(shù)據(jù),以運(yùn)行“或”操作;一個(gè)解碼器,用來(lái)接收前述或門(mén)的輸出,以使之按其值被使能,并用來(lái)接收前述校正子寄存器部分的輸出,以便在將它們輸出前將它們解碼;多個(gè)異或門(mén),用來(lái)接收前述緩沖寄存器和前述解碼器的輸出,以進(jìn)行“異或”運(yùn)算操作;一個(gè)鎖存部分,用來(lái)接收前述異或門(mén)的輸出并固定它們。
2.如權(quán)利要求1所述的裝置,所述的校正子寄存器部分由多個(gè)校正子寄存器構(gòu)成,用來(lái)檢測(cè)和校正錯(cuò)誤,并以序貫方式接收特征函數(shù)。
3.如權(quán)利要求1所述的裝置,如果前述大量校正子寄存器的輸出都是“0”,則前述或門(mén)將“0”輸出到前述解碼器的使能端,使得前述解碼器的輸出為“0”。
4.如權(quán)利要求1所述的裝置,所述解碼器和所述鎖存部分的輸入端數(shù)目分別與所述校正子寄存器部分的輸出端數(shù)目相等。
5.如權(quán)利要求1所述的裝置,所述校正子寄存器部分的狀態(tài)和所述解碼器的相應(yīng)輸出可以利用一個(gè)基于一奇偶校驗(yàn)矩陣的圖表來(lái)具體實(shí)施,以便能連接到前述緩沖寄存器上。
全文摘要
檢測(cè)和校正循環(huán)冗余校驗(yàn)錯(cuò)誤的裝置,利用了解碼器和并行移位寄存器,能縮短運(yùn)算時(shí)間,包括第一門(mén),開(kāi)關(guān)控制輸入數(shù)據(jù);緩沖寄存器,接收來(lái)自第一門(mén)的數(shù)據(jù)且并行輸出;校正子寄存器部分,形成第一門(mén)輸出數(shù)據(jù)的冗余子或門(mén),接收來(lái)自校正子寄存器部分的數(shù)據(jù),進(jìn)行或操作;解碼器,接收或門(mén)的輸出以使之按其值被使能,并接收校正子寄存器部分的輸出對(duì)之解碼;異或門(mén),接收緩沖寄存器和解碼器的輸出,進(jìn)行異或運(yùn)算;鎖存部分,接收異或門(mén)的輸出并固定它們。
文檔編號(hào)G06F11/10GK1140277SQ9610691
公開(kāi)日1997年1月15日 申請(qǐng)日期1996年6月28日 優(yōu)先權(quán)日1995年6月29日
發(fā)明者金鎮(zhèn)泰 申請(qǐng)人:現(xiàn)代電子產(chǎn)業(yè)株式會(huì)社