專(zhuān)利名稱(chēng):糾錯(cuò)譯碼電路、數(shù)據(jù)總線控制方法以及數(shù)據(jù)總線系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)接收數(shù)據(jù)進(jìn)行糾錯(cuò)處理而取得糾正數(shù)據(jù)的數(shù)據(jù)處理,涉及對(duì)接收數(shù)據(jù)進(jìn)行譯碼的糾錯(cuò)譯碼電路、連接與該糾錯(cuò)譯碼電路連接的數(shù)據(jù)總線的控制方法、以及包含該數(shù)據(jù)總線的系統(tǒng)。
背景技術(shù):
公知糾正數(shù)據(jù)中的錯(cuò)誤時(shí)采用糾錯(cuò)碼的方法。在此,采用圖6簡(jiǎn)要說(shuō)明使用糾錯(cuò)碼的糾錯(cuò)。
圖6中,輸入數(shù)據(jù)由編碼電路10編碼。編碼電路10基于例如后述的奇偶檢查矩陣形成檢查比特,將該檢查比特附加到輸入數(shù)據(jù),生成發(fā)送數(shù)據(jù)。
發(fā)送數(shù)據(jù)發(fā)送到傳送路徑11,傳送路徑11將接收數(shù)據(jù)傳遞給通信目的地。在通信目的地用糾錯(cuò)譯碼電路12解碼接收到的接收數(shù)據(jù),生成輸出數(shù)據(jù)。
一般,在傳送路徑11中有誤操作和外部噪聲等干擾因素,接收數(shù)據(jù)有可能包含錯(cuò)誤。糾錯(cuò)譯碼電路12具有糾正該錯(cuò)誤的功能。另外,傳送路徑不限于通常的通信路徑,可以適用于存儲(chǔ)系統(tǒng)的存儲(chǔ)元件,還可以將發(fā)送數(shù)據(jù)適用于對(duì)存儲(chǔ)元件的寫(xiě)入信息,將接收數(shù)據(jù)適用于從存儲(chǔ)元件讀取的信息。
附加檢查比特并譯碼的發(fā)送數(shù)據(jù)一般可以由n比特的2進(jìn)制數(shù)表示,該發(fā)送數(shù)據(jù)可以由包含r比特的檢查比特的D=(d0、d1、…dn-1)表示。編碼可以由以0和1的2進(jìn)制數(shù)為元素的r行n列的奇偶檢查矩陣(以下,稱(chēng)為H矩陣)表示,在沒(méi)有包含錯(cuò)誤的發(fā)送數(shù)據(jù)D和H矩陣之間成立以下關(guān)系。即,發(fā)送數(shù)據(jù)D的檢查比特確定為成立以下關(guān)系。
D·HT=0…(1)在此,HT是置換了H的行和列的轉(zhuǎn)置行列式。
式(1)的計(jì)算結(jié)果稱(chēng)為出錯(cuò)組(syndrome)S,由r比特構(gòu)成的矢量表示。該出錯(cuò)組S若S=0,則判斷為沒(méi)有錯(cuò)誤,若S≠0,則判斷為有錯(cuò)誤。另外,通過(guò)基于H矩陣來(lái)分析該出錯(cuò)組S的圖形,可以求出錯(cuò)誤的位置和大小,可以糾正包含錯(cuò)誤的數(shù)據(jù)。
若在傳送中沒(méi)有發(fā)生錯(cuò)誤,則接收數(shù)據(jù)與發(fā)送數(shù)據(jù)相同。因此,由于發(fā)送數(shù)據(jù)D形成為滿(mǎn)足上述式(1),所以在接收數(shù)據(jù)中沒(méi)有錯(cuò)誤時(shí),將上述式(1)的左邊中的D作為接收數(shù)據(jù)而得到的計(jì)算結(jié)果成為0(r比特的零矢量)。另一方面,在發(fā)生了錯(cuò)誤時(shí),將上述式(1)的左邊中的D作為接收數(shù)據(jù)而得到的計(jì)算結(jié)果不成為0。通過(guò)基于H矩陣分析該計(jì)算結(jié)果圖形的r比特矢量,可以求出接收數(shù)據(jù)的錯(cuò)誤的位置和大小,可以糾正接收數(shù)據(jù)。
一般,若提高糾錯(cuò)譯碼電路的錯(cuò)誤檢測(cè)或糾錯(cuò)的精度,則電路規(guī)模也變大。在使用上述的糾錯(cuò)譯碼電路時(shí),不管在接收數(shù)據(jù)中有無(wú)錯(cuò)誤,所有接收數(shù)據(jù)都通過(guò)糾錯(cuò)譯碼電路。因此,在要求高精度的錯(cuò)誤檢測(cè)和糾錯(cuò)時(shí),無(wú)需進(jìn)行糾錯(cuò)的接收數(shù)據(jù)也必須經(jīng)過(guò)大規(guī)模的電路,具有難以高速工作的問(wèn)題。
圖7是用于說(shuō)明現(xiàn)有的糾錯(cuò)譯碼電路的數(shù)據(jù)處理周期的圖。如圖7所示,現(xiàn)有的糾錯(cuò)譯碼電路設(shè)定為不管接收數(shù)據(jù)中是否含有錯(cuò)誤,都以同一周期T為單位進(jìn)行各錯(cuò)誤譯碼處理。在圖7中所示的周期1至周期3,在周期1、3處理的接收數(shù)據(jù)不包含錯(cuò)誤,在周期2處理的接收數(shù)據(jù)包含錯(cuò)誤。
由于周期時(shí)間是根據(jù)要求長(zhǎng)處理時(shí)間的糾錯(cuò)處理來(lái)設(shè)定,所以在不進(jìn)行糾錯(cuò)而僅僅是譯碼的處理中,在設(shè)定的周期時(shí)間內(nèi)很短時(shí)間就完成處理。因此,該糾錯(cuò)譯碼電路的處理速度由進(jìn)行糾錯(cuò)的周期時(shí)間確定。
作為解決這樣的糾錯(cuò)譯碼電路具有的問(wèn)題而進(jìn)行高速工作的技術(shù),在特開(kāi)平5-218883號(hào)公報(bào)提出了使用CRC碼的方法。
該方法是對(duì)數(shù)據(jù)部分附加CRC碼,對(duì)含有CRC碼的數(shù)據(jù)部分設(shè)置糾錯(cuò)碼(ECC)的方法,在除了糾錯(cuò)碼的數(shù)據(jù)部分進(jìn)行CRC校驗(yàn),在數(shù)據(jù)有錯(cuò)誤時(shí),采用在糾錯(cuò)電路糾錯(cuò)的糾正數(shù)據(jù),在數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí),采用不經(jīng)糾正電路的接收數(shù)據(jù),可以實(shí)現(xiàn)高速化。
圖8是用于說(shuō)明該現(xiàn)有的高速工作的一結(jié)構(gòu)例的示意圖。圖8中,接收數(shù)據(jù)包含數(shù)據(jù)D0~Dx、CRC碼CRC0~CRCy、糾錯(cuò)碼ECC0~ECCz。接收數(shù)據(jù)由2個(gè)系統(tǒng)處理,一方是用糾錯(cuò)電路12a進(jìn)行糾錯(cuò)之后由CRC校驗(yàn)電路12b檢測(cè)錯(cuò)誤并作為糾正數(shù)據(jù)輸出,另一方是對(duì)經(jīng)開(kāi)關(guān)12c得到的數(shù)據(jù)D0~Dx以及CRC碼CRC0~CRCy不進(jìn)行糾正處理,一次存儲(chǔ)到緩沖存儲(chǔ)器12d。
上述2個(gè)系統(tǒng)得到的糾正數(shù)據(jù)和無(wú)糾正數(shù)據(jù)在選擇電路12e選擇,作為輸出數(shù)據(jù)輸出。該選擇電路12e的選擇是利用另外準(zhǔn)備的CRC校驗(yàn)電路12f得到的選擇信號(hào)進(jìn)行,在有錯(cuò)誤時(shí),選擇糾錯(cuò)電路12a進(jìn)行糾錯(cuò)的糾正數(shù)據(jù),在沒(méi)有錯(cuò)誤時(shí),選擇緩沖器12d存儲(chǔ)的無(wú)糾正數(shù)據(jù)。
圖9是表示在上述高速工作的結(jié)構(gòu)例中,在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí)和有錯(cuò)誤時(shí)的周期例的圖。
在接收數(shù)據(jù)有錯(cuò)誤時(shí)(周期B),由于接收數(shù)據(jù)(圖9(a))基于CRC校驗(yàn)結(jié)果(圖9(d)),選擇由糾錯(cuò)電路的糾正處理得到的糾正數(shù)據(jù)(圖9(c))(圖9(e)),所以周期時(shí)間成為“T2”。
另一方面,在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí)(周期A),由于接收數(shù)據(jù)(圖9(a))基于CRC校驗(yàn)結(jié)果(圖9(d)),糾錯(cuò)電路不進(jìn)行糾錯(cuò)處理(圖9(b)),或不選擇由糾錯(cuò)電路得到的糾正數(shù)據(jù)而選擇無(wú)糾正的數(shù)據(jù)(圖9(c))(圖9(e)),所以周期時(shí)間是比T2短糾正接收數(shù)據(jù)的時(shí)間部分的“T1”。
使用上述的CRC校驗(yàn)電路的結(jié)構(gòu),對(duì)于各糾錯(cuò)譯碼電路縮短周期時(shí)間是有效的,但不能高速化包含這些糾錯(cuò)譯碼電路的裝置連接的數(shù)據(jù)總線系統(tǒng)的總線周期。這是因?yàn)樵跀?shù)據(jù)總線系統(tǒng)中,利用總線主控器控制管理連接到公共總線的多個(gè)總線受控器??偩€主控器按照對(duì)數(shù)據(jù)總線系統(tǒng)設(shè)定的總線周期進(jìn)行控制管理。
該總線周期即使將各總線受控器具有的糾錯(cuò)譯碼電路的周期根據(jù)數(shù)據(jù)的錯(cuò)誤狀況進(jìn)行了切換,也需要與總線受控器的總線周期內(nèi)最長(zhǎng)的部分一致,總線主控器基于對(duì)數(shù)據(jù)總線系統(tǒng)整體設(shè)定的總線周期而工作,所以具有數(shù)據(jù)總線系統(tǒng)不能高速工作的問(wèn)題。
圖10是用于說(shuō)明將采用了現(xiàn)有的CRC校驗(yàn)電路的結(jié)構(gòu)適用于數(shù)據(jù)總線系統(tǒng)時(shí)的總線周期的圖。在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí),如圖9所示,周期時(shí)間變成T1,可以短,但在接收數(shù)據(jù)有錯(cuò)誤時(shí),如圖9所示,周期時(shí)間變成T2,變長(zhǎng),所以數(shù)據(jù)總線系統(tǒng)為要用同一周期時(shí)間進(jìn)行處理,需要采用長(zhǎng)周期時(shí)間T2。
另外,在現(xiàn)有的采用了CRC校驗(yàn)電路的結(jié)構(gòu)中,由于使用CRC碼,所以需要對(duì)糾錯(cuò)后的數(shù)據(jù)另外進(jìn)行CRC校驗(yàn),因此不僅需要用于檢測(cè)接收數(shù)據(jù)中的錯(cuò)誤的CRC校驗(yàn)電路(圖8中的CRC校驗(yàn)電路12f),還需要糾正后的數(shù)據(jù)用的CRC校驗(yàn)電路(圖8中的CRC校驗(yàn)電路12b),具有雙重需要CRC校驗(yàn)電路的問(wèn)題。
另外,由于對(duì)CRC碼也需要糾錯(cuò)碼,所以除了糾錯(cuò)電路的規(guī)模也變大的問(wèn)題之外,還有處理時(shí)間也變長(zhǎng)的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明通過(guò)在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí)不糾正輸入的數(shù)據(jù)而輸出到數(shù)據(jù)總線,另一方面,在接收數(shù)據(jù)有錯(cuò)誤時(shí)在糾錯(cuò)譯碼電路進(jìn)行糾正而延長(zhǎng)總線周期,實(shí)現(xiàn)數(shù)據(jù)總線的高速工作。
本發(fā)明包含糾錯(cuò)譯碼電路、數(shù)據(jù)總線的控制方法和該數(shù)據(jù)系統(tǒng)的各形態(tài)。
本發(fā)明的糾錯(cuò)譯碼電路執(zhí)行包含糾錯(cuò)接收數(shù)據(jù)的處理,具有對(duì)接收數(shù)據(jù)計(jì)算出錯(cuò)組的出錯(cuò)組計(jì)算電路、基于計(jì)算出的出錯(cuò)組檢測(cè)錯(cuò)誤的錯(cuò)誤檢測(cè)電路、基于上述出錯(cuò)組計(jì)算錯(cuò)誤模式的錯(cuò)誤模式計(jì)算電路、基于計(jì)算出的錯(cuò)誤模式糾錯(cuò)接收數(shù)據(jù)的翻轉(zhuǎn)電路。然后,基于上述錯(cuò)誤檢測(cè)電路的檢測(cè)結(jié)果,在接收數(shù)據(jù)有錯(cuò)誤時(shí),向總線主控器輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào)。
在接收數(shù)據(jù)有錯(cuò)誤時(shí),通過(guò)向總線主控器輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào),總線主控器通常在短總線周期內(nèi)進(jìn)行處理,僅在糾錯(cuò)譯碼電路進(jìn)行糾錯(cuò)時(shí)基于延長(zhǎng)請(qǐng)求信號(hào)延長(zhǎng)總線周期。一般,在數(shù)據(jù)發(fā)生錯(cuò)誤的頻度低,大部分是不進(jìn)行糾正的周期。因此,根據(jù)本發(fā)明,通過(guò)設(shè)定不進(jìn)行糾正的周期的短總線周期作為通常的總線周期,僅在進(jìn)行糾錯(cuò)時(shí)延長(zhǎng)總線周期,在大部分的場(chǎng)合用短總線周期進(jìn)行處理。這樣,高速化數(shù)據(jù)總線周期。
上述錯(cuò)誤檢測(cè)電路在接收數(shù)據(jù)有錯(cuò)誤時(shí),驅(qū)動(dòng)錯(cuò)誤模式檢測(cè)電路,同時(shí)輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào),但在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí),將輸入到翻轉(zhuǎn)電路的接收數(shù)據(jù)原樣輸出。通過(guò)該錯(cuò)誤檢測(cè)電路基于出錯(cuò)組檢測(cè)錯(cuò)誤,可以無(wú)需如現(xiàn)有那樣附加CRC電路。
在糾錯(cuò)譯碼電路中,翻轉(zhuǎn)電路基于錯(cuò)誤模式對(duì)接收數(shù)據(jù)進(jìn)行翻轉(zhuǎn)并進(jìn)行糾錯(cuò)。在不進(jìn)行糾錯(cuò)時(shí),由于翻轉(zhuǎn)電路使輸入的數(shù)據(jù)原樣通過(guò),所以可以?xún)H用翻轉(zhuǎn)電路進(jìn)行糾錯(cuò)的場(chǎng)合和不進(jìn)行糾錯(cuò)的場(chǎng)合的處理。
本發(fā)明的數(shù)據(jù)總線的控制方法是按照總線周期控制經(jīng)總線連接總線主控器和至少1個(gè)總線受控器連接的數(shù)據(jù)總線,基于總線受控器的接收數(shù)據(jù)的錯(cuò)誤檢測(cè)的檢測(cè)結(jié)果變更該總線周期。
上述總線受控器進(jìn)行接收數(shù)據(jù)的錯(cuò)誤檢測(cè),基于該錯(cuò)誤檢測(cè)的檢測(cè)結(jié)果,輸出延長(zhǎng)總線周期的周期時(shí)間的請(qǐng)求信號(hào),總線主控器基于延長(zhǎng)請(qǐng)求信號(hào)延長(zhǎng)總線周期,利用延長(zhǎng)的周期時(shí)間進(jìn)行總線中的數(shù)據(jù)控制。
另外,上述總線受控器在每次檢測(cè)出接收數(shù)據(jù)有錯(cuò)誤時(shí),輸出延長(zhǎng)請(qǐng)求信號(hào),總線主控器在每次延長(zhǎng)請(qǐng)求信號(hào)的輸出時(shí),僅延長(zhǎng)1總線周期??偩€主控器對(duì)1個(gè)延長(zhǎng)請(qǐng)求信號(hào)僅延長(zhǎng)1總線周期,在該1總線周期的延長(zhǎng)結(jié)束之后,用原來(lái)的總線周期進(jìn)行處理。
本發(fā)明的數(shù)據(jù)總線系統(tǒng)是經(jīng)總線連接總線主控器和至少1個(gè)總線受控器的數(shù)據(jù)總線系統(tǒng),上述總線受控器在進(jìn)行接收數(shù)據(jù)的錯(cuò)誤檢測(cè)時(shí),發(fā)送總線周期的延長(zhǎng)請(qǐng)求信號(hào)。
上述總線受控器具有檢測(cè)接收數(shù)據(jù)的錯(cuò)誤、基于該檢測(cè)結(jié)果輸出延長(zhǎng)總線周期的周期時(shí)間的請(qǐng)求信號(hào)的錯(cuò)誤檢測(cè)部件??偩€主控器具有基于該延長(zhǎng)請(qǐng)求信號(hào)延長(zhǎng)總線周期、利用該延長(zhǎng)的周期時(shí)間控制總線中的數(shù)據(jù)的控制部件。
在經(jīng)總線連接總線主控器和至少1個(gè)總線受控器的數(shù)據(jù)總線系統(tǒng)中,總線受控器備有糾錯(cuò)譯碼電路,該糾錯(cuò)譯碼電路具有對(duì)接收數(shù)據(jù)計(jì)算出錯(cuò)組的出錯(cuò)組計(jì)算電路、基于計(jì)算出的出錯(cuò)組檢測(cè)錯(cuò)誤的錯(cuò)誤檢測(cè)電路、基于上述出錯(cuò)組計(jì)算錯(cuò)誤模式的錯(cuò)誤模式計(jì)算電路、基于計(jì)算出的錯(cuò)誤模式進(jìn)行接收數(shù)據(jù)的糾錯(cuò)的翻轉(zhuǎn)電路,上述糾錯(cuò)譯碼電路基于錯(cuò)誤檢測(cè)電路的檢測(cè)結(jié)果,在接收數(shù)據(jù)有錯(cuò)誤時(shí)向總線主控器輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào)。
本發(fā)明的糾錯(cuò)譯碼電路、數(shù)據(jù)總線控制方法、以及數(shù)據(jù)總線系統(tǒng)在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí),對(duì)輸入的數(shù)據(jù)不進(jìn)行糾正而輸出到數(shù)據(jù)總線,在有錯(cuò)誤,僅在糾錯(cuò)譯碼電路中進(jìn)行糾正時(shí),延長(zhǎng)總線周期,可以使數(shù)據(jù)總線進(jìn)行高速工作。
根據(jù)本發(fā)明,可以高速化數(shù)據(jù)總線的工作。
根據(jù)本發(fā)明的糾錯(cuò)譯碼電路,通過(guò)僅在數(shù)據(jù)中有錯(cuò)誤時(shí)進(jìn)行糾錯(cuò),同時(shí)向總線主控器輸出周期延長(zhǎng)請(qǐng)求,可以高速化糾錯(cuò)譯碼電路的處理,同時(shí)可以高速化數(shù)據(jù)總線周期。另外,可使用于高速化數(shù)據(jù)總線周期的糾錯(cuò)譯碼電路的結(jié)構(gòu)簡(jiǎn)單。
根據(jù)本發(fā)明的數(shù)據(jù)總線控制方法以及數(shù)據(jù)總線系統(tǒng),通過(guò)總線主控器基于來(lái)自總線受控器的周期延長(zhǎng)請(qǐng)求來(lái)切換數(shù)據(jù)總線周期,可以高速化數(shù)據(jù)總線周期。
通過(guò)參考附圖對(duì)以下實(shí)施例的說(shuō)明,可以清楚本發(fā)明的上述的以及其他目的和特征。這些圖中圖1是用于說(shuō)明本發(fā)明的糾錯(cuò)譯碼電路的概要的圖。
圖2是用于說(shuō)明本發(fā)明的糾錯(cuò)譯碼電路的處理順序的流程圖。
圖3是用于說(shuō)明本發(fā)明的數(shù)據(jù)總線周期的周期時(shí)間的延長(zhǎng)處理的圖。
圖4是用于說(shuō)明數(shù)據(jù)總線系統(tǒng)的結(jié)構(gòu)的示意圖。
圖5是用于說(shuō)明本發(fā)明的總線主控器側(cè)的處理順序的流程圖。
圖6是用于說(shuō)明采用了糾錯(cuò)碼的糾錯(cuò)概要的圖。
圖7是用于說(shuō)明現(xiàn)有的糾錯(cuò)譯碼電路的數(shù)據(jù)處理周期的圖。
圖8是用于說(shuō)明現(xiàn)有的高速工作的一結(jié)構(gòu)例的示意圖。
圖9是表示現(xiàn)有的高速工作的結(jié)構(gòu)例中,在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí)和有錯(cuò)誤時(shí)的周期例的圖。
圖10是用于說(shuō)明將現(xiàn)有的采用了CRC校驗(yàn)電路的結(jié)構(gòu)適用于數(shù)據(jù)總線系統(tǒng)時(shí)的總線周期的圖。
具體實(shí)施例方式
圖1是用于說(shuō)明本發(fā)明的糾錯(cuò)譯碼電路的概要的圖。圖1所示的糾錯(cuò)譯碼電路1具有輸入接收數(shù)據(jù)并計(jì)算該出錯(cuò)組的出錯(cuò)組計(jì)算電路1a、基于計(jì)算出的出錯(cuò)組檢測(cè)錯(cuò)誤的錯(cuò)誤檢測(cè)電路1b、在檢測(cè)到錯(cuò)誤時(shí)基于出錯(cuò)組計(jì)算錯(cuò)誤模式的錯(cuò)誤模式計(jì)算電路1c、基于計(jì)算出的錯(cuò)誤模式對(duì)接收數(shù)據(jù)進(jìn)行糾錯(cuò)的翻轉(zhuǎn)電路1d。
錯(cuò)誤檢測(cè)電路1b在基于檢測(cè)結(jié)果判斷出接收數(shù)據(jù)中有錯(cuò)誤時(shí),向總線主控器2輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào)。
另外,接收數(shù)據(jù)是對(duì)輸入數(shù)據(jù)利用未圖示的編碼電路附加檢查比特,經(jīng)傳送路徑接收的數(shù)據(jù)。傳送路徑不限于通常的通信路徑,可以適用于存儲(chǔ)系統(tǒng)的存儲(chǔ)元件,還可以將發(fā)送數(shù)據(jù)適用于對(duì)存儲(chǔ)元件的寫(xiě)入信息,將接收數(shù)據(jù)適用于從存儲(chǔ)元件的讀出信息。
在此,附加檢查比特并編碼的發(fā)送數(shù)據(jù)如上所述,一般可以用n比特的2進(jìn)制數(shù)表示,該發(fā)送數(shù)據(jù)可以由包含r比特的檢查比特的D=(d0、d1、…dn-1)表示。
如上所述,編碼可以由以0和1的2進(jìn)制數(shù)為元素的r行n列奇偶檢查矩陣(以下,稱(chēng)為H矩陣)表示,發(fā)送數(shù)據(jù)為D時(shí),確定檢查矩陣H的比特使為式(1)的關(guān)系成立。因此,在沒(méi)有包含錯(cuò)誤的發(fā)送數(shù)據(jù)D和H矩陣之間,上述式(1)的關(guān)系成立。
出錯(cuò)組計(jì)算電路1a進(jìn)行式(1)的運(yùn)算而得到出錯(cuò)組S的計(jì)算結(jié)果。該出錯(cuò)組S由r比特構(gòu)成的矢量表示。
錯(cuò)誤檢測(cè)電路1b在計(jì)算出的出錯(cuò)組S為S=0時(shí),判斷為沒(méi)有錯(cuò)誤,在S≠0時(shí),判斷為有錯(cuò)誤。另外,錯(cuò)誤模式計(jì)算電路1c基于H矩陣分析出錯(cuò)組S的圖形。得到的錯(cuò)誤模式可以求出包含在發(fā)送數(shù)據(jù)中的錯(cuò)誤的位置和大小,可以糾正包含錯(cuò)誤的數(shù)據(jù)。
出錯(cuò)組計(jì)算電路1a對(duì)發(fā)送數(shù)據(jù)D采用該發(fā)送數(shù)據(jù)D的形成所用的檢查矩陣H進(jìn)行式(1)的運(yùn)算。在此,在傳送中沒(méi)有產(chǎn)生錯(cuò)誤時(shí),由于接收數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,所以通過(guò)使式(1)的左邊中的D作為接收數(shù)據(jù)而得到的計(jì)算結(jié)果成為0(r比特的零矢量)。
另一方面,在發(fā)生了錯(cuò)誤時(shí),將式(1)的左邊中的D作為接收數(shù)據(jù)而得到的計(jì)算結(jié)果不成為0。
通過(guò)基于H矩陣分析該計(jì)算結(jié)果圖形的r比特矢量,可以求出接收數(shù)據(jù)的錯(cuò)誤位置和大小,可以糾正接收數(shù)據(jù)。
翻轉(zhuǎn)電路1d通過(guò)取錯(cuò)誤模式計(jì)算電路1c算出的錯(cuò)誤模式和接收數(shù)據(jù)的“異或(排他的論路和)”來(lái)糾正接收數(shù)據(jù)。另外,在沒(méi)有錯(cuò)誤時(shí),翻轉(zhuǎn)電路1不翻轉(zhuǎn)輸入的接收數(shù)據(jù)而原樣輸出。
另外,本發(fā)明的錯(cuò)誤檢測(cè)電路1b基于出錯(cuò)組S進(jìn)行接收數(shù)據(jù)的錯(cuò)誤檢測(cè),同時(shí)檢測(cè)錯(cuò)誤并用糾錯(cuò)譯碼電路1進(jìn)行糾錯(cuò)時(shí),向總線主控器2輸出周期延長(zhǎng)請(qǐng)求。
周期延長(zhǎng)請(qǐng)求是向總線主控器2請(qǐng)求延長(zhǎng)總線周期的周期時(shí)間??偩€主控器2一接收該周期延長(zhǎng)請(qǐng)求,就延長(zhǎng)數(shù)據(jù)總線周期的周期時(shí)間,基于延長(zhǎng)的周期時(shí)間進(jìn)行數(shù)據(jù)處理。
圖2是用于說(shuō)明本發(fā)明的糾錯(cuò)譯碼電路的處理順序的流程圖。
出錯(cuò)組計(jì)算電路1a取得接收數(shù)據(jù)(步驟S1),計(jì)算出錯(cuò)組S(步驟S2)。錯(cuò)誤檢測(cè)電路1b基于計(jì)算出的出錯(cuò)組S是否為0(零矢量),判斷有無(wú)錯(cuò)誤(步驟S3)。
錯(cuò)誤檢測(cè)電路1b在出錯(cuò)組S不為0(零矢量)時(shí)判斷為有錯(cuò)誤(步驟S3),向總線主控器2請(qǐng)求延長(zhǎng)周期(步驟S4),錯(cuò)誤圖形計(jì)算電路1c計(jì)算錯(cuò)誤模式(步驟S5)。
翻轉(zhuǎn)電路1d求出從錯(cuò)誤模式計(jì)算電路1c得到的錯(cuò)誤模式、和輸入的接收數(shù)據(jù)的“異或”,糾正包含錯(cuò)誤的接收數(shù)據(jù)(步驟S6),輸出糾正數(shù)據(jù)(步驟S7)。
另一方面,錯(cuò)誤檢測(cè)電路1b在出錯(cuò)組S為0(零矢量)時(shí)判斷為沒(méi)有錯(cuò)誤(步驟S3),在翻轉(zhuǎn)電路1d不翻轉(zhuǎn)輸入的接收數(shù)據(jù),將接收數(shù)據(jù)原樣輸出到總線(步驟S8)。因此,在沒(méi)有錯(cuò)誤時(shí),在錯(cuò)誤模式計(jì)算電路1c不進(jìn)行錯(cuò)誤模式的計(jì)算處理。另外,在沒(méi)有錯(cuò)誤時(shí),錯(cuò)誤檢測(cè)電路1b向總線主控器2不進(jìn)行延長(zhǎng)周期的請(qǐng)求。
步驟S1~步驟S8的工序在各總線周期進(jìn)行,在下一總線周期時(shí),將延長(zhǎng)的總線周期的周期時(shí)間返回到設(shè)定的值,重復(fù)上述步驟S1~步驟S8的工序(步驟S9)。
圖3是用于說(shuō)明本發(fā)明的數(shù)據(jù)總線周期的周期時(shí)間的延長(zhǎng)處理的圖,示出包含接收數(shù)據(jù)中沒(méi)有錯(cuò)誤的周期(周期1、3、4)和接收數(shù)據(jù)中有錯(cuò)誤的周期(周期2)的例子。
在接收數(shù)據(jù)中沒(méi)有錯(cuò)誤的周期(1、3、4),該接收數(shù)據(jù)(圖3(a))在設(shè)定的周期時(shí)間T1的總線周期內(nèi)被處理,利用糾錯(cuò)譯碼電路執(zhí)行出錯(cuò)組計(jì)算和錯(cuò)誤檢測(cè),將輸出數(shù)據(jù)(圖3(d))輸出到總線。
另一方面,在接收數(shù)據(jù)中有錯(cuò)誤的周期(周期2),接收數(shù)據(jù)(圖3(a))在當(dāng)初設(shè)定的周期時(shí)間T1的總線周期內(nèi)被處理,但若利用糾錯(cuò)譯碼電路1進(jìn)行出錯(cuò)組計(jì)算和錯(cuò)誤檢測(cè)而檢測(cè)出錯(cuò)誤,則向總線主控器2輸出周期延長(zhǎng)請(qǐng)求??偩€主控器2接受該周期延長(zhǎng)請(qǐng)求,將周期時(shí)間延長(zhǎng)成T2(圖3(e))。糾錯(cuò)譯碼電路1在延長(zhǎng)的周期時(shí)間內(nèi),接著錯(cuò)誤檢測(cè)進(jìn)行錯(cuò)誤模式計(jì)算處理和翻轉(zhuǎn)處理,將糾錯(cuò)的糾正數(shù)據(jù)輸出到總線。
延長(zhǎng)的總線周期一結(jié)束,總線主控器就再次返回到設(shè)定的周期時(shí)間T1,繼續(xù)周期3的處理。
圖4是用于說(shuō)明數(shù)據(jù)總線系統(tǒng)的結(jié)構(gòu)的示意圖。數(shù)據(jù)總線系統(tǒng)5經(jīng)總線4連接總線主控器2和總線受控器3A、3B。
另外,總線受控器可以是多個(gè),各總線受控器3A、3B具有對(duì)接收到的數(shù)據(jù)進(jìn)行譯碼的糾錯(cuò)譯碼電路1A、1B??偩€主控器2控制管理總線4上的多個(gè)總線受控器3A、3B??偩€主控器2按照對(duì)規(guī)定的周期時(shí)間設(shè)定的總線周期進(jìn)行總線4上的總線受控器3的數(shù)據(jù)處理。該總線周期可以例如基于各總線受控器對(duì)沒(méi)有錯(cuò)誤的數(shù)據(jù)進(jìn)行處理所需的時(shí)間設(shè)定。
總線主控器2通常通過(guò)以接收數(shù)據(jù)中沒(méi)有包含錯(cuò)誤的處理時(shí)間為基準(zhǔn)設(shè)定總線周期,高速化數(shù)據(jù)處理。
總線受控器3A、3B的任一個(gè)在接收數(shù)據(jù)中有錯(cuò)誤時(shí),糾錯(cuò)譯碼電路進(jìn)行糾正該錯(cuò)誤的處理(錯(cuò)誤模式計(jì)算處理、翻轉(zhuǎn)處理)。進(jìn)行該糾錯(cuò)的總線受控器在錯(cuò)誤檢測(cè)時(shí)向總線主控器2輸出周期延長(zhǎng)請(qǐng)求,為了錯(cuò)誤模式計(jì)算處理和翻轉(zhuǎn)處理等糾錯(cuò)處理對(duì)下一周期不產(chǎn)生影響,延長(zhǎng)周期時(shí)間。延長(zhǎng)的總線周期結(jié)束后,總線主控器2將延長(zhǎng)的周期時(shí)間返回到原來(lái)設(shè)定的周期時(shí)間。
圖5是用于說(shuō)明本發(fā)明的總線主控器側(cè)的處理順序的流程圖。
總線主控器2監(jiān)視總線受控器3輸出的周期延長(zhǎng)請(qǐng)求(步驟S11),在有周期延長(zhǎng)請(qǐng)求時(shí),延長(zhǎng)周期時(shí)間(步驟S12),在沒(méi)有周期延長(zhǎng)請(qǐng)求時(shí),周期時(shí)間依然是設(shè)定的時(shí)間(步驟S13)。
總線主控器按照延長(zhǎng)的周期或設(shè)定狀態(tài)的周期,對(duì)各總線受控器3送出的數(shù)據(jù)進(jìn)行處理(步驟S14)。在1個(gè)周期的處理結(jié)束之后,在下一周期(步驟S15),在周期延長(zhǎng)時(shí)返回到原來(lái)的設(shè)定周期(步驟S16),重復(fù)上述步驟S11~S15。
如上所述,本發(fā)明的技術(shù)可以適用于自動(dòng)糾錯(cuò)而要求高可靠性的裝置和系統(tǒng),例如可以適用于在溫度、振動(dòng)、噪聲等的作業(yè)環(huán)境惡劣的狀況下,要求正常工作的產(chǎn)業(yè)用裝置和系統(tǒng)、或醫(yī)療、航空宇宙、公共系統(tǒng)等,要求高可靠性的裝置和系統(tǒng)。
權(quán)利要求
1.一種包含接收數(shù)據(jù)的糾錯(cuò)處理的糾錯(cuò)譯碼電路,具有出錯(cuò)組計(jì)算電路,對(duì)接收數(shù)據(jù)計(jì)算出錯(cuò)組;錯(cuò)誤檢測(cè)電路,基于上述計(jì)算出的出錯(cuò)組檢測(cè)錯(cuò)誤;錯(cuò)誤模式計(jì)算電路,基于上述出錯(cuò)組計(jì)算錯(cuò)誤模式;翻轉(zhuǎn)電路,基于上述計(jì)算出的錯(cuò)誤模式進(jìn)行接收數(shù)據(jù)的糾錯(cuò),基于上述錯(cuò)誤檢測(cè)電路的檢測(cè)結(jié)果,在接收數(shù)據(jù)有錯(cuò)誤時(shí),向總線主控器輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào)。
2.如權(quán)利要求1所述的糾錯(cuò)譯碼電路,其特征在于上述翻轉(zhuǎn)電路基于上述計(jì)算出的錯(cuò)誤模式,對(duì)接收數(shù)據(jù)進(jìn)行翻轉(zhuǎn)并進(jìn)行糾錯(cuò)。
3.如權(quán)利要求1所述的糾錯(cuò)譯碼電路,其特征在于,上述錯(cuò)誤檢測(cè)電路在接收數(shù)據(jù)有錯(cuò)誤時(shí),驅(qū)動(dòng)錯(cuò)誤模式算出電路,同時(shí)輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào),另一方面,在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí),將輸入到翻轉(zhuǎn)電路的接收數(shù)據(jù)原樣輸出。
4.一種按照總線周期控制經(jīng)總線連接總線主控器和至少1個(gè)總線受控器的數(shù)據(jù)總線的控制方法,其特征在于基于上述總線受控器的接收數(shù)據(jù)的錯(cuò)誤檢測(cè)的檢測(cè)結(jié)果變更上述總線周期。
5.如權(quán)利要求4所述的數(shù)據(jù)總線控制方法,其特征在于上述總線受控器進(jìn)行接收數(shù)據(jù)的錯(cuò)誤檢測(cè),基于該錯(cuò)誤檢測(cè)的檢測(cè)結(jié)果,輸出延長(zhǎng)總線周期的周期時(shí)間的請(qǐng)求信號(hào),另一方面,上述總線主控器基于上述延長(zhǎng)請(qǐng)求信號(hào)延長(zhǎng)總線周期,利用該延長(zhǎng)的周期時(shí)間進(jìn)行總線中的數(shù)據(jù)控制。
6.如權(quán)利要求4或5所述的數(shù)據(jù)總線控制方法,其特征在于上述總線受控器在每次檢測(cè)出接收數(shù)據(jù)有錯(cuò)誤時(shí),輸出延長(zhǎng)請(qǐng)求信號(hào),上述總線主控器對(duì)每次延長(zhǎng)請(qǐng)求信號(hào)的輸出,僅延長(zhǎng)1總線周期。
7.一種經(jīng)總線連接總線主控器和至少1個(gè)總線受控器的數(shù)據(jù)總線系統(tǒng),其特征在于上述總線受控器在檢測(cè)出接收數(shù)據(jù)的錯(cuò)誤時(shí),發(fā)送總線周期的延長(zhǎng)請(qǐng)求信號(hào)。
8.如權(quán)利要求7所述的數(shù)據(jù)總線系統(tǒng),其特征在于上述總線受控器具有檢測(cè)接收數(shù)據(jù)的錯(cuò)誤、基于該錯(cuò)誤檢測(cè)的檢測(cè)結(jié)果輸出延長(zhǎng)總線周期的周期時(shí)間的請(qǐng)求信號(hào)的錯(cuò)誤檢測(cè)部件,上述總線主控器具有基于上述延長(zhǎng)請(qǐng)求信號(hào)延長(zhǎng)總線周期、利用該延長(zhǎng)的周期時(shí)間控制總線中的數(shù)據(jù)的控制部件。
9.一種經(jīng)總線連接總線主控器和至少1個(gè)總線受控器的數(shù)據(jù)總線系統(tǒng),其特征在于上述總線受控器具備權(quán)利要求1所述的糾錯(cuò)譯碼電路。
10.一種譯碼電路,具有錯(cuò)誤檢測(cè)電路,采用包含r檢查比特的n比特的2進(jìn)制數(shù)的接收數(shù)據(jù)D和r行n列的檢查行列式H,進(jìn)行D·HT=S的計(jì)算,若右邊S(出錯(cuò)組)為零,則判斷為該接收數(shù)據(jù)D中沒(méi)有錯(cuò)誤,若不為零,則判斷為該接收數(shù)據(jù)D中有錯(cuò)誤;錯(cuò)誤模式計(jì)算電路,基于上述檢查行列H分析上述出錯(cuò)組S的模式,求出接收數(shù)據(jù)D中包含的含有錯(cuò)誤位置和大小的錯(cuò)誤模式;糾錯(cuò)部件,通過(guò)取得上述錯(cuò)誤模式計(jì)算電路求出的錯(cuò)誤模式和接收數(shù)據(jù)D的“異或”,進(jìn)行接收數(shù)據(jù)D的糾正;輸出部件,向總線主控器輸出周期延長(zhǎng)請(qǐng)求,上述錯(cuò)誤檢測(cè)電路在判斷為上述接收數(shù)據(jù)D中有錯(cuò)誤時(shí),使用上述錯(cuò)誤模式計(jì)算電路求出接收數(shù)據(jù)D中包含的錯(cuò)誤模式,使用上述糾錯(cuò)部件進(jìn)行接收數(shù)據(jù)D的糾正,另一方面,上述錯(cuò)誤檢測(cè)電路在判斷為上述接收數(shù)據(jù)D中沒(méi)有錯(cuò)誤時(shí),不進(jìn)行用上述錯(cuò)誤模式計(jì)算電路求出接收數(shù)據(jù)D中包含的錯(cuò)誤模式,而使上述輸出部件向總線主控器輸出周期延長(zhǎng)請(qǐng)求。
全文摘要
糾錯(cuò)譯碼電路具有對(duì)接收數(shù)據(jù)計(jì)算出錯(cuò)組的出錯(cuò)組計(jì)算電路、基于出錯(cuò)組檢測(cè)錯(cuò)誤的錯(cuò)誤檢測(cè)電路、基于出錯(cuò)組計(jì)算錯(cuò)誤模式的錯(cuò)誤模式計(jì)算電路、基于計(jì)算出的錯(cuò)誤模式糾錯(cuò)接收數(shù)據(jù)的翻轉(zhuǎn)電路?;阱e(cuò)誤檢測(cè)電路的檢測(cè)結(jié)果,僅在接收數(shù)據(jù)有錯(cuò)誤時(shí),向總線主控器輸出總線周期的延長(zhǎng)請(qǐng)求信號(hào)。另一方面,在接收數(shù)據(jù)沒(méi)有錯(cuò)誤時(shí),不糾正輸入的數(shù)據(jù)而輸出到數(shù)據(jù)總線。這樣,使數(shù)據(jù)總線高速工作。
文檔編號(hào)G06F11/07GK1595812SQ20041007377
公開(kāi)日2005年3月16日 申請(qǐng)日期2004年9月9日 優(yōu)先權(quán)日2003年9月10日
發(fā)明者青山一成, 相澤安晴, 小槙邦孝 申請(qǐng)人:發(fā)那科株式會(huì)社