JPH0153940B2 - - Google Patents
Info
- Publication number
- JPH0153940B2 JPH0153940B2 JP58186105A JP18610583A JPH0153940B2 JP H0153940 B2 JPH0153940 B2 JP H0153940B2 JP 58186105 A JP58186105 A JP 58186105A JP 18610583 A JP18610583 A JP 18610583A JP H0153940 B2 JPH0153940 B2 JP H0153940B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- timing
- error
- signal
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1806—Pulse code modulation systems for audio signals
- G11B20/1813—Pulse code modulation systems for audio signals by adding special bits or symbols to the coded information
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
この発明はデイジタルオーデイオデイスク
(DAD)プレーヤにおいて用いられるデータ誤り
検出・訂正回路に関する。 〔背景技術〕 DADシステムにおいては、デイスクに最初か
らある欠陥、取扱い中に生じたデイスクの欠陥、
再生メカニズムの変動の乱れ等の原因で、データ
誤りが発生する。このデータ誤りを放置しておく
ことは、音楽信号再生上極めて好ましくなく、し
たがつて、DADプレーヤにおいては、このデー
タ誤りを検出し、訂正する回路が不可欠である。 さて、このデータ誤りを検出する方法として、
リードソロモン符号による方法が知られている。
以下、この方法について説明する。まず、デイス
クには音楽信号データと共に、予め誤り訂正用デ
ータを記録する。第1図はデイスクに各データが
記録されているところを示す概略図であり、この
図に示す例においては、1フレームFr(誤り訂正
のためのデータ単位)が信号データW0〜W27(各
8ビツト)と、誤り訂正用データP0〜P3(各8ビ
ツト)と、同期パターンSYNCとから構成されて
いる。(なお、実際のデイスクでは、これらに加
えてコントロールデータ、前記誤り訂正用データ
PO〜P3とは更に別の誤り訂正用データが、記録
されているが、ここでは説明を簡略化するために
省略している。また、これら各データはEFM
(Eight to Fourteen Modulation)方式により変
調されてデイスクに記録されている。)そして、
誤り訂正用データP0〜P3の各値は各々次の式を
満足するように設定されている。 なお、この(1)式におけるαはF(X)=X8+X4
+X3+X2+1を法とする原始元である。 次に、再生時においては第1図に示す各データ
W0〜W27およびP0〜P3を各々読出し、この読出
した各データに基づいて次の演算によつてシンド
ロームS0〜S3を求める。 そして、このシンドロームS0〜S3の各値に基
づいて、以下のようにしてデータW0〜W27、P0
〜P3の誤りの有無の判定、検出および訂正を行
う。 なお、このリードソロモン符号法においては信
号データW0〜W27と、誤り訂正用データP0〜P3
とを全く区別しない。すなわち、誤り訂正用デー
タP0〜P3は、実質的には信号データW0〜W27に
続く仮想的な信号データW28〜W31と見倣すこと
ができ、したがつて誤り訂正用データP0〜P3の
誤りも検出することができる。そして、データ
P0〜P3の誤りは各々、データW28〜W31の誤り
として認識し得る。例えば、30番目のデータW29
が誤りであると検出された場合は、誤り訂正用デ
ータP1が誤つていることを意味する。 誤りの有無の判定 なる式が成立するか否かを調べる。成立すれ
ばデータW0〜W27、P0〜P3のいずれにも誤り
がなく、成立しなければデータW0〜W27、P0
〜P3の内の1つあるいは複数に誤りがある。 単一誤り検出 いま板の第j番目のデータWjのみに誤りが
あるとすると、 なる式が成立する。ただし、この式においてEj
は正しいデータWj(以下、この正しいデータ
Wjを<Wj>と記す)とデイスクから読み出さ
れたデータWjとの差(すなわち、データ誤差
であり、誤りパターンともいう)である。この
(4)式から、次の式が得られる。 S12=S0・S2 ……(5) S22=S1・S3 ……(6) また、データWjの誤りがあれば、 S0≠0 ……(7) S1≠0 ……(8) S2≠0 ……(9) S3≠0 ……(10) なる式が成立する。したがつて、上記(5)〜(10)式
が成立するか否かを調べ、いずれも成立すれ
ば、データWjのみに誤りがあることが検出さ
れる。この場合、そのデータ誤差Ejはシンドロ
ームS0である。 単一誤りの訂正 前記(4)式から、 S1/S0=αj ……(11) なる式が導かれる。したがつて、この(11)式左辺
の演算を行い、その演算結果を数値変換するこ
とにより、誤りデータの位置jが検出される。
そこで、デイスクから読み出されたデータWj
にデータ誤差Ej=S0を加算し、正しいデータ
<Wj>を得る。 Wj+Ej=<Wj> ……(12) 二重誤りの検出 いま仮にデータWkとWlとに誤りがあるとす
ると、 なる式が成立する。ただし、この(13)式にお
いて、Ek、Elは各々データWk、Wlのデータ
誤差である。この(13)式から次の式が得られ
る。 αk+αk=S1・S2+S0・S3/S12+S0・S2 ……(14) αk・αl=S22+S1・S3/S12+S0・S2 ……(15) また、この例の場合、 0≦k、l≦31 ……(16) k≠l ……(17) なる式が成立する。なおここで、k、l=28〜
31は前述したように誤り訂正用データP0〜P3
に誤りがある場合である。 しかして、上記第(14)式、第(15)式の右
辺の値をシンドロームS0〜S3から求め、次い
で上記(14)〜(17)式を満足するk、lの組
を求める。このk、lの組が求まれば、データ
Wk、Wlに各々誤りがあることになり、一方、
求まらず、かつ誤りがあり、しかもそれが単一
誤りでないならば、データW0〜W27、P0〜P3
に3個以上であることになる。なお、シンドロ
ームS0〜S3によつては、三重誤り以上の誤り
データ位置の検出は不可能である。 二重誤りの訂正 データWk、Wlに各々誤りがある場合、各デ
ータ電気Ek、Elを各々次式に基づいて求める。 Ek El=1/αk+αlS1+αl・SO S1+αk・SO ……(18) 次に、上記の過程によつて検出されたK、l
の値に対応するデータWk、Wlに各々、データ誤
差Ek、Elを加算し、 Wk+Ek=<Wk> ……(19) Wl+El=<Wl> ……(20) これにより、正しいデータ<Wk>、<Wl>を得
る。 以上がリードソロモン符号によるデータ誤りの
検出および訂正方法である。 (発明の目的) この発明は上述したリードソロモン符号による
データ誤り、等に二重誤りの検出および訂正を短
時間で、かつ、最小限のハードウエア構成によつ
て実行することができるデータ誤り検出・訂正回
路を提供することを目的としている。 〔発明の特徴〕 この発明は、次の各構成要件に備えたことを特
徴としている。 (a) データ誤りを含むデータが出力されるデータ
バスと、 (b) データ誤り検出・訂正のための内部バスと、 (c) データバスに出力されたデータから前記リー
ドソロモン符号のシンドロームを演算し所定タ
イミングで前記内部バスへ出力するシンドロー
ム演算手段と、 (d) 前記内部バスに生じたシンドロームを含むデ
ータを前記リードソロモン符号のガロア体GF
の元αXに対応させてαX→Xに数値変換する数
値変換手段と、 (e) この数値変換手段から得られる所定タイミン
グの数値同志を加減算する加減算手段と、 (f) この加減算手段の出力を前記ガロア体GFの
元αXに対応させてX→αXに逆変換し元の形の
データに戻す逆変換手段と、 (g) この逆変換手段から得られる所定タイミング
のデータ同志を加算して前記内部バスに出力す
る加算手段と、 (h) 前記加減算手段の出力に基づいてデータ二重
誤りの有無および二重誤り位置を検出するデー
タ誤り検出手段と、 (i) データの二重誤り位置に基づき前記数値変換
手段、加減算手段、逆変換手段、および加算手
段からなる循環系を介して前記内部バスに誤差
データを出力させこの内部バス上の誤差データ
で前記データバス上の誤りデータを訂正するデ
ータ訂正手段と、 (j) 前記シンドローム演算手段と前記内部バスと
の間、前記数値変換手段と前記加減算数手段と
の間、前記加減算手段と前記逆変手段との間、
前記逆変換手段と前記加算手段との間、前記加
算手段と前記内部バスとの間、および前記デー
タ誤り検出手段と前記加減手段との間を各々接
続する複数の接続手段と、 (k) これら各接続手段を制御するタイミング信号
を発生するタイミング信号発生手段。 〔実施例の説明〕 第2図はこの発明の一実施例によるデータ誤り
検出・訂正回路1を適用したCD(コンパクトデイ
スク)プレーヤの要部の構成を示すブロツク図で
ある。なお、以下の説明においては、デイスクに
記録されているデータのフオーマツトを第1図に
示すものであるとする。第2図において、信号
INPはデイスクから光学系を介して読み出された
信号(EFM変調された信号)であり、この信号
INPは受信回路2へ入力される。受信回路2は信
号INPに含まれるデータビツトをEFM復調回路
3へ供給すると共に、信号INPに含まれている同
期パターンSYNCに基づいてフレーム同期信号
VFSYNCを作成し、アドレス制御回路8へ出力
する。EFM復調回路3は、EFM変調された1シ
ンボル=14ビツトのデータをもとの1シンボル=
8ビツトのデータに復調し、バツフアレジスタ4
へ順次直列に供給する。バツフアレジスタ4は
EFM復調回路3から供給されるデータを一時記
憶するレジスタであり、EFM復調回路3から出
力される直列データを並列データに変換する直一
並変換回路および複数のレジスタを有して構成さ
れ、その出力がゲート回路7へ供給される。書込
み制御回路5は、バツフアレジスタ4の書込みお
よび読出しを制御する回路であり、アドレス制御
回路8から出力指令EFMDが供給された場合に、
制御信号WEをRAM(ランダムアクセスメモリ)
6のリード/ライト制御端子R/Wおよびゲート
回路7の制御端子へ各々出力する。これにより、
RAM6が書込み可能状態となると共に、ゲート
回路7が開状態となり、バツフアレジスタ4内の
データがゲート回路7およびRAM6の書込み用
データバスDABS1を介してRAM6へ供給さ
れ、アドレス制御回路8から出力されているアド
レスに書込まれる。また、この書込み制御回路5
はバツフアレジスタ4内のデータがRAM6へ出
力された時点で制御信号VSYMBをアドレス制
御回路8へ出力する。RAM6はデイスクから読
み出された各データ、すなわち、信号データWO
〜W27および誤り訂正用データP0〜P3が記憶さ
れるメモリであり、アドレス制御回路8から端子
ADへ供給されるアドレス信号によつて、アドレ
スが制御され、また、読み出されたデータは出力
用データバスDABS2へ出力される。アドレス制
御回路8は、フレーム同期信号VFSYNC、制御
信号VSYMBおよび制御信号EFMDに基づいて
書込みアドレスを作成したり、書込まれたデータ
のうち、誤り処理に要するデータ(W0〜W27、
P0〜P3)を読み出すのに必要なアドレスを作成
したり、また、データ誤り検出・訂正回路1から
出力される。誤りデータの位置に示すデータj、
k、lに基づいて誤りデータが記憶されているア
ドレスを指示するアドレス信号を作成し、RAM
6へ入出力する等、各種のアドレス制御を行う。 データ誤り検出・訂正回路1はアドレス制御回
路8の制御の下にRAM6から順次出力されるデ
ータを読込み、リードソロモン復号法によつて誤
りがあるか否かのチエツクを行い、誤りが検出さ
れた場合はその訂正を行う回路である。 なお、9はタイミング制御回路であり、これは
データ誤り検出訂正回路1、アドレス制御回路8
等を含む装置全体を制御するための各種タイミン
グ信号を発生するものである。(特に、データ誤
り検出、訂正に関係する部分は第4図にタイミン
グ信号発生回路27として抜き出して示してあ
る。)また、図に示す構成要素10〜14につい
ては最後に説明する。 以下、この発明に係るデータ誤り検出・訂正回
路1について詳述する。 〔データ誤り検出・訂正回路1の詳細〕 〔1〕 各部も構成およよび機能 第3図および第4図は共にデータ誤り検出・
訂正回路1の構成を示すブロツク図である。 最初に、第3図における各記号について説明
する。 ROM( ):リードオンリーメモリ FAD( ):フルアダー INV( ):インバータ SEL( ):セレクタ R( ):8ビツトレジスタ DL( ):デイレイレジスタ(8ビツト) EXOR( ):イクスクルーシブオアゲート SW( ):スイツチ回路 HAD( ):ハーフアダー COMR:比較器 Ra( ):1ビツトレジスタ AND:アンドゲート OR( ):オアゲート NOR( ):ノアゲート 以下、これらの記号を用いて説明を行う。 次に、第3図および第4図の各部の構成を説
明する。 このデータ誤り検出・訂正回路1は大きく分
けると、シンドローム演算部21と、乗除算部
22と、加減算部23と、二重誤り検出部24
と、単一誤り検出部25と、データ訂正部26
と、これに加えて第2図に示したタイミング信
号制御回路9の一部であるタイミング信号発生
回路27(第4図)とから構成されている。 (1) シンドローム演算部21 このシドローム演算部21は前記第(2)式に
示すシンドロームS0〜S3を算出する回路で
あり、シンドローム演算回路21−1〜21
−4から構成される。シンドローム演算回路
21−1はデータバスDABS2(第2図参
照)を介して供給される、1フレームFr内
の各データW0〜W27、P0〜P3を順次累算す
ることによりシンドロームS0(8ビツト)を
算出し、この算出結果を記憶すると共に、
SW(5)へ出力する。同様に、シンドロー
ム演算回路21−2は、各データW0〜W27、
P0〜P3に各々αn(n=0〜31)を乗算して累
算することにより、シンドロームS1を算出
し、この算出結果を記憶すると共に、SW
(6)へ出力する。シンドローム演算回路2
1−3,21−4も同様にしてシンドローム
S2、S3を各々算出し、SW(7)、SW(8)へ
出力する。 (2) 乗降算部22 この乗除算部22は、例えば前記第(5)、(6)
式のシンドローム乗算、第(11)式のシドローム
除算、あるいは第(18)式の乗除算等を行う
回路であり、主要部の構成および機能は次の
通りである。 (2‐1) ROM(1) このROM(1)は、内部バスINBSを介
してアドレス端子ADへ供給されるデータ
(Dとする)を数値変換する回路であり、
8ビツトデータDをGF(28)の元αXに対
応させてαx→Xの変換を行う。(以下、こ
の変換をlg〔D〕と表記する。)そして、
RAM(1)にはアドレスD内に予め値lg
〔D〕が記録されている。ここで、この
ROM(1)を設けた理由は乗除算を加減
算によつて処理するため、および、前記第
(11)式の演算結果からjを求める時にこの数
値変換が必要となるためである。 (2‐2) DL(1) 8ビツトのレジスタa,bから構成され
るデイレイジスタであり、クロツクパルス
φ(第4図参照)に基づきて入力データが
転送される。 (2‐3) INV(1) 制御信号TDIVが“1”信号の時にイン
バータとなり、“0”信号の時にはスルー
となる。二重誤り検出部24内のINV
(2)も全く同一構成である。 (2‐4) FAD(1) 数値変換されたデータの加減算を行う。
すなわち、INV(1)がスルーとして動作
する場合は加算器として動作し、INV
(1)がインバータとして動作する場合は
減算器として動作する。このFAD(1)は
実質的にデータの乗除算を行う。 (3) 加減算部23 この加減算部23は、例えば前記第(5)式が
成立するか否かを調べる際必要となる「S12
−S0・S2」の減算、前記第(14)式、第
(15)式の各右辺の加算等を行う回路である。
なおここで、シンドロームS0〜S3の演算は
モジユロ2の演算によつて行われる。すなわ
ち、加算は各対応ビツトのイクスクルーシブ
オアをとることによつて行われ、したがつて
桁上げがなく、また、減算は加算と同一演算
となる。以下、主要部の構成および機能を説
明する。 (3‐1) ROM(2) このROP(2)は数値変換されたデータ
lg〔D〕を逆変換し、データDに戻すため
のROMであり、そのアドレス端子ADへ
データlg〔D〕が供給されると、データD
をDL(2)へ出力する。 (3‐2) DL(2) 8ビツトのレジスタa,b,cから構成
されるデイレイレジスタであり、クロツク
パルスφに基づいて入力データが転送され
る。 (3‐3) EXOR(1) モジユロ2の加減算を行うイクスクール
シブオアゲートである。 (3‐3) スイツチ30 このスイツチ30は制御信号PLSCAL
が“1”信号の時、端子CとAとが接続さ
れ、“0”信号の時、端子CとBとが接続
されるスイツチである。 (4) 二重誤り検出部24 データW0〜27、P0〜P3に二重誤りがある
か否かを検出する回路である。 (4‐1) HAD このHADは制御信号TLDLAに基づい
て8ビツトのレジスタR(B)の出力の1/2に
「1」を加算してR(L)の初期設定をしたり、
R(L)からフイードバツクされた値に、
AND(1)の出力をキヤリイとして入力
し、「1」を加算したりする回路である。
すなわちR(B)の下位第2ビツト(LSBの
次のビツト)から第6ビツトまで、あるい
はR(L)の出力がHADの入力データとして
供給され、TADは制御信号TLDLAは
“1”の時は、R(B)の値の1/2に、また
“1”の時は、R(L)の値に「1」を加算し
て出力する。なお、R(B)の出力の内の5ビ
ツトのみをHADの入力としている理由は、
R(B)の上位2ビツトが実際上は、“0、0”
であるからである。 (4‐2) R(L) HADの出力を一時的に保持する5ビツ
トレジスタである。 (4‐3) COMP レジスタR(L)の出力と予め内部設定され
ている定数「31」とを比較し、R(L)の出力
が「31」以上の場合に“0”信号を、「31」
未満の場合に“1”信号を各々出力する比
較器である。 (4‐4) FAD(2) 入力端子A,Bへ各々入力されるデータ
を加算し、加算結果を出力端子Sから出力
するフルアダであるが、他に特別の比較機
能を有している。すなわち、このFAD
(2)は入力端子Bののデータが入力端子
Aのデータより小の場合に端子Cから
“1”信号を出力し、また、大または等し
い場合には“0”信号を出力する。 (4‐5) ROM(3) ROM(2)と同様に、数値変換された
データの逆変換を行うためのROMであ
る。 (4‐6) Ra(E2) 1ビツトのフラグレジスタであり、二重
誤りが検出された場合に“1”信号が書込
まれる。この“1”信号はE2フラグとし
て、端子T4を介しエラーフラグ判定回路
10(第2図)へ出力される。 (5) 単一誤り検出部25 データW0〜W27、P0〜P3に単一誤りがあ
るか否かを検出する回路である。 (5‐1) 0検出回路29 この回路29は入力されるデータが
「0」であるか否かを検出する回路であり、
「0」であつた場合に“1”信号を、「0」
でなかつた場合に“0”信号を各々出力す
る。 (5‐2) Ra(E0) 1ビツトのフラグレジスタであり、前記
第(3)式が成立する場合に“1”信号が書込
まれる。この“1”信号はE0フラグとし
て、端子T6を介してエラーフラグ判定回
路10へ出力される。 (5‐3) Ra(E1) 1ビツトのフラグレジスタであり、単一
誤りが検出された場合に“1”信号が書込
まれる。この“1”信号はE1フラグとし
て、端子T5を介してエヤーフラグ判定回
路10へ供給される。 (6) データ訂正部26 データ訂正部26は、前記第(12)式、第
(19)式、第(20)式の各演算を行うもので、
データバスDABS2を介して供給されるデー
タWj、Wk、Wlに各々内部バスINBSを介し
て供給される誤差データEj、Ek、Elを
EXOR(3)において加算し、この加算結果
<Wj>、<Wk>、<Wl>を各々DL(5)お
よび端子T2を介してRAM6(第2図)へ
出力する。 (7) タイミング信号発生回路27 このタイミング信号発生回路27は、実際
には第1図に示したタイミング制御回路9の
一部であり、これは水晶振動子27aの固有
振動数に対応するクロツクパルスφを発生す
ると共に、さらに、このクロツクパススφを
タイムベースとした各制御信号S0E,S1
E…(第5図〜第7図参照)を各々発生する
回路であり、クロツクパルスφおよび各制御
信号S0E,S1E…は各々第3図の回路各
部へ出力される。 〔2〕 動作 次に、上述したデータ誤り検出・訂正回路1
の動作を第5図〜第7図に示すタイミングチヤ
ートを参照して説明する。 最初に、第5図〜第7図について説明する。
まず、このデータ誤り検出・訂正回路1は1フ
レームFr内の各データW0〜W27、P0〜P3誤り
チエツクおよび訂正を第5図〜第7図に示すタ
イミング1〜93の間において行う。ここで、タ
イミング1の立上がり(左端)はシンドローム
演算部21の各演算回路21−1〜21−4に
おいてシンドロームS0〜S3の算出が終了した
時刻である。また、各タイミング1〜93はクロ
ツクパルスφをベースとしている。すなわち、
クロツクパルスφは各タイミング1〜93の境界
において立上る。また、波形図は第4図の各制
御信号S0E、S1E…の波形があり、Hレベルが
“1”信号を、Lレベルが“0”信号を表わし
ている。ここで、この波形図の見方を一例を挙
げて説明する。例えば、、第5図において制御
信号S0Eはタイミング2および11において
“1”信号となる。したがつて、第3図におけ
るSW(5)(第3図左上部)はタイミング2お
よび11において開状態となり、シンドローム
S0が内部バスINBSへ出力される。また、例え
ば信号PLSCALはタイミング2、11、15にお
いて“1”信号となる。したがつて、スイツチ
30(第3図中央部)はタイミング8、11、11
においてその端子Cと端子Aとが接続され、そ
の他のタイミング1〜21(除8、11、15)にお
いては端子Cと端子Bとが接続される。 また、第5図〜第7図は各形波図の下には第
3図各部の入力端のデータ、出力端のデータあ
るいはバスライン上のデータをタイミング1〜
93に対応して示している。例えば、第5図にお
いてINBSに欄は、内部バスINBS上のデータ
を示し、FAD(1)−Bの欄はフルアダFAD
(1)(第3図)の入力端子Bのデータを示し、
また、R(M)の欄はレジスタR(M)の出力デ
ータを示している。また、第5図および第6図
においては、タイミング18〜21が重複して示さ
れている。 また、第5図〜第7図には各種の省略信号が
用いられており、以下、これらについて説明す
る。まず、( )は数値変換されたデータを示
す。例えば(S1)はシンドロームS1の値を
ROM(1)(第3図)によつて数値変換した値
lg(S1)を示している。また、S01、S02、S11、
S12、S22の意味は各々第5図の四角の枠内に
示す。なお、ここに示されていないもの
(S03、S34等)も同様な法則で略記されたもの
である。また、S4、S5、S6の意味についても
第5図の四角の枠内に示す。 次に、誤り検出・訂正の過程を順次説明す
る。 (1) 誤り有無の判定(前記項参照) この判定はタイミング9〜13の間(第5図
に示す期間TM1参照)において行われる。
すなわち、まず、タイミング9においては、
内部バスINBSにシンドロールムS2が出力さ
れ、したがつて、単一誤り検出回路25の0
検出回路29から、シンドロームS2が「0」
であるか否かの判別結果が力される。この判
別結果は次のタイミング10において、第8
図に示すようにRa(1)から出力される。次
にタイミング10においては内部バスINBS
にシンドロームS1が出力され、したがつて
0検出回路29からシンドロームSが「0」
であるか否かの判別結果が出力される。この
判別結果は次のタイミング11においてRa
(1)から出力され、また、この時同時にRa
(1)内からシンドロームS2の判別結果がRa
(2)から出力される。これにより、AND
(2)からシンドロームS2、S1の各判別結果
の論理積が出力される(第8図参照)。以下、
同様の動作により、タイミング13において
は、AND(2)の出力が、第8図に示すよう
にシンドロームS0、S3の各判別結果の論理
積となり、また、Ra(8)の出力がシンドロ
ームS1、S2の各判別結果の論理積となり、
したがつて、AND(3)の出力がシンドロー
ムS0〜S3の各判別結果の論理積となる。こ
の結果、シンドロームS0〜S3が全て「0」
の場合(データ誤りがない場合)は、タイミ
ング13においてAND(3)の出力が“1”信
号となり、一方、シンドロームS0〜S3の中
に「0」以外の値が含まれている場合(誤り
がある場合)は、AND(3)の出力が“0”
信号となる。このAND(3)の出力はタイミ
ング13において“1”信号となる制御信号
TLDEOによつてRa(E0)に読込まれ、E0
フラグとして端子T6へ出力される。しかし
て、このE0フラグによつて誤りの有無の判
別が可能となる。 (2) 単一誤りの検出(前記項参照) この検出はタイミング2〜15の間において
行われる(第5図の期間TM2参照)。まず、
タイミング2において内部バスINBSにシン
ドロームS0が出力されると、周タイミング
2においてROM(1)から(S0)が出力さ
れる。この(S0)は次のタイミング3にお
いてDL(1)−aから出力される(第5図に
おけるDL(1)−aの欄参照)。また、タイミ
ング3において内部バスINBSにシンドロー
ムS2が出力されると、同タイミング3にお
いてROM(1)から(S2)が出力される。
したがつて、次のタイミング4においては、
DL(1)−a、DL(1)−bに各々(S2)、
(S0)が出力される。このタイミング4にお
いて、SEL(1)へ供給される制御信号
TAJKL、INV(1)へ供給れる制御信号
TAIVは共に“0”信号にある。したがつ
て、DL(1)−bの出力がSEL(1)を介して
INV(1)へ供給され、また、INV(1)は
単なるスルーとして動作し、この結果、タイ
ミング4においてDL(1)−aの出力がFAD
(1)の入力端子Aへ、DL(1)−bの出力が
FAD(1)の入力端子Bへ各々供給され、
FAD(1)から(S2)+(S0)、すなわち、
(SO2)が出力される。そして、この(SO2)
が次のタイミング5においてR(M)から出
力される(第5図R(M)の欄参照)。このタ
イミング5において、SEL(2)の制御信号
TOUTAは“0”信号にあり、したがつて、
同タイミング5においてR(M)の出力は
(S02)がSEL(2)を介してROM(2)のア
ドレス端子ADへ供給され、ROM(2)から
SO2が出力される。このSO2は次のタイミン
グ6においてDL(2)−aから、タイミング
7においてDL(2)−bから、タイミング8
においてD(2)−cから順次出力され、この
タイミング8においてEXOF(1)の入力端
子Bへ供給される。同様に、タイミング6に
おいてDL(1)−a、bから各々(S1)が出
力され、したがつてFAD(1)から(S11)
が出力され、タイミング7において、この
(S11)がR(M)から出力され、したがつ
て、ROM(2)かららS11が出力され、タイ
ミング8において、このS11がDL(2)−a
から出力される。このタイミング8において
SW(3)の制御信号DBSW3は“1”信号
にあり、したがつてSW(3)が開状態にあ
る。以上の結果、タイミング8において
EXOR(1)の入力端子A、Bに各々S11、
S02が供給され、しがたつて、EXOR(1)
からS11+S02=S4が出力される。また、こ
のタイミング8においてスイツチ30の制御
信号PLSALが“1”信号にあり、スイツチ
30の端子Cと端子Aとが接続されている。
したがつて、タイミング8においてDL(3)
−aの入力端子へS4が供給され、次のタイ
ミング9においてこのS4がDL(3)−aから
出力される(第5図参照)。次にタイミング
10においてS4がDL(3)−bから出力され
る。この時信号PLSCALは“0”信号にあ
り、したがつて、S4がDL(3)−aの入力端
へ供給される。次に、タイミング11におい
てS4が再びDL(3)−aから出力され、タイ
ミング12においてDL(3)−bから出力され、
タイミング13において再びDL(3)−aから
出力される。このタイミング13においてSW
(1)の制御信号DBSW1が“1”信号とな
り、DL(3)−aから出力されたS4がSW
(1)を介して内部バスINBSへ出力される
(第5図のINBSの欄参照)。以上が、タイミ
ング13においてS4が内部バスINBSへ出力さ
れる過程である。上記と同様の過程によつ
て、タイミング14においてS5が内部バス
INBSへ出力される。 ところで、前記第(5)式、第(6)式は、モジユ
ロ2の演算においては次の様に変換すること
が出来る。 S12−S0・S2=S12+S0・S2=S4=0
……(21) S22−S1・S3=S23+S1・S3=S5=0
……(22) そこで、このデータ誤り検出・訂正回路に
おいては、前記(7)〜(10)式とこの(21)、(22)
式とが共に成立するか否かを単一誤り検出部
25がタイミング9〜15の間においてチエツ
クする。すなわち、まずタイミング9、10に
おいては0検出回路29からシンドローム
S2、S1が「0」か否かの判断結果が各々出
力され、したがつて、第8図に示すように、
タイミング11においてRa(2)、Ra(1)か
ら各々S2、S1が「0」か否かの判断結果が
出力される。この結果、同タイミング11にお
いてOR(1)からS2、S1の判断結果の論理
和が出力される。そして、この論理和はタイ
ミング12においてRa(3)から出力される。
以下、同様に考察すれば明らかなように、タ
イミング11、12、13、14、15におけるOR
(1)、Ra(3)、Ra(4)、Ra(5)、Ra(6)
の各出力は各々第8図は示す通りとなり、こ
の結果、タイミング15において、Ra(4)か
らシンドロームS3が0か否かの判断結果と、
シンドロームS0が0否かの判断結果の論理
和が出力され、また、Ra(6)からシンドロ
ームS1、S2の各判断結果の論理和が出力さ
れる。したがつて、タイミング15における
NOR(1)の出力は、シンドロームS0〜S3
の各判断結果の論理和と否定となり、シンド
ロームS0〜S3が全て「0」でない場合、す
なわち、シンドロームS0〜S3が「0」であ
るか否かの判断結果が全て“0”の場合の
み、“1”信号を出力する。すなわち、タイ
ミング15におけるNOR(1)の出力は前記(7)
〜(10)式をいずれも満足する場合にのみ、“1”
信号となる。 他方、タイミング15におけるAND(2)の
出力は、第8図から明らかなように、S4、
S5が「0」か否かの各判断結果の論理積で
あり、したがつて、S4、S5が共に「0」の
場合にのみ“1”信号となる。すなわち、前
記(5)、(6)式が共に成立すりる場合にのみ、
“1”信号となる。 以上の結果、タイミング15におけるAND
(4)の出力は前記(5)〜(10)式がいずれも成立
する場合にのみ“1”信号となり、1つでも
成立しない場合“0”信号となる。そして、
このAND(4)の出力が制御信号TLDE1に
よつてRa(E1)に読込まれ、E1フラグとし
て端子T5へ出力される。しかして、この
E1フラグに基づいて単一誤りの有無を検出
することができる。 (3) 二重量誤りの検出(前記項参照) この二重誤りの検出は、前記項において
説明したように、前記(14)式〜(17)式を
満足するk、lの組を求めることにある。こ
こで、前記(14)、(15)式を各々第5図に示
す省略記号を用いて表せば、 αk+αl=S6/S4 ……(23) αk・αl=S5/S4 ……(24) となる。これら(23)、(24)式の各右辺を
各々αA、αBと置く。 αk+αl=S6/S4=αA ……(25) αk・αl=S5/S4=αB ……(26) 上記(25)式から次の式が得られる。 αK+αl+αA=0 ……(27) また、上記(26)式から次の式が得られ
る。 B=k+l ……(28) しかして、前記(14)〜(17)式を満足す
るk、lを求めるということは、前記(16)、
(17)式および上記(27)式、(28)式を満足
するk、lを求めることになる。 なお、上記値A、Bが各々シンドローム
S0〜S3から算出し得る値であることは勿論
である。 次に、二重誤り検出の過程を第9図に示す
フローチヤートを参照して説明する。 まず、lとしてB/2+1と置く(ステツ
プSP1)。次に、mを0とする(ステツプ
SP2)。なお、このmは仮想上のカウンタで
ある。次に、mをインクリメントする(ステ
ツプSP3)。次に、第(28)式に基づいてk
の値を算出する(ステツプSP4)。次に、上
記lおよびkの値を各々第(27)式の左辺に
代入して同左辺の演算を行い、その演算結果
CAを求める。(ステツプSP5)。次に、CA=
0か否かを判断し、この判断結果が「NO」
の場合はステツプSP7へ、「YES」の場合は
ステツプSP8へ進む。ステツプSP7ではl値
がBより大あるいはイコールであるか否かが
判断され、この判断結果が「NO」の場合は
ステツプSP9へ、「YES」の場合はステツプ
SP8へ進む。ステツプSP9では、lが値
「31」より大あるいはイコールであるか否か
が判断される。そして、この判断結果が
「NO」の場合はステツプSP10へ、また、
「YES」の場合はステツプSP8へ進む。ステ
ツプSP10では、lの値がインクリメントさ
れる。次いで、ステツプSP8では、mの値が
16より小あるいはイコールであるか否か判断
され、この判断結果が「YES」の場合はス
テツプSP3へ戻り、また「NO」の場合は、
ステツプSPP11へ進む。ステツプSP11では、
再びCAの値が「0」であるか否かがチエツ
クされる。そして、このチエツク結果が
「NO」の場合は「二重誤りなし」(ステツプ
SP12)と判断され、また、「YES」の場合は
「データWk、Wlに誤りあり」と判断される。 このように、上述した二重誤り検出におい
ては、まず、lををB/2+1と仮定してこ
の場合のkの値を前記(28)式から求め、次
いで得られろたk、lの組を(27)式に代入
して同(27)式を満足するか否かをチエツク
し、以下、同様のことをl=B/2+2、
B/2+3、…の各値について行うことによ
り、(27)式、(28)式を共に満足するk、l
の組を求めている。この場合、求められた
k、lの組は、lがl>B/2であり、一
方、kがk<B/2であるところから、前記
(17)式を満足している。また、上述したチ
エツクはlの値がl<B(ステツプSP7参照)
であり、かつ、l<31(ステツプSP9参照)
の場合のみ行うようになつており、したがつ
て、求められたk、lの組は前記(16)式を
満足している。また、データWO〜P3の合計
が32であるところから、lを16回変化させれ
ば必ず、k、lの組があるか否かが判定さ
れ、したがつて、ステツプSP3、SP4…SP8
なる試行程を16回繰返すようになつている。
(ステツプSP8参照)。 しかして、上述した過程によつて、二重誤
りの検出を行う回路が第3図における二重誤
り検出部24であり、以下、この検出部24
の動作を説明する。 まず、前述したように、第5図に示すタイ
ミング13、14において内部バスINBSにS4、
S5が各々出力される。また、タイミング15
においてはS4が、タイミング16においては
S6が各々内部バスINBSに出力される。な
お、上記タイミング13、14、15、16において
S4、S5、S4、S6が順次内部バスINBSへ出
力される理由は、前述した説明および第5図
に示すタイミングチヤートから明らかなよう
に、タイミング13から制御信号DBGW1が
“1”となり、かつタイミング15で信号
PLSCALが1度“1”に立ち上がることに
よる。タイミング13においてS4が内部バス
INBSへ出力されると、ROM(1)から
(S4)が出力され、この(S4)がタイミング
14においてDL(1)−aから出力される。ま
た、タイミング14においてS5が内部バス
INBSへ出力されると、ROM(1)から
(S5)がタイミング15においてDL(1)−a
から出力される。またこのタイミング15にお
いて、(S4)がDL(1)−bから出力される。
このタイミング15において、制御信号
TAJKLは“0”信号に、制御信号TDIVは
“1”信号にあり、したがつて、DL(1)−b
内の(S4)はSEL(1)を通過し、INV(1)
によつて反転されて、FAD(1)の入力端子
Bへ供給される。この結果、タイミング15に
おいてFAD(1)の出力は(S5)−(S4)、す
なわち、(S5/S4)となり、この(S5/S4)
がタイミング16においてR(M)から出力さ
れる。このタイミング16において、制御信号
TOUTAは“0”信号にあり、したがつて、
R(M)内の(S5/S4)がSEL(2)を介し
てR(B)へ供給される。この時、制御信号
TLDBは“1”信号にあり、したがつて、
タイミング16においてR(M)から出力され
た(S5/S4)は、同タイミング16において
R(B)に読込まれる。以後、このデータ
(S5/S4)は全処理が終了するまで(タイミ
ング93まで)R(B)に保持される。ここで、デ
ータ(S5/S4)は、前記(26)式から明ら
かなようにデータBのことである。 次に、上記と同様の過程によりタイミング
18においてデータ(S6/S4)がR(A)に読込
まれる。そして、このデータ(S6/S4)は、
以後、タイミング93までR(A)に保持される。
ここで、データ(S6/S4)は、前記(25)
式から明らかなようにデータAのことであ
る。 このようにして、タイミング18においてR
(A)、R(B)に各々データA、Bが用意される。
そして、このタイミング18からタイミング66
の間において二重誤りの検出が行われる(第
6図参照)。 すなわち、まずタイミング18において
HADの入力端へデータBが供給されること
から、制御信号TLDLAによりHADから
B/2+1が出力され、このデータB/2+
1が同タイミング18において、R(L)に読込ま
れる。次のタイミング19においては、R/(L)
からデータB/2+1(以下、l0とする)が
出力される。また、この時制御信号TKCAL
が“1”信号にあり、したがつて、AND
(5)が開状態にあると共に、INV(2)が
インバータとして動作する。この結果、タイ
ミング19においてFAD(2)の入力端子Aに
データBが、入力端子Bにデータ0(l0の否
定)が各々供給され、FAD(2)からB−l0、
すなわち、k0が出力される(第9図ステツプ
SP4参照)。このデータk0は次のタイミング
20においてR(KL)から出力され、ROM
(3)へ供給される。これにより、タイミン
グ20においてROM(3)からαKoが出力され、
EXOR(2)の入力端子Bへ供給される。 一方、タイミング19において、制御信号
TOUTAが“1”信号となり、R(A)内のデ
ータAがSEL(2)を介してROM(2)の入
力端へ供給され、ROM(2)からデータαA
が出力される。このデータαAは次のタイミ
ング20においてDL(2)−aから出力され、
SW(3)を介してSEL(4)へ供給される。
この時、SEL(4)の制御信号TALPAは
“1”信号にあり、したがつて、タイミング
20においてデータαAがSEL(4)を介して
EXOR(2)の入力端子Aへ供給される。以
上の結果、タイミング20において、EXOR
(2)の出力がαA+αKpとなり、このデータαA
+αKpが次のタイミング21においてDL(4)
から出力される。 また、タイミング20において、制御信号
TKCALは“0”信号にあり、したがつて、
ADN(5)が閉状態になると共に、INV
(2)が単なるスルーとして動作する。この
結果、タイミング20においてFAD(2)の入
力端子Aへデータ「0」が、入力端子Bへデ
ータl0が各々供給され、FAD(2)からデー
タl0が出力される。このデータl0は次のタイ
ミング21においてR(KL)から出力され、
ROM(3)へ供給される。これにより、
ROM(3)からαl 0が出力され、EXOR(2)
の入力端子Bへ供給される。 一方、こタイミング21において、制御信号
TARAは“0”信号にあり、したがつて、
DL(4)の内容αA+αK0がSEL(4)を介して
EXOR(2)の入力端子Aへ供給される。こ
の結果、タイミング21においてEXOR(2)
の出力はαA+αK0+αl0(第9図におけるステ
ツプSP5参照)となり、このデータαA+αK0
+αl0が0検出回路32の入力端へ供給される。
0検出回路32はEXOR(2)の出力が「0」
の時“0”信号を出力し、「0」以外の時は
“1”信号を出力する(第9図SP参照)。こ
こで、データαA+αK0+αl0が「0」でないと
すると、タイミング21において0検出回路23
から“1”信号が出力され、AND(1)の入
力端へ供給される。 また、タイミング21においては、制御信号
TADLが“”信号となり、この“1”信号
がAND(1)の入力端へ供給される。また、
このタイミング21においては、l0≦31かつl0
≦Bであり、したがつて、COMPおよび
FAD(2)の端子Cから各々“1”信号が出
力されている。この結果、タイミング21にお
いてAND(1)の出力が“1”信号となり、
この“1”信号がR(L)へ供給される。これに
より、HADへキヤリイ信号として供給され
る。これによりR(L)の出力の値に「1」が加
算され、HADの出力がl0+1(以下、l1とす
る)となり、このデータl1が次のタイミング
22においてR(L)から出力される。 以下、タイミング22〜24、25〜27、…64〜
66において同様の動作が繰り返され、これに
より、タイミング24、27、……66において
各々、EXOR(2)から、αA+αK1+αl1、αA
+αK2+αl2、…、αA+αK15+αl15が各々出力
され、また、0検出回路32からこれらの各デ
ータが「0」か否かの判断結果が出力され
る。 ところで、上記説明および第6図に示す各
データl1、k1…等はいずれもタイミング66ま
でEXOR(2)の出力が「0」にならなかつ
た場合であり、途中の過程においてEXOF
(2)の出力が「0」となつた場合、すなわ
ち、前記(16)、(17)、(27)、(28)式をいず
れも満足するk、lの組があつた場合には次
の様になる。すなわち、例えばタイミング24
においてEXOR(2)から出力されたデータ
αA+αK1+αl1が「0」であつた場合は、同タ
イミング24において0検出回路32から“0”
信号が出力され、AND(1)の入力端へ供給
される。この結果、タイミング24において制
御信号TADLが“1”信号に立上つても
AND(1)の出力は“0”信号を続け、した
がつて、R(L)の内容がインクリメントされる
ことはない。この結果、タイミング27におい
て再びEXOR(2)からデータαA+αK1+αl1
が出力され、0検出回路32から“0”信号
が出力され、以下、同び動作が繰り返され
る。すなわち、タイミング24において
EXOR(2)から出力されたデータαA+αK1
+αl1が「0」であつた場合は、以後、R(L)
の内容はl1に保持され、R(KL)からはタイ
ミング26、29、…65においてk1が、タイミン
グ27、30…66においてl1が各々出力され、
EXOR(2)からはタイミング27、30、…66
においてαA+αK1+αl1出力され、また、0検
出回路32からは、タイミング27、30、…66
において“0”信号が出力される。そして、
タイミング60において0検出回路32から
“0”信号が出力されると、インバータ33
の出力が“1””信号となり、この“1”信
号がタイミング66において“1”となる制御
信号TLDE2によりRa(E2)読込まれる。そ
して、このRa(E2)の内容がE2フラグとし
て端子T4へ出力される。しかして、この
E2フラグにより二重誤りがあるか否かを検
出することができる。 なお、タイミング66までの間にR(L)の内容
が31に達した場合、あるいは、l≧Bとなつ
た場合はCOMPあるいはFAD(2)の端子C
から“0”信号が出力され、したがつて、そ
の時点以降R(L)がインクリメントされること
はない(第9図のSP7、SP9参照)。 (4) 二重誤りの訂正(前記項参照) 前記(18)式は、前記(25)式を用いれ
ば、 Ek={S1+αl・S0}/αA ……(30) El={S1+αk・S0}/αA ……(31) と表すことができる。そして、これらの値
Ek、El求まれば、前記(19)式に基づいて
データWk、Wlの誤りを訂正することができ
る。 この二重誤りの訂正はタイミング71〜88
(第7図)の間において行われる。最初に、
データWlの訂正がタイミング71〜80の間
(第7図に示す期間TM3参照)において行わ
れる。すなわち、まず、タイミング71におい
てシンドロームS0が内部バスINBSへ出力さ
れると、ROM(1)から(S0)が出力され
る。この(S0)は次のタイミング72におい
てDL(1)−aから出力され、FAD(1)の
入力端子Aへ供給される。一方、このタイミ
ング72において、R(KL)の出力は誤りデー
タWkの位置を示すデータとなつている。こ
の理由は次の通りである。 制御信号TKCALはタイミング65において
“0”信号となり、以後、タイミング70まで
“0”信号を続ける。制御信号TKCALが
“0”信号になると、AND(5)の出力が
「0」となり、したがつて、FAD(2)入力
端子Aへ「0」が供給され、また、INV
(2)がスルーとして動作し、したがつて、
FAD(2)入力端子BへR(L)の出力、すなわ
ち、誤りデータWlの位置を示すデータlが
供給され、この結果、FAD(2)の出力が、
lとなる。そして、このlがタイミング66に
おいてR(KL)から出力される。以後、
FAD(2)の出力はタイミング70までlを続
け、したがつてR(KL)の出力がタイミング
71までlを続ける。次に、タイミング71にお
いて制御信号TKCALが“1”信号となる。
これにより、同タイミング71においてFAD
(2)の出力がB−l=kとなり、このデー
タkが次のタイミング72においてR(KL)か
ら出力される。なお、このR(KL)の出力の
タイミング72以降の変化は次の通りである。
まず、タイミング72において制御信号
TKCALが“0”になり、したがつて、同タ
イミング72においてFAD(2)の出力がlと
なり、次のタイミング73においてR(KL)か
ら再びlが出力される。以降、タイミング
84、87において制御信号TKCLが“1”信号
となることから、タイミング85、88において
(KL)の出力kとなり、他のタイミングにお
いてlとなる(第7図参照)。 このように、タイミング72においてR
(KL)の出力はkとなつている。また、この
タイミング72においてSEL(3)へ供給され
る制御信号TAJが“0”信号、SEL(1)へ
供給される制御信号TAJKLが“1”信号、
INV(1)へ供給される制御信号TDIVが
“0”信号にある。この結果、タイミング72
においてFAD(1)の入力端子Aに前述した
{S0)が、入力端子Bにkが各々供給され、
FAD(1)からk+(S0)、すなわち(αk・
S0)が出力される。そして、この(αk・S0)
が次のタイミング73においてR(M)から出
力される。このタイミング73においてSEL
(2)へは制御信号TOUTAとして“0”信
号が供給されている。したがつて、R(M)
に読込まれ(αk・S0)はSEL(2)を介して
ROM(2)供給され、ROM(2)から、
αk・SOが出力される。このαk・S0は次のタ
イミング74においてD(2)−aから出力さ
れ、次いで、タイミング76においてDL(2)
−cから出力され、EXOR(1)の入力端子
Bへ供給される。 他方、タイミング76において内部バス
INBSにシンドロームS1が出力され、また、
この時同時にSW(2)へ供給されている制
御信号DBSW2が“1”信号に立上る。こ
の結果、タイミング76においてシンドローム
S1がSW(2)を介してEXOR(1)の入力端
子Aへ供給され、EXOR(1)からα1k・S0
+S1(以下、と記す:第7図四角枠内参
照)が出力される。そして、このはタイミ
ング76において制御信号PLSCALが“1”
信号にあることから、スイツチ30を介し
DL(3)へ供給され、次のタイミング77にお
いてDL(3)−aから出力され、SW(1)を
介して内部バスINBSへ出力される。 タイミング77においてが内部バスINBS
へ出力されると、ROM(1)から()が
出力される。この()は、タイミング78に
おいてDL(1)−aから出力されFAD(1)
の入力端子Aへ供給される。一方、このタイ
ミング78において、SEL(2)の制御信号
TOUTA、SEL(3)の制御信号TAJ、SEL
(1)の制御信号TAJKL、INV(1)の制御
信号TDIVがいずれも“1”信号となり、こ
の結果、R(A)に記憶されているデータAが
SEL(2)、SEL(3)、SEL(1)を介して
INV(1)へ供給され、ここで反転されて
FAD(1)の入力端子Bへ供給される。これ
により、タイミング78においてFAD(1)か
ら()−A、すなわち、(/αA)が出力
される。ここで、 /αA={S1+αk・S0}/αA=El
……(32) であり(第(31)式参照)、したがつてタイ
ミング78におけるFAD(1)の出力は(El)
となる。そして、この(El)が次のタイミン
グ79におけるR(M)から出力され、SEL
(2)を介してROM(2)へ供給され、
ROM(2)からElが出力される。このElは
次のタイミング80においてDL(2)−aから
出力される。この時(タイミング80)、SW
(3)、SW(2)はいずれも開状態であり、
したがつて、DL(2)−aから出力されたEl
は、SW(3)、SW(2)を介して内部バス
INBSへ出力され、この内部バスINBSを介
してEXOR(3)の入力端子Bへ供給され
る。 他方、タイミング77においてSEL(3)の
制御信号TAJが“0”信号にあり、したが
つて同タイミング77においてR(KL)の出力
lがSEL(3)および端子T3を介してアドレ
ス制御回路8(第2図)へ供給される。アド
レス制御回路8は、同タイミング77において
このデータlを入力し、3タイミング後のタ
イミング80においてデータWlが記憶されて
いるRAM6のアドレスを出力する。これに
より、同タイミング80においてRAM6から
データWlが出力され、データバスDABS2
を介してEXOR(3)の入力端Aへ供給され
る。この結果、タイミング80において
EXOR(3)からWl+El、すなわち、正しい
データ<Wl>が出力される。この時、SW
(4)の制御信号DOSWは“1”信号にあ
り、したがつてデータ<Wl>はSW(4)を
介してDL(5)へ供給され、このDL(5)に
よつて3タイミング遅延され、タイミング83
においてデータバスDABS1(第2図)へ出
力される。一方、タイミング80において、R
(KL)の出力lがSEL(3)を介してアドレ
ス制御回路8へ供給される。アドレス制御回
路8は同タイミング80においてこのデータl
を入力し、3タイミング後のタイミング83に
おいてデータWlのアドレスをRAM6へ出力
する。これにより、データ<Wl>がRAM6
に書込まれる。 以上がデータWlの訂正の過的程である。
以上の過程と全く同様にして、タイミング79
〜88(期間TM4参照)においてデータWkの
訂正が行われる。なお、このデータWkの訂
正過程の説明は省略する。第7図のタイミン
グチヤートを参照されたい。 (5) 単一誤り訂正(前記項参照) この訂正はタイミング86〜92の間において
行われる。すなわち、まず、タイミング86に
おいて内部バスINBSへシンドロームS0が出
力され、次いでタイミング87において内部バ
スINBSへシンドロームS1が出力される。こ
の結果、タイミング87において(S0)が、
タイミング88において(S1)が各々DL(1)
−aから出力され、同タイミング88において
DL(1)−aから(S1)が、DL(1)−bから
(S0)が各々出力される。一方、このタイミ
ング88において、SEL(1)の制御信号
TAJKLが“0”信号、INV(1)の制御信
号TDIVが“1”信号にあり、したがつて、
FAD(1)の入力端子Bへ(S0)の各ビツト
を反転したデータが供給される。この結果、
タイミング88においてFAD(1)から(S1)
−(S0)、すなわち、(S1/S0)が出力され、
このデータ(S1/S0)が次のタイミング89
においてR(M)から出力される。ここで、
データ(S1/S0)は、前記(11)式から明
らかなように誤りデータWjの位置を示すデ
ータjである。そして、このデータjは、タ
イミング89においてSEL(2)の制御信号
TOUTA、SEL(3)の制御信号TAJが各々
“0”、“1”で、あることから、SEL(2)、
SEL(3)を介してアドレス制御回路8へ供
給される。アドレス制御回路8はこのデータ
jを入力し、3タイミング後のタイミング92
において、データWjのアドレスRAM6へ出
力する。これにより、タイミング92において
RAM6からデータWjが読み出され、データ
バスDABS2を介してEXVR(3)の入力端
子Aへ供給される。また、このタイミング92
においてシンドロームS0(=Ej)が内部ス
INBSへ出力され、同内部バスINBSを介し
てEXOR(3)の入力端子Bへ供給される。
この結果、タイミング92においてEXOR
(3)からWj+S0〕<Wj>が出力され、SW
(4)を介してDL(5)へ供給され、3タイ
ミング後のタイミング95においてデータバス
DABS1へ出力される。 他方、タイミング90,91において、内部バ
スINBSへシンドロームS0、S1が各々出力さ
れ、この結果、上記と同様の過程により、タ
イミング92においてデータjがアドレス制御
回路8へ出力される。アドレス制御回路8は
このデータjを受け、3タイミング後のタイ
ミング95においてデータWjjのアドレスを
RAM6へ出力する。これにより、データ<
Wj>がRAM6に読込まれる。 以上がデータ誤り検出・訂正回路1の詳細であ
る。 次に、第2図に示す構成要素10〜14につい
て説明する。 (i) エラーフラグ判定回路10 上述した説明においては、説明を簡略化する
ため、デイスク記録されるデータのフオーマツ
トを第1図に示すものとし、誤り訂正用データ
やP0〜P3の4データとしたが、実際には、1
フレームFr内に更に別の4つに誤り訂正用デ
ータQ0〜Q3が付加され、また、データの記録
順序もバラバラにされている(クロスインタリ
ーブ)。なお、この点に関しては、例えば特開
昭57−4629号公報に詳しい。そして、データ誤
り検出・訂正回路1は、まず誤り訂正用データ
P0〜P3に基づいて、前述した過程によりデー
タ誤りの検出・訂正を行い(C1デコードと称
される)、また、この際フラグE0〜E2を各々エ
ラーフラグ判定回路10へ出力する。エラーフ
ラグ判定回路10はC1デコード時に供給され
るフラグE0〜E2に基づいてC1フラグを作成
し、RAM6に書込む。ここで、C1フラグと
は、C1デコードにおいてチエツクされたデー
タに未訂正のデータが含まれているか否かを示
すフラグである。次に、データ誤り検出・訂正
回路1は誤り訂正用データQ0〜Q3に基づい
て、再びC1デコードと略同様にしそて誤りの
検出および訂正を行う(C2デコードと称され
る)と共に、フラグE0〜E2を各々エラーフラ
グ判定回路10へ出力する。またこの時、C1
フラグがエラーフラグ判定回路10へ供給され
る。エラーフラグ判定回路10はC2デコード
時のフラグE0〜E2およびC1フラグに基づいて
C2フラグを作成し、RAM6に書込む。このC2
フラグは各データW0〜W23が訂正済か否かを
示す(厳密には、データ誤りの確率が考慮して
いるレベルより高いか否かを示す)フラグであ
り、未訂正(すなわち誤りの確率が高い)のデ
ータに対応して“1”が書込まれる。 このように、エラーフラグ判定回路10は、
C1、C2フラグのの作成および書込みを行う回
路である。 なお、C1デコード時には、C2デコード時に
用いられる誤り訂正用データQ0〜Q3も信号デ
ータと同様に扱われる。すなわち、C2デコー
ド時においては、シンドローム演算時の全デー
タ数が28となる(音楽信号データ=24、誤り訂
正用データ=4。 (ii) フラグ検出回路11等 上述したC1デコード、C2デコードが終了す
ると、RAM6内の音楽信号データが、C2フラ
グと共に制御回路8の制御の下に順次読み出さ
れ、データバスDABS2に出力され、パラレ
ル/シリアル変換回路12へ供給される。この
時、フラグ検出回路11は、データに各々付加
されたC2フラグをチエツクし、そのデータが
訂正済か否かの判断を行い、未訂正の場合に制
御信号TEIを補正回路13へ出力する。補正回
路13はパラレル/シリアル変換回路12から
出力されるデータが未訂正データであるか否か
を制御信号TEIに基づいて検知し、未訂正でな
ければそのまま出力し、未訂正であつた場合
は、直線補間あるいは前置保持の手法でデータ
補正を行い、シリアル/パラレル変換回路14
へ出力する。シリアル/パラレル変換回路14
は、補正回路13から出力されるシリアルデー
タをパラレルデータに変換し、DAC(図示略)
へ出力する。このDACの出力がスピーカへ供
給されて、音楽が発生する。 以上説明したように、この発明によればシンド
ローム等を含む内部バス上のデータを数値変換手
段、加減算手段、逆変換手段、および加算出段か
らなる単一の循環系を介して効率的かつ迅速に処
理するとともに、この循環系の加減算手段の出力
を用い二重誤り状況を正確に判定した後、再び循
環系を利用して誤差データを内部バス上へ出力さ
せこれによりデータ訂正を行うことができ、リー
ドソロモン符号によるデータ二重誤りの検出およ
び短時間で、かつ、最小限のハードウエア構成に
よつて実行することができる効果が得られる。
(DAD)プレーヤにおいて用いられるデータ誤り
検出・訂正回路に関する。 〔背景技術〕 DADシステムにおいては、デイスクに最初か
らある欠陥、取扱い中に生じたデイスクの欠陥、
再生メカニズムの変動の乱れ等の原因で、データ
誤りが発生する。このデータ誤りを放置しておく
ことは、音楽信号再生上極めて好ましくなく、し
たがつて、DADプレーヤにおいては、このデー
タ誤りを検出し、訂正する回路が不可欠である。 さて、このデータ誤りを検出する方法として、
リードソロモン符号による方法が知られている。
以下、この方法について説明する。まず、デイス
クには音楽信号データと共に、予め誤り訂正用デ
ータを記録する。第1図はデイスクに各データが
記録されているところを示す概略図であり、この
図に示す例においては、1フレームFr(誤り訂正
のためのデータ単位)が信号データW0〜W27(各
8ビツト)と、誤り訂正用データP0〜P3(各8ビ
ツト)と、同期パターンSYNCとから構成されて
いる。(なお、実際のデイスクでは、これらに加
えてコントロールデータ、前記誤り訂正用データ
PO〜P3とは更に別の誤り訂正用データが、記録
されているが、ここでは説明を簡略化するために
省略している。また、これら各データはEFM
(Eight to Fourteen Modulation)方式により変
調されてデイスクに記録されている。)そして、
誤り訂正用データP0〜P3の各値は各々次の式を
満足するように設定されている。 なお、この(1)式におけるαはF(X)=X8+X4
+X3+X2+1を法とする原始元である。 次に、再生時においては第1図に示す各データ
W0〜W27およびP0〜P3を各々読出し、この読出
した各データに基づいて次の演算によつてシンド
ロームS0〜S3を求める。 そして、このシンドロームS0〜S3の各値に基
づいて、以下のようにしてデータW0〜W27、P0
〜P3の誤りの有無の判定、検出および訂正を行
う。 なお、このリードソロモン符号法においては信
号データW0〜W27と、誤り訂正用データP0〜P3
とを全く区別しない。すなわち、誤り訂正用デー
タP0〜P3は、実質的には信号データW0〜W27に
続く仮想的な信号データW28〜W31と見倣すこと
ができ、したがつて誤り訂正用データP0〜P3の
誤りも検出することができる。そして、データ
P0〜P3の誤りは各々、データW28〜W31の誤り
として認識し得る。例えば、30番目のデータW29
が誤りであると検出された場合は、誤り訂正用デ
ータP1が誤つていることを意味する。 誤りの有無の判定 なる式が成立するか否かを調べる。成立すれ
ばデータW0〜W27、P0〜P3のいずれにも誤り
がなく、成立しなければデータW0〜W27、P0
〜P3の内の1つあるいは複数に誤りがある。 単一誤り検出 いま板の第j番目のデータWjのみに誤りが
あるとすると、 なる式が成立する。ただし、この式においてEj
は正しいデータWj(以下、この正しいデータ
Wjを<Wj>と記す)とデイスクから読み出さ
れたデータWjとの差(すなわち、データ誤差
であり、誤りパターンともいう)である。この
(4)式から、次の式が得られる。 S12=S0・S2 ……(5) S22=S1・S3 ……(6) また、データWjの誤りがあれば、 S0≠0 ……(7) S1≠0 ……(8) S2≠0 ……(9) S3≠0 ……(10) なる式が成立する。したがつて、上記(5)〜(10)式
が成立するか否かを調べ、いずれも成立すれ
ば、データWjのみに誤りがあることが検出さ
れる。この場合、そのデータ誤差Ejはシンドロ
ームS0である。 単一誤りの訂正 前記(4)式から、 S1/S0=αj ……(11) なる式が導かれる。したがつて、この(11)式左辺
の演算を行い、その演算結果を数値変換するこ
とにより、誤りデータの位置jが検出される。
そこで、デイスクから読み出されたデータWj
にデータ誤差Ej=S0を加算し、正しいデータ
<Wj>を得る。 Wj+Ej=<Wj> ……(12) 二重誤りの検出 いま仮にデータWkとWlとに誤りがあるとす
ると、 なる式が成立する。ただし、この(13)式にお
いて、Ek、Elは各々データWk、Wlのデータ
誤差である。この(13)式から次の式が得られ
る。 αk+αk=S1・S2+S0・S3/S12+S0・S2 ……(14) αk・αl=S22+S1・S3/S12+S0・S2 ……(15) また、この例の場合、 0≦k、l≦31 ……(16) k≠l ……(17) なる式が成立する。なおここで、k、l=28〜
31は前述したように誤り訂正用データP0〜P3
に誤りがある場合である。 しかして、上記第(14)式、第(15)式の右
辺の値をシンドロームS0〜S3から求め、次い
で上記(14)〜(17)式を満足するk、lの組
を求める。このk、lの組が求まれば、データ
Wk、Wlに各々誤りがあることになり、一方、
求まらず、かつ誤りがあり、しかもそれが単一
誤りでないならば、データW0〜W27、P0〜P3
に3個以上であることになる。なお、シンドロ
ームS0〜S3によつては、三重誤り以上の誤り
データ位置の検出は不可能である。 二重誤りの訂正 データWk、Wlに各々誤りがある場合、各デ
ータ電気Ek、Elを各々次式に基づいて求める。 Ek El=1/αk+αlS1+αl・SO S1+αk・SO ……(18) 次に、上記の過程によつて検出されたK、l
の値に対応するデータWk、Wlに各々、データ誤
差Ek、Elを加算し、 Wk+Ek=<Wk> ……(19) Wl+El=<Wl> ……(20) これにより、正しいデータ<Wk>、<Wl>を得
る。 以上がリードソロモン符号によるデータ誤りの
検出および訂正方法である。 (発明の目的) この発明は上述したリードソロモン符号による
データ誤り、等に二重誤りの検出および訂正を短
時間で、かつ、最小限のハードウエア構成によつ
て実行することができるデータ誤り検出・訂正回
路を提供することを目的としている。 〔発明の特徴〕 この発明は、次の各構成要件に備えたことを特
徴としている。 (a) データ誤りを含むデータが出力されるデータ
バスと、 (b) データ誤り検出・訂正のための内部バスと、 (c) データバスに出力されたデータから前記リー
ドソロモン符号のシンドロームを演算し所定タ
イミングで前記内部バスへ出力するシンドロー
ム演算手段と、 (d) 前記内部バスに生じたシンドロームを含むデ
ータを前記リードソロモン符号のガロア体GF
の元αXに対応させてαX→Xに数値変換する数
値変換手段と、 (e) この数値変換手段から得られる所定タイミン
グの数値同志を加減算する加減算手段と、 (f) この加減算手段の出力を前記ガロア体GFの
元αXに対応させてX→αXに逆変換し元の形の
データに戻す逆変換手段と、 (g) この逆変換手段から得られる所定タイミング
のデータ同志を加算して前記内部バスに出力す
る加算手段と、 (h) 前記加減算手段の出力に基づいてデータ二重
誤りの有無および二重誤り位置を検出するデー
タ誤り検出手段と、 (i) データの二重誤り位置に基づき前記数値変換
手段、加減算手段、逆変換手段、および加算手
段からなる循環系を介して前記内部バスに誤差
データを出力させこの内部バス上の誤差データ
で前記データバス上の誤りデータを訂正するデ
ータ訂正手段と、 (j) 前記シンドローム演算手段と前記内部バスと
の間、前記数値変換手段と前記加減算数手段と
の間、前記加減算手段と前記逆変手段との間、
前記逆変換手段と前記加算手段との間、前記加
算手段と前記内部バスとの間、および前記デー
タ誤り検出手段と前記加減手段との間を各々接
続する複数の接続手段と、 (k) これら各接続手段を制御するタイミング信号
を発生するタイミング信号発生手段。 〔実施例の説明〕 第2図はこの発明の一実施例によるデータ誤り
検出・訂正回路1を適用したCD(コンパクトデイ
スク)プレーヤの要部の構成を示すブロツク図で
ある。なお、以下の説明においては、デイスクに
記録されているデータのフオーマツトを第1図に
示すものであるとする。第2図において、信号
INPはデイスクから光学系を介して読み出された
信号(EFM変調された信号)であり、この信号
INPは受信回路2へ入力される。受信回路2は信
号INPに含まれるデータビツトをEFM復調回路
3へ供給すると共に、信号INPに含まれている同
期パターンSYNCに基づいてフレーム同期信号
VFSYNCを作成し、アドレス制御回路8へ出力
する。EFM復調回路3は、EFM変調された1シ
ンボル=14ビツトのデータをもとの1シンボル=
8ビツトのデータに復調し、バツフアレジスタ4
へ順次直列に供給する。バツフアレジスタ4は
EFM復調回路3から供給されるデータを一時記
憶するレジスタであり、EFM復調回路3から出
力される直列データを並列データに変換する直一
並変換回路および複数のレジスタを有して構成さ
れ、その出力がゲート回路7へ供給される。書込
み制御回路5は、バツフアレジスタ4の書込みお
よび読出しを制御する回路であり、アドレス制御
回路8から出力指令EFMDが供給された場合に、
制御信号WEをRAM(ランダムアクセスメモリ)
6のリード/ライト制御端子R/Wおよびゲート
回路7の制御端子へ各々出力する。これにより、
RAM6が書込み可能状態となると共に、ゲート
回路7が開状態となり、バツフアレジスタ4内の
データがゲート回路7およびRAM6の書込み用
データバスDABS1を介してRAM6へ供給さ
れ、アドレス制御回路8から出力されているアド
レスに書込まれる。また、この書込み制御回路5
はバツフアレジスタ4内のデータがRAM6へ出
力された時点で制御信号VSYMBをアドレス制
御回路8へ出力する。RAM6はデイスクから読
み出された各データ、すなわち、信号データWO
〜W27および誤り訂正用データP0〜P3が記憶さ
れるメモリであり、アドレス制御回路8から端子
ADへ供給されるアドレス信号によつて、アドレ
スが制御され、また、読み出されたデータは出力
用データバスDABS2へ出力される。アドレス制
御回路8は、フレーム同期信号VFSYNC、制御
信号VSYMBおよび制御信号EFMDに基づいて
書込みアドレスを作成したり、書込まれたデータ
のうち、誤り処理に要するデータ(W0〜W27、
P0〜P3)を読み出すのに必要なアドレスを作成
したり、また、データ誤り検出・訂正回路1から
出力される。誤りデータの位置に示すデータj、
k、lに基づいて誤りデータが記憶されているア
ドレスを指示するアドレス信号を作成し、RAM
6へ入出力する等、各種のアドレス制御を行う。 データ誤り検出・訂正回路1はアドレス制御回
路8の制御の下にRAM6から順次出力されるデ
ータを読込み、リードソロモン復号法によつて誤
りがあるか否かのチエツクを行い、誤りが検出さ
れた場合はその訂正を行う回路である。 なお、9はタイミング制御回路であり、これは
データ誤り検出訂正回路1、アドレス制御回路8
等を含む装置全体を制御するための各種タイミン
グ信号を発生するものである。(特に、データ誤
り検出、訂正に関係する部分は第4図にタイミン
グ信号発生回路27として抜き出して示してあ
る。)また、図に示す構成要素10〜14につい
ては最後に説明する。 以下、この発明に係るデータ誤り検出・訂正回
路1について詳述する。 〔データ誤り検出・訂正回路1の詳細〕 〔1〕 各部も構成およよび機能 第3図および第4図は共にデータ誤り検出・
訂正回路1の構成を示すブロツク図である。 最初に、第3図における各記号について説明
する。 ROM( ):リードオンリーメモリ FAD( ):フルアダー INV( ):インバータ SEL( ):セレクタ R( ):8ビツトレジスタ DL( ):デイレイレジスタ(8ビツト) EXOR( ):イクスクルーシブオアゲート SW( ):スイツチ回路 HAD( ):ハーフアダー COMR:比較器 Ra( ):1ビツトレジスタ AND:アンドゲート OR( ):オアゲート NOR( ):ノアゲート 以下、これらの記号を用いて説明を行う。 次に、第3図および第4図の各部の構成を説
明する。 このデータ誤り検出・訂正回路1は大きく分
けると、シンドローム演算部21と、乗除算部
22と、加減算部23と、二重誤り検出部24
と、単一誤り検出部25と、データ訂正部26
と、これに加えて第2図に示したタイミング信
号制御回路9の一部であるタイミング信号発生
回路27(第4図)とから構成されている。 (1) シンドローム演算部21 このシドローム演算部21は前記第(2)式に
示すシンドロームS0〜S3を算出する回路で
あり、シンドローム演算回路21−1〜21
−4から構成される。シンドローム演算回路
21−1はデータバスDABS2(第2図参
照)を介して供給される、1フレームFr内
の各データW0〜W27、P0〜P3を順次累算す
ることによりシンドロームS0(8ビツト)を
算出し、この算出結果を記憶すると共に、
SW(5)へ出力する。同様に、シンドロー
ム演算回路21−2は、各データW0〜W27、
P0〜P3に各々αn(n=0〜31)を乗算して累
算することにより、シンドロームS1を算出
し、この算出結果を記憶すると共に、SW
(6)へ出力する。シンドローム演算回路2
1−3,21−4も同様にしてシンドローム
S2、S3を各々算出し、SW(7)、SW(8)へ
出力する。 (2) 乗降算部22 この乗除算部22は、例えば前記第(5)、(6)
式のシンドローム乗算、第(11)式のシドローム
除算、あるいは第(18)式の乗除算等を行う
回路であり、主要部の構成および機能は次の
通りである。 (2‐1) ROM(1) このROM(1)は、内部バスINBSを介
してアドレス端子ADへ供給されるデータ
(Dとする)を数値変換する回路であり、
8ビツトデータDをGF(28)の元αXに対
応させてαx→Xの変換を行う。(以下、こ
の変換をlg〔D〕と表記する。)そして、
RAM(1)にはアドレスD内に予め値lg
〔D〕が記録されている。ここで、この
ROM(1)を設けた理由は乗除算を加減
算によつて処理するため、および、前記第
(11)式の演算結果からjを求める時にこの数
値変換が必要となるためである。 (2‐2) DL(1) 8ビツトのレジスタa,bから構成され
るデイレイジスタであり、クロツクパルス
φ(第4図参照)に基づきて入力データが
転送される。 (2‐3) INV(1) 制御信号TDIVが“1”信号の時にイン
バータとなり、“0”信号の時にはスルー
となる。二重誤り検出部24内のINV
(2)も全く同一構成である。 (2‐4) FAD(1) 数値変換されたデータの加減算を行う。
すなわち、INV(1)がスルーとして動作
する場合は加算器として動作し、INV
(1)がインバータとして動作する場合は
減算器として動作する。このFAD(1)は
実質的にデータの乗除算を行う。 (3) 加減算部23 この加減算部23は、例えば前記第(5)式が
成立するか否かを調べる際必要となる「S12
−S0・S2」の減算、前記第(14)式、第
(15)式の各右辺の加算等を行う回路である。
なおここで、シンドロームS0〜S3の演算は
モジユロ2の演算によつて行われる。すなわ
ち、加算は各対応ビツトのイクスクルーシブ
オアをとることによつて行われ、したがつて
桁上げがなく、また、減算は加算と同一演算
となる。以下、主要部の構成および機能を説
明する。 (3‐1) ROM(2) このROP(2)は数値変換されたデータ
lg〔D〕を逆変換し、データDに戻すため
のROMであり、そのアドレス端子ADへ
データlg〔D〕が供給されると、データD
をDL(2)へ出力する。 (3‐2) DL(2) 8ビツトのレジスタa,b,cから構成
されるデイレイレジスタであり、クロツク
パルスφに基づいて入力データが転送され
る。 (3‐3) EXOR(1) モジユロ2の加減算を行うイクスクール
シブオアゲートである。 (3‐3) スイツチ30 このスイツチ30は制御信号PLSCAL
が“1”信号の時、端子CとAとが接続さ
れ、“0”信号の時、端子CとBとが接続
されるスイツチである。 (4) 二重誤り検出部24 データW0〜27、P0〜P3に二重誤りがある
か否かを検出する回路である。 (4‐1) HAD このHADは制御信号TLDLAに基づい
て8ビツトのレジスタR(B)の出力の1/2に
「1」を加算してR(L)の初期設定をしたり、
R(L)からフイードバツクされた値に、
AND(1)の出力をキヤリイとして入力
し、「1」を加算したりする回路である。
すなわちR(B)の下位第2ビツト(LSBの
次のビツト)から第6ビツトまで、あるい
はR(L)の出力がHADの入力データとして
供給され、TADは制御信号TLDLAは
“1”の時は、R(B)の値の1/2に、また
“1”の時は、R(L)の値に「1」を加算し
て出力する。なお、R(B)の出力の内の5ビ
ツトのみをHADの入力としている理由は、
R(B)の上位2ビツトが実際上は、“0、0”
であるからである。 (4‐2) R(L) HADの出力を一時的に保持する5ビツ
トレジスタである。 (4‐3) COMP レジスタR(L)の出力と予め内部設定され
ている定数「31」とを比較し、R(L)の出力
が「31」以上の場合に“0”信号を、「31」
未満の場合に“1”信号を各々出力する比
較器である。 (4‐4) FAD(2) 入力端子A,Bへ各々入力されるデータ
を加算し、加算結果を出力端子Sから出力
するフルアダであるが、他に特別の比較機
能を有している。すなわち、このFAD
(2)は入力端子Bののデータが入力端子
Aのデータより小の場合に端子Cから
“1”信号を出力し、また、大または等し
い場合には“0”信号を出力する。 (4‐5) ROM(3) ROM(2)と同様に、数値変換された
データの逆変換を行うためのROMであ
る。 (4‐6) Ra(E2) 1ビツトのフラグレジスタであり、二重
誤りが検出された場合に“1”信号が書込
まれる。この“1”信号はE2フラグとし
て、端子T4を介しエラーフラグ判定回路
10(第2図)へ出力される。 (5) 単一誤り検出部25 データW0〜W27、P0〜P3に単一誤りがあ
るか否かを検出する回路である。 (5‐1) 0検出回路29 この回路29は入力されるデータが
「0」であるか否かを検出する回路であり、
「0」であつた場合に“1”信号を、「0」
でなかつた場合に“0”信号を各々出力す
る。 (5‐2) Ra(E0) 1ビツトのフラグレジスタであり、前記
第(3)式が成立する場合に“1”信号が書込
まれる。この“1”信号はE0フラグとし
て、端子T6を介してエラーフラグ判定回
路10へ出力される。 (5‐3) Ra(E1) 1ビツトのフラグレジスタであり、単一
誤りが検出された場合に“1”信号が書込
まれる。この“1”信号はE1フラグとし
て、端子T5を介してエヤーフラグ判定回
路10へ供給される。 (6) データ訂正部26 データ訂正部26は、前記第(12)式、第
(19)式、第(20)式の各演算を行うもので、
データバスDABS2を介して供給されるデー
タWj、Wk、Wlに各々内部バスINBSを介し
て供給される誤差データEj、Ek、Elを
EXOR(3)において加算し、この加算結果
<Wj>、<Wk>、<Wl>を各々DL(5)お
よび端子T2を介してRAM6(第2図)へ
出力する。 (7) タイミング信号発生回路27 このタイミング信号発生回路27は、実際
には第1図に示したタイミング制御回路9の
一部であり、これは水晶振動子27aの固有
振動数に対応するクロツクパルスφを発生す
ると共に、さらに、このクロツクパススφを
タイムベースとした各制御信号S0E,S1
E…(第5図〜第7図参照)を各々発生する
回路であり、クロツクパルスφおよび各制御
信号S0E,S1E…は各々第3図の回路各
部へ出力される。 〔2〕 動作 次に、上述したデータ誤り検出・訂正回路1
の動作を第5図〜第7図に示すタイミングチヤ
ートを参照して説明する。 最初に、第5図〜第7図について説明する。
まず、このデータ誤り検出・訂正回路1は1フ
レームFr内の各データW0〜W27、P0〜P3誤り
チエツクおよび訂正を第5図〜第7図に示すタ
イミング1〜93の間において行う。ここで、タ
イミング1の立上がり(左端)はシンドローム
演算部21の各演算回路21−1〜21−4に
おいてシンドロームS0〜S3の算出が終了した
時刻である。また、各タイミング1〜93はクロ
ツクパルスφをベースとしている。すなわち、
クロツクパルスφは各タイミング1〜93の境界
において立上る。また、波形図は第4図の各制
御信号S0E、S1E…の波形があり、Hレベルが
“1”信号を、Lレベルが“0”信号を表わし
ている。ここで、この波形図の見方を一例を挙
げて説明する。例えば、、第5図において制御
信号S0Eはタイミング2および11において
“1”信号となる。したがつて、第3図におけ
るSW(5)(第3図左上部)はタイミング2お
よび11において開状態となり、シンドローム
S0が内部バスINBSへ出力される。また、例え
ば信号PLSCALはタイミング2、11、15にお
いて“1”信号となる。したがつて、スイツチ
30(第3図中央部)はタイミング8、11、11
においてその端子Cと端子Aとが接続され、そ
の他のタイミング1〜21(除8、11、15)にお
いては端子Cと端子Bとが接続される。 また、第5図〜第7図は各形波図の下には第
3図各部の入力端のデータ、出力端のデータあ
るいはバスライン上のデータをタイミング1〜
93に対応して示している。例えば、第5図にお
いてINBSに欄は、内部バスINBS上のデータ
を示し、FAD(1)−Bの欄はフルアダFAD
(1)(第3図)の入力端子Bのデータを示し、
また、R(M)の欄はレジスタR(M)の出力デ
ータを示している。また、第5図および第6図
においては、タイミング18〜21が重複して示さ
れている。 また、第5図〜第7図には各種の省略信号が
用いられており、以下、これらについて説明す
る。まず、( )は数値変換されたデータを示
す。例えば(S1)はシンドロームS1の値を
ROM(1)(第3図)によつて数値変換した値
lg(S1)を示している。また、S01、S02、S11、
S12、S22の意味は各々第5図の四角の枠内に
示す。なお、ここに示されていないもの
(S03、S34等)も同様な法則で略記されたもの
である。また、S4、S5、S6の意味についても
第5図の四角の枠内に示す。 次に、誤り検出・訂正の過程を順次説明す
る。 (1) 誤り有無の判定(前記項参照) この判定はタイミング9〜13の間(第5図
に示す期間TM1参照)において行われる。
すなわち、まず、タイミング9においては、
内部バスINBSにシンドロールムS2が出力さ
れ、したがつて、単一誤り検出回路25の0
検出回路29から、シンドロームS2が「0」
であるか否かの判別結果が力される。この判
別結果は次のタイミング10において、第8
図に示すようにRa(1)から出力される。次
にタイミング10においては内部バスINBS
にシンドロームS1が出力され、したがつて
0検出回路29からシンドロームSが「0」
であるか否かの判別結果が出力される。この
判別結果は次のタイミング11においてRa
(1)から出力され、また、この時同時にRa
(1)内からシンドロームS2の判別結果がRa
(2)から出力される。これにより、AND
(2)からシンドロームS2、S1の各判別結果
の論理積が出力される(第8図参照)。以下、
同様の動作により、タイミング13において
は、AND(2)の出力が、第8図に示すよう
にシンドロームS0、S3の各判別結果の論理
積となり、また、Ra(8)の出力がシンドロ
ームS1、S2の各判別結果の論理積となり、
したがつて、AND(3)の出力がシンドロー
ムS0〜S3の各判別結果の論理積となる。こ
の結果、シンドロームS0〜S3が全て「0」
の場合(データ誤りがない場合)は、タイミ
ング13においてAND(3)の出力が“1”信
号となり、一方、シンドロームS0〜S3の中
に「0」以外の値が含まれている場合(誤り
がある場合)は、AND(3)の出力が“0”
信号となる。このAND(3)の出力はタイミ
ング13において“1”信号となる制御信号
TLDEOによつてRa(E0)に読込まれ、E0
フラグとして端子T6へ出力される。しかし
て、このE0フラグによつて誤りの有無の判
別が可能となる。 (2) 単一誤りの検出(前記項参照) この検出はタイミング2〜15の間において
行われる(第5図の期間TM2参照)。まず、
タイミング2において内部バスINBSにシン
ドロームS0が出力されると、周タイミング
2においてROM(1)から(S0)が出力さ
れる。この(S0)は次のタイミング3にお
いてDL(1)−aから出力される(第5図に
おけるDL(1)−aの欄参照)。また、タイミ
ング3において内部バスINBSにシンドロー
ムS2が出力されると、同タイミング3にお
いてROM(1)から(S2)が出力される。
したがつて、次のタイミング4においては、
DL(1)−a、DL(1)−bに各々(S2)、
(S0)が出力される。このタイミング4にお
いて、SEL(1)へ供給される制御信号
TAJKL、INV(1)へ供給れる制御信号
TAIVは共に“0”信号にある。したがつ
て、DL(1)−bの出力がSEL(1)を介して
INV(1)へ供給され、また、INV(1)は
単なるスルーとして動作し、この結果、タイ
ミング4においてDL(1)−aの出力がFAD
(1)の入力端子Aへ、DL(1)−bの出力が
FAD(1)の入力端子Bへ各々供給され、
FAD(1)から(S2)+(S0)、すなわち、
(SO2)が出力される。そして、この(SO2)
が次のタイミング5においてR(M)から出
力される(第5図R(M)の欄参照)。このタ
イミング5において、SEL(2)の制御信号
TOUTAは“0”信号にあり、したがつて、
同タイミング5においてR(M)の出力は
(S02)がSEL(2)を介してROM(2)のア
ドレス端子ADへ供給され、ROM(2)から
SO2が出力される。このSO2は次のタイミン
グ6においてDL(2)−aから、タイミング
7においてDL(2)−bから、タイミング8
においてD(2)−cから順次出力され、この
タイミング8においてEXOF(1)の入力端
子Bへ供給される。同様に、タイミング6に
おいてDL(1)−a、bから各々(S1)が出
力され、したがつてFAD(1)から(S11)
が出力され、タイミング7において、この
(S11)がR(M)から出力され、したがつ
て、ROM(2)かららS11が出力され、タイ
ミング8において、このS11がDL(2)−a
から出力される。このタイミング8において
SW(3)の制御信号DBSW3は“1”信号
にあり、したがつてSW(3)が開状態にあ
る。以上の結果、タイミング8において
EXOR(1)の入力端子A、Bに各々S11、
S02が供給され、しがたつて、EXOR(1)
からS11+S02=S4が出力される。また、こ
のタイミング8においてスイツチ30の制御
信号PLSALが“1”信号にあり、スイツチ
30の端子Cと端子Aとが接続されている。
したがつて、タイミング8においてDL(3)
−aの入力端子へS4が供給され、次のタイ
ミング9においてこのS4がDL(3)−aから
出力される(第5図参照)。次にタイミング
10においてS4がDL(3)−bから出力され
る。この時信号PLSCALは“0”信号にあ
り、したがつて、S4がDL(3)−aの入力端
へ供給される。次に、タイミング11におい
てS4が再びDL(3)−aから出力され、タイ
ミング12においてDL(3)−bから出力され、
タイミング13において再びDL(3)−aから
出力される。このタイミング13においてSW
(1)の制御信号DBSW1が“1”信号とな
り、DL(3)−aから出力されたS4がSW
(1)を介して内部バスINBSへ出力される
(第5図のINBSの欄参照)。以上が、タイミ
ング13においてS4が内部バスINBSへ出力さ
れる過程である。上記と同様の過程によつ
て、タイミング14においてS5が内部バス
INBSへ出力される。 ところで、前記第(5)式、第(6)式は、モジユ
ロ2の演算においては次の様に変換すること
が出来る。 S12−S0・S2=S12+S0・S2=S4=0
……(21) S22−S1・S3=S23+S1・S3=S5=0
……(22) そこで、このデータ誤り検出・訂正回路に
おいては、前記(7)〜(10)式とこの(21)、(22)
式とが共に成立するか否かを単一誤り検出部
25がタイミング9〜15の間においてチエツ
クする。すなわち、まずタイミング9、10に
おいては0検出回路29からシンドローム
S2、S1が「0」か否かの判断結果が各々出
力され、したがつて、第8図に示すように、
タイミング11においてRa(2)、Ra(1)か
ら各々S2、S1が「0」か否かの判断結果が
出力される。この結果、同タイミング11にお
いてOR(1)からS2、S1の判断結果の論理
和が出力される。そして、この論理和はタイ
ミング12においてRa(3)から出力される。
以下、同様に考察すれば明らかなように、タ
イミング11、12、13、14、15におけるOR
(1)、Ra(3)、Ra(4)、Ra(5)、Ra(6)
の各出力は各々第8図は示す通りとなり、こ
の結果、タイミング15において、Ra(4)か
らシンドロームS3が0か否かの判断結果と、
シンドロームS0が0否かの判断結果の論理
和が出力され、また、Ra(6)からシンドロ
ームS1、S2の各判断結果の論理和が出力さ
れる。したがつて、タイミング15における
NOR(1)の出力は、シンドロームS0〜S3
の各判断結果の論理和と否定となり、シンド
ロームS0〜S3が全て「0」でない場合、す
なわち、シンドロームS0〜S3が「0」であ
るか否かの判断結果が全て“0”の場合の
み、“1”信号を出力する。すなわち、タイ
ミング15におけるNOR(1)の出力は前記(7)
〜(10)式をいずれも満足する場合にのみ、“1”
信号となる。 他方、タイミング15におけるAND(2)の
出力は、第8図から明らかなように、S4、
S5が「0」か否かの各判断結果の論理積で
あり、したがつて、S4、S5が共に「0」の
場合にのみ“1”信号となる。すなわち、前
記(5)、(6)式が共に成立すりる場合にのみ、
“1”信号となる。 以上の結果、タイミング15におけるAND
(4)の出力は前記(5)〜(10)式がいずれも成立
する場合にのみ“1”信号となり、1つでも
成立しない場合“0”信号となる。そして、
このAND(4)の出力が制御信号TLDE1に
よつてRa(E1)に読込まれ、E1フラグとし
て端子T5へ出力される。しかして、この
E1フラグに基づいて単一誤りの有無を検出
することができる。 (3) 二重量誤りの検出(前記項参照) この二重誤りの検出は、前記項において
説明したように、前記(14)式〜(17)式を
満足するk、lの組を求めることにある。こ
こで、前記(14)、(15)式を各々第5図に示
す省略記号を用いて表せば、 αk+αl=S6/S4 ……(23) αk・αl=S5/S4 ……(24) となる。これら(23)、(24)式の各右辺を
各々αA、αBと置く。 αk+αl=S6/S4=αA ……(25) αk・αl=S5/S4=αB ……(26) 上記(25)式から次の式が得られる。 αK+αl+αA=0 ……(27) また、上記(26)式から次の式が得られ
る。 B=k+l ……(28) しかして、前記(14)〜(17)式を満足す
るk、lを求めるということは、前記(16)、
(17)式および上記(27)式、(28)式を満足
するk、lを求めることになる。 なお、上記値A、Bが各々シンドローム
S0〜S3から算出し得る値であることは勿論
である。 次に、二重誤り検出の過程を第9図に示す
フローチヤートを参照して説明する。 まず、lとしてB/2+1と置く(ステツ
プSP1)。次に、mを0とする(ステツプ
SP2)。なお、このmは仮想上のカウンタで
ある。次に、mをインクリメントする(ステ
ツプSP3)。次に、第(28)式に基づいてk
の値を算出する(ステツプSP4)。次に、上
記lおよびkの値を各々第(27)式の左辺に
代入して同左辺の演算を行い、その演算結果
CAを求める。(ステツプSP5)。次に、CA=
0か否かを判断し、この判断結果が「NO」
の場合はステツプSP7へ、「YES」の場合は
ステツプSP8へ進む。ステツプSP7ではl値
がBより大あるいはイコールであるか否かが
判断され、この判断結果が「NO」の場合は
ステツプSP9へ、「YES」の場合はステツプ
SP8へ進む。ステツプSP9では、lが値
「31」より大あるいはイコールであるか否か
が判断される。そして、この判断結果が
「NO」の場合はステツプSP10へ、また、
「YES」の場合はステツプSP8へ進む。ステ
ツプSP10では、lの値がインクリメントさ
れる。次いで、ステツプSP8では、mの値が
16より小あるいはイコールであるか否か判断
され、この判断結果が「YES」の場合はス
テツプSP3へ戻り、また「NO」の場合は、
ステツプSPP11へ進む。ステツプSP11では、
再びCAの値が「0」であるか否かがチエツ
クされる。そして、このチエツク結果が
「NO」の場合は「二重誤りなし」(ステツプ
SP12)と判断され、また、「YES」の場合は
「データWk、Wlに誤りあり」と判断される。 このように、上述した二重誤り検出におい
ては、まず、lををB/2+1と仮定してこ
の場合のkの値を前記(28)式から求め、次
いで得られろたk、lの組を(27)式に代入
して同(27)式を満足するか否かをチエツク
し、以下、同様のことをl=B/2+2、
B/2+3、…の各値について行うことによ
り、(27)式、(28)式を共に満足するk、l
の組を求めている。この場合、求められた
k、lの組は、lがl>B/2であり、一
方、kがk<B/2であるところから、前記
(17)式を満足している。また、上述したチ
エツクはlの値がl<B(ステツプSP7参照)
であり、かつ、l<31(ステツプSP9参照)
の場合のみ行うようになつており、したがつ
て、求められたk、lの組は前記(16)式を
満足している。また、データWO〜P3の合計
が32であるところから、lを16回変化させれ
ば必ず、k、lの組があるか否かが判定さ
れ、したがつて、ステツプSP3、SP4…SP8
なる試行程を16回繰返すようになつている。
(ステツプSP8参照)。 しかして、上述した過程によつて、二重誤
りの検出を行う回路が第3図における二重誤
り検出部24であり、以下、この検出部24
の動作を説明する。 まず、前述したように、第5図に示すタイ
ミング13、14において内部バスINBSにS4、
S5が各々出力される。また、タイミング15
においてはS4が、タイミング16においては
S6が各々内部バスINBSに出力される。な
お、上記タイミング13、14、15、16において
S4、S5、S4、S6が順次内部バスINBSへ出
力される理由は、前述した説明および第5図
に示すタイミングチヤートから明らかなよう
に、タイミング13から制御信号DBGW1が
“1”となり、かつタイミング15で信号
PLSCALが1度“1”に立ち上がることに
よる。タイミング13においてS4が内部バス
INBSへ出力されると、ROM(1)から
(S4)が出力され、この(S4)がタイミング
14においてDL(1)−aから出力される。ま
た、タイミング14においてS5が内部バス
INBSへ出力されると、ROM(1)から
(S5)がタイミング15においてDL(1)−a
から出力される。またこのタイミング15にお
いて、(S4)がDL(1)−bから出力される。
このタイミング15において、制御信号
TAJKLは“0”信号に、制御信号TDIVは
“1”信号にあり、したがつて、DL(1)−b
内の(S4)はSEL(1)を通過し、INV(1)
によつて反転されて、FAD(1)の入力端子
Bへ供給される。この結果、タイミング15に
おいてFAD(1)の出力は(S5)−(S4)、す
なわち、(S5/S4)となり、この(S5/S4)
がタイミング16においてR(M)から出力さ
れる。このタイミング16において、制御信号
TOUTAは“0”信号にあり、したがつて、
R(M)内の(S5/S4)がSEL(2)を介し
てR(B)へ供給される。この時、制御信号
TLDBは“1”信号にあり、したがつて、
タイミング16においてR(M)から出力され
た(S5/S4)は、同タイミング16において
R(B)に読込まれる。以後、このデータ
(S5/S4)は全処理が終了するまで(タイミ
ング93まで)R(B)に保持される。ここで、デ
ータ(S5/S4)は、前記(26)式から明ら
かなようにデータBのことである。 次に、上記と同様の過程によりタイミング
18においてデータ(S6/S4)がR(A)に読込
まれる。そして、このデータ(S6/S4)は、
以後、タイミング93までR(A)に保持される。
ここで、データ(S6/S4)は、前記(25)
式から明らかなようにデータAのことであ
る。 このようにして、タイミング18においてR
(A)、R(B)に各々データA、Bが用意される。
そして、このタイミング18からタイミング66
の間において二重誤りの検出が行われる(第
6図参照)。 すなわち、まずタイミング18において
HADの入力端へデータBが供給されること
から、制御信号TLDLAによりHADから
B/2+1が出力され、このデータB/2+
1が同タイミング18において、R(L)に読込ま
れる。次のタイミング19においては、R/(L)
からデータB/2+1(以下、l0とする)が
出力される。また、この時制御信号TKCAL
が“1”信号にあり、したがつて、AND
(5)が開状態にあると共に、INV(2)が
インバータとして動作する。この結果、タイ
ミング19においてFAD(2)の入力端子Aに
データBが、入力端子Bにデータ0(l0の否
定)が各々供給され、FAD(2)からB−l0、
すなわち、k0が出力される(第9図ステツプ
SP4参照)。このデータk0は次のタイミング
20においてR(KL)から出力され、ROM
(3)へ供給される。これにより、タイミン
グ20においてROM(3)からαKoが出力され、
EXOR(2)の入力端子Bへ供給される。 一方、タイミング19において、制御信号
TOUTAが“1”信号となり、R(A)内のデ
ータAがSEL(2)を介してROM(2)の入
力端へ供給され、ROM(2)からデータαA
が出力される。このデータαAは次のタイミ
ング20においてDL(2)−aから出力され、
SW(3)を介してSEL(4)へ供給される。
この時、SEL(4)の制御信号TALPAは
“1”信号にあり、したがつて、タイミング
20においてデータαAがSEL(4)を介して
EXOR(2)の入力端子Aへ供給される。以
上の結果、タイミング20において、EXOR
(2)の出力がαA+αKpとなり、このデータαA
+αKpが次のタイミング21においてDL(4)
から出力される。 また、タイミング20において、制御信号
TKCALは“0”信号にあり、したがつて、
ADN(5)が閉状態になると共に、INV
(2)が単なるスルーとして動作する。この
結果、タイミング20においてFAD(2)の入
力端子Aへデータ「0」が、入力端子Bへデ
ータl0が各々供給され、FAD(2)からデー
タl0が出力される。このデータl0は次のタイ
ミング21においてR(KL)から出力され、
ROM(3)へ供給される。これにより、
ROM(3)からαl 0が出力され、EXOR(2)
の入力端子Bへ供給される。 一方、こタイミング21において、制御信号
TARAは“0”信号にあり、したがつて、
DL(4)の内容αA+αK0がSEL(4)を介して
EXOR(2)の入力端子Aへ供給される。こ
の結果、タイミング21においてEXOR(2)
の出力はαA+αK0+αl0(第9図におけるステ
ツプSP5参照)となり、このデータαA+αK0
+αl0が0検出回路32の入力端へ供給される。
0検出回路32はEXOR(2)の出力が「0」
の時“0”信号を出力し、「0」以外の時は
“1”信号を出力する(第9図SP参照)。こ
こで、データαA+αK0+αl0が「0」でないと
すると、タイミング21において0検出回路23
から“1”信号が出力され、AND(1)の入
力端へ供給される。 また、タイミング21においては、制御信号
TADLが“”信号となり、この“1”信号
がAND(1)の入力端へ供給される。また、
このタイミング21においては、l0≦31かつl0
≦Bであり、したがつて、COMPおよび
FAD(2)の端子Cから各々“1”信号が出
力されている。この結果、タイミング21にお
いてAND(1)の出力が“1”信号となり、
この“1”信号がR(L)へ供給される。これに
より、HADへキヤリイ信号として供給され
る。これによりR(L)の出力の値に「1」が加
算され、HADの出力がl0+1(以下、l1とす
る)となり、このデータl1が次のタイミング
22においてR(L)から出力される。 以下、タイミング22〜24、25〜27、…64〜
66において同様の動作が繰り返され、これに
より、タイミング24、27、……66において
各々、EXOR(2)から、αA+αK1+αl1、αA
+αK2+αl2、…、αA+αK15+αl15が各々出力
され、また、0検出回路32からこれらの各デ
ータが「0」か否かの判断結果が出力され
る。 ところで、上記説明および第6図に示す各
データl1、k1…等はいずれもタイミング66ま
でEXOR(2)の出力が「0」にならなかつ
た場合であり、途中の過程においてEXOF
(2)の出力が「0」となつた場合、すなわ
ち、前記(16)、(17)、(27)、(28)式をいず
れも満足するk、lの組があつた場合には次
の様になる。すなわち、例えばタイミング24
においてEXOR(2)から出力されたデータ
αA+αK1+αl1が「0」であつた場合は、同タ
イミング24において0検出回路32から“0”
信号が出力され、AND(1)の入力端へ供給
される。この結果、タイミング24において制
御信号TADLが“1”信号に立上つても
AND(1)の出力は“0”信号を続け、した
がつて、R(L)の内容がインクリメントされる
ことはない。この結果、タイミング27におい
て再びEXOR(2)からデータαA+αK1+αl1
が出力され、0検出回路32から“0”信号
が出力され、以下、同び動作が繰り返され
る。すなわち、タイミング24において
EXOR(2)から出力されたデータαA+αK1
+αl1が「0」であつた場合は、以後、R(L)
の内容はl1に保持され、R(KL)からはタイ
ミング26、29、…65においてk1が、タイミン
グ27、30…66においてl1が各々出力され、
EXOR(2)からはタイミング27、30、…66
においてαA+αK1+αl1出力され、また、0検
出回路32からは、タイミング27、30、…66
において“0”信号が出力される。そして、
タイミング60において0検出回路32から
“0”信号が出力されると、インバータ33
の出力が“1””信号となり、この“1”信
号がタイミング66において“1”となる制御
信号TLDE2によりRa(E2)読込まれる。そ
して、このRa(E2)の内容がE2フラグとし
て端子T4へ出力される。しかして、この
E2フラグにより二重誤りがあるか否かを検
出することができる。 なお、タイミング66までの間にR(L)の内容
が31に達した場合、あるいは、l≧Bとなつ
た場合はCOMPあるいはFAD(2)の端子C
から“0”信号が出力され、したがつて、そ
の時点以降R(L)がインクリメントされること
はない(第9図のSP7、SP9参照)。 (4) 二重誤りの訂正(前記項参照) 前記(18)式は、前記(25)式を用いれ
ば、 Ek={S1+αl・S0}/αA ……(30) El={S1+αk・S0}/αA ……(31) と表すことができる。そして、これらの値
Ek、El求まれば、前記(19)式に基づいて
データWk、Wlの誤りを訂正することができ
る。 この二重誤りの訂正はタイミング71〜88
(第7図)の間において行われる。最初に、
データWlの訂正がタイミング71〜80の間
(第7図に示す期間TM3参照)において行わ
れる。すなわち、まず、タイミング71におい
てシンドロームS0が内部バスINBSへ出力さ
れると、ROM(1)から(S0)が出力され
る。この(S0)は次のタイミング72におい
てDL(1)−aから出力され、FAD(1)の
入力端子Aへ供給される。一方、このタイミ
ング72において、R(KL)の出力は誤りデー
タWkの位置を示すデータとなつている。こ
の理由は次の通りである。 制御信号TKCALはタイミング65において
“0”信号となり、以後、タイミング70まで
“0”信号を続ける。制御信号TKCALが
“0”信号になると、AND(5)の出力が
「0」となり、したがつて、FAD(2)入力
端子Aへ「0」が供給され、また、INV
(2)がスルーとして動作し、したがつて、
FAD(2)入力端子BへR(L)の出力、すなわ
ち、誤りデータWlの位置を示すデータlが
供給され、この結果、FAD(2)の出力が、
lとなる。そして、このlがタイミング66に
おいてR(KL)から出力される。以後、
FAD(2)の出力はタイミング70までlを続
け、したがつてR(KL)の出力がタイミング
71までlを続ける。次に、タイミング71にお
いて制御信号TKCALが“1”信号となる。
これにより、同タイミング71においてFAD
(2)の出力がB−l=kとなり、このデー
タkが次のタイミング72においてR(KL)か
ら出力される。なお、このR(KL)の出力の
タイミング72以降の変化は次の通りである。
まず、タイミング72において制御信号
TKCALが“0”になり、したがつて、同タ
イミング72においてFAD(2)の出力がlと
なり、次のタイミング73においてR(KL)か
ら再びlが出力される。以降、タイミング
84、87において制御信号TKCLが“1”信号
となることから、タイミング85、88において
(KL)の出力kとなり、他のタイミングにお
いてlとなる(第7図参照)。 このように、タイミング72においてR
(KL)の出力はkとなつている。また、この
タイミング72においてSEL(3)へ供給され
る制御信号TAJが“0”信号、SEL(1)へ
供給される制御信号TAJKLが“1”信号、
INV(1)へ供給される制御信号TDIVが
“0”信号にある。この結果、タイミング72
においてFAD(1)の入力端子Aに前述した
{S0)が、入力端子Bにkが各々供給され、
FAD(1)からk+(S0)、すなわち(αk・
S0)が出力される。そして、この(αk・S0)
が次のタイミング73においてR(M)から出
力される。このタイミング73においてSEL
(2)へは制御信号TOUTAとして“0”信
号が供給されている。したがつて、R(M)
に読込まれ(αk・S0)はSEL(2)を介して
ROM(2)供給され、ROM(2)から、
αk・SOが出力される。このαk・S0は次のタ
イミング74においてD(2)−aから出力さ
れ、次いで、タイミング76においてDL(2)
−cから出力され、EXOR(1)の入力端子
Bへ供給される。 他方、タイミング76において内部バス
INBSにシンドロームS1が出力され、また、
この時同時にSW(2)へ供給されている制
御信号DBSW2が“1”信号に立上る。こ
の結果、タイミング76においてシンドローム
S1がSW(2)を介してEXOR(1)の入力端
子Aへ供給され、EXOR(1)からα1k・S0
+S1(以下、と記す:第7図四角枠内参
照)が出力される。そして、このはタイミ
ング76において制御信号PLSCALが“1”
信号にあることから、スイツチ30を介し
DL(3)へ供給され、次のタイミング77にお
いてDL(3)−aから出力され、SW(1)を
介して内部バスINBSへ出力される。 タイミング77においてが内部バスINBS
へ出力されると、ROM(1)から()が
出力される。この()は、タイミング78に
おいてDL(1)−aから出力されFAD(1)
の入力端子Aへ供給される。一方、このタイ
ミング78において、SEL(2)の制御信号
TOUTA、SEL(3)の制御信号TAJ、SEL
(1)の制御信号TAJKL、INV(1)の制御
信号TDIVがいずれも“1”信号となり、こ
の結果、R(A)に記憶されているデータAが
SEL(2)、SEL(3)、SEL(1)を介して
INV(1)へ供給され、ここで反転されて
FAD(1)の入力端子Bへ供給される。これ
により、タイミング78においてFAD(1)か
ら()−A、すなわち、(/αA)が出力
される。ここで、 /αA={S1+αk・S0}/αA=El
……(32) であり(第(31)式参照)、したがつてタイ
ミング78におけるFAD(1)の出力は(El)
となる。そして、この(El)が次のタイミン
グ79におけるR(M)から出力され、SEL
(2)を介してROM(2)へ供給され、
ROM(2)からElが出力される。このElは
次のタイミング80においてDL(2)−aから
出力される。この時(タイミング80)、SW
(3)、SW(2)はいずれも開状態であり、
したがつて、DL(2)−aから出力されたEl
は、SW(3)、SW(2)を介して内部バス
INBSへ出力され、この内部バスINBSを介
してEXOR(3)の入力端子Bへ供給され
る。 他方、タイミング77においてSEL(3)の
制御信号TAJが“0”信号にあり、したが
つて同タイミング77においてR(KL)の出力
lがSEL(3)および端子T3を介してアドレ
ス制御回路8(第2図)へ供給される。アド
レス制御回路8は、同タイミング77において
このデータlを入力し、3タイミング後のタ
イミング80においてデータWlが記憶されて
いるRAM6のアドレスを出力する。これに
より、同タイミング80においてRAM6から
データWlが出力され、データバスDABS2
を介してEXOR(3)の入力端Aへ供給され
る。この結果、タイミング80において
EXOR(3)からWl+El、すなわち、正しい
データ<Wl>が出力される。この時、SW
(4)の制御信号DOSWは“1”信号にあ
り、したがつてデータ<Wl>はSW(4)を
介してDL(5)へ供給され、このDL(5)に
よつて3タイミング遅延され、タイミング83
においてデータバスDABS1(第2図)へ出
力される。一方、タイミング80において、R
(KL)の出力lがSEL(3)を介してアドレ
ス制御回路8へ供給される。アドレス制御回
路8は同タイミング80においてこのデータl
を入力し、3タイミング後のタイミング83に
おいてデータWlのアドレスをRAM6へ出力
する。これにより、データ<Wl>がRAM6
に書込まれる。 以上がデータWlの訂正の過的程である。
以上の過程と全く同様にして、タイミング79
〜88(期間TM4参照)においてデータWkの
訂正が行われる。なお、このデータWkの訂
正過程の説明は省略する。第7図のタイミン
グチヤートを参照されたい。 (5) 単一誤り訂正(前記項参照) この訂正はタイミング86〜92の間において
行われる。すなわち、まず、タイミング86に
おいて内部バスINBSへシンドロームS0が出
力され、次いでタイミング87において内部バ
スINBSへシンドロームS1が出力される。こ
の結果、タイミング87において(S0)が、
タイミング88において(S1)が各々DL(1)
−aから出力され、同タイミング88において
DL(1)−aから(S1)が、DL(1)−bから
(S0)が各々出力される。一方、このタイミ
ング88において、SEL(1)の制御信号
TAJKLが“0”信号、INV(1)の制御信
号TDIVが“1”信号にあり、したがつて、
FAD(1)の入力端子Bへ(S0)の各ビツト
を反転したデータが供給される。この結果、
タイミング88においてFAD(1)から(S1)
−(S0)、すなわち、(S1/S0)が出力され、
このデータ(S1/S0)が次のタイミング89
においてR(M)から出力される。ここで、
データ(S1/S0)は、前記(11)式から明
らかなように誤りデータWjの位置を示すデ
ータjである。そして、このデータjは、タ
イミング89においてSEL(2)の制御信号
TOUTA、SEL(3)の制御信号TAJが各々
“0”、“1”で、あることから、SEL(2)、
SEL(3)を介してアドレス制御回路8へ供
給される。アドレス制御回路8はこのデータ
jを入力し、3タイミング後のタイミング92
において、データWjのアドレスRAM6へ出
力する。これにより、タイミング92において
RAM6からデータWjが読み出され、データ
バスDABS2を介してEXVR(3)の入力端
子Aへ供給される。また、このタイミング92
においてシンドロームS0(=Ej)が内部ス
INBSへ出力され、同内部バスINBSを介し
てEXOR(3)の入力端子Bへ供給される。
この結果、タイミング92においてEXOR
(3)からWj+S0〕<Wj>が出力され、SW
(4)を介してDL(5)へ供給され、3タイ
ミング後のタイミング95においてデータバス
DABS1へ出力される。 他方、タイミング90,91において、内部バ
スINBSへシンドロームS0、S1が各々出力さ
れ、この結果、上記と同様の過程により、タ
イミング92においてデータjがアドレス制御
回路8へ出力される。アドレス制御回路8は
このデータjを受け、3タイミング後のタイ
ミング95においてデータWjjのアドレスを
RAM6へ出力する。これにより、データ<
Wj>がRAM6に読込まれる。 以上がデータ誤り検出・訂正回路1の詳細であ
る。 次に、第2図に示す構成要素10〜14につい
て説明する。 (i) エラーフラグ判定回路10 上述した説明においては、説明を簡略化する
ため、デイスク記録されるデータのフオーマツ
トを第1図に示すものとし、誤り訂正用データ
やP0〜P3の4データとしたが、実際には、1
フレームFr内に更に別の4つに誤り訂正用デ
ータQ0〜Q3が付加され、また、データの記録
順序もバラバラにされている(クロスインタリ
ーブ)。なお、この点に関しては、例えば特開
昭57−4629号公報に詳しい。そして、データ誤
り検出・訂正回路1は、まず誤り訂正用データ
P0〜P3に基づいて、前述した過程によりデー
タ誤りの検出・訂正を行い(C1デコードと称
される)、また、この際フラグE0〜E2を各々エ
ラーフラグ判定回路10へ出力する。エラーフ
ラグ判定回路10はC1デコード時に供給され
るフラグE0〜E2に基づいてC1フラグを作成
し、RAM6に書込む。ここで、C1フラグと
は、C1デコードにおいてチエツクされたデー
タに未訂正のデータが含まれているか否かを示
すフラグである。次に、データ誤り検出・訂正
回路1は誤り訂正用データQ0〜Q3に基づい
て、再びC1デコードと略同様にしそて誤りの
検出および訂正を行う(C2デコードと称され
る)と共に、フラグE0〜E2を各々エラーフラ
グ判定回路10へ出力する。またこの時、C1
フラグがエラーフラグ判定回路10へ供給され
る。エラーフラグ判定回路10はC2デコード
時のフラグE0〜E2およびC1フラグに基づいて
C2フラグを作成し、RAM6に書込む。このC2
フラグは各データW0〜W23が訂正済か否かを
示す(厳密には、データ誤りの確率が考慮して
いるレベルより高いか否かを示す)フラグであ
り、未訂正(すなわち誤りの確率が高い)のデ
ータに対応して“1”が書込まれる。 このように、エラーフラグ判定回路10は、
C1、C2フラグのの作成および書込みを行う回
路である。 なお、C1デコード時には、C2デコード時に
用いられる誤り訂正用データQ0〜Q3も信号デ
ータと同様に扱われる。すなわち、C2デコー
ド時においては、シンドローム演算時の全デー
タ数が28となる(音楽信号データ=24、誤り訂
正用データ=4。 (ii) フラグ検出回路11等 上述したC1デコード、C2デコードが終了す
ると、RAM6内の音楽信号データが、C2フラ
グと共に制御回路8の制御の下に順次読み出さ
れ、データバスDABS2に出力され、パラレ
ル/シリアル変換回路12へ供給される。この
時、フラグ検出回路11は、データに各々付加
されたC2フラグをチエツクし、そのデータが
訂正済か否かの判断を行い、未訂正の場合に制
御信号TEIを補正回路13へ出力する。補正回
路13はパラレル/シリアル変換回路12から
出力されるデータが未訂正データであるか否か
を制御信号TEIに基づいて検知し、未訂正でな
ければそのまま出力し、未訂正であつた場合
は、直線補間あるいは前置保持の手法でデータ
補正を行い、シリアル/パラレル変換回路14
へ出力する。シリアル/パラレル変換回路14
は、補正回路13から出力されるシリアルデー
タをパラレルデータに変換し、DAC(図示略)
へ出力する。このDACの出力がスピーカへ供
給されて、音楽が発生する。 以上説明したように、この発明によればシンド
ローム等を含む内部バス上のデータを数値変換手
段、加減算手段、逆変換手段、および加算出段か
らなる単一の循環系を介して効率的かつ迅速に処
理するとともに、この循環系の加減算手段の出力
を用い二重誤り状況を正確に判定した後、再び循
環系を利用して誤差データを内部バス上へ出力さ
せこれによりデータ訂正を行うことができ、リー
ドソロモン符号によるデータ二重誤りの検出およ
び短時間で、かつ、最小限のハードウエア構成に
よつて実行することができる効果が得られる。
第1図はデイジタルオーデイオデイスクに信号
データW0〜W27および誤り訂正用データP0〜P3
が各々記録されている状態を示す概略図、第2図
はこの発明の一実施例によるデータ誤り検出・訂
正回路1を適用したCDプレーヤの構成を示すブ
ロツク図、第3図は同データ誤り検出・訂正回路
1の構成を示すブロツク図、第4図は第2図に示
したタイミング制御回路のうちデータ誤り検出・
訂正回路に関係するタイミング信号を発生する部
分のみを抜き出したタイミング信号発生回路27
の構成を示す図、第5図〜第7図は各々同データ
誤り検出・訂正回路1の動作を説明するためのタ
イミングチヤート、第8図は同データ誤り検出・
訂正回路1において、「誤りなし」および「単一
誤り」を各々検出する際のタイミング図、第9図
は同データ誤り検出・訂正回路1において「二重
誤り」を検出する場合の動作フローチヤートであ
る。 1……データ誤り検出・訂正回路、INBS……
内部バス、ROM(1)……数値変換手段(リー
ドオンリメモリ)、FAD(1)……加減算手段
(フルアダー)、ROM(2)……逆変換手段(リ
ードオンリメモリ)、DL(2)……レジスタ(デ
イレイレジスタ)、EXOR(1)……加算手段
(イクスクルーシブオアゲート)、24……データ
誤り検出手段(二重誤り検出部)、26……デー
タ訂正部、27……タイミング信号発生回路。
データW0〜W27および誤り訂正用データP0〜P3
が各々記録されている状態を示す概略図、第2図
はこの発明の一実施例によるデータ誤り検出・訂
正回路1を適用したCDプレーヤの構成を示すブ
ロツク図、第3図は同データ誤り検出・訂正回路
1の構成を示すブロツク図、第4図は第2図に示
したタイミング制御回路のうちデータ誤り検出・
訂正回路に関係するタイミング信号を発生する部
分のみを抜き出したタイミング信号発生回路27
の構成を示す図、第5図〜第7図は各々同データ
誤り検出・訂正回路1の動作を説明するためのタ
イミングチヤート、第8図は同データ誤り検出・
訂正回路1において、「誤りなし」および「単一
誤り」を各々検出する際のタイミング図、第9図
は同データ誤り検出・訂正回路1において「二重
誤り」を検出する場合の動作フローチヤートであ
る。 1……データ誤り検出・訂正回路、INBS……
内部バス、ROM(1)……数値変換手段(リー
ドオンリメモリ)、FAD(1)……加減算手段
(フルアダー)、ROM(2)……逆変換手段(リ
ードオンリメモリ)、DL(2)……レジスタ(デ
イレイレジスタ)、EXOR(1)……加算手段
(イクスクルーシブオアゲート)、24……データ
誤り検出手段(二重誤り検出部)、26……デー
タ訂正部、27……タイミング信号発生回路。
Claims (1)
- 【特許請求の範囲】 1 リードソロモン符号に基づいてデータ誤りを
検出し、検出した誤りデータを自動的に訂正する
データ誤り検出・訂正回路において、 (a) データ誤りを含むデータが出力されるデータ
バスと、 (b) データ誤り検出・訂正のための内部バスと、 (c) データバスに出力されたデータから前記リー
ドソロモン符号のシンドロームを演算し所定タ
イミングで前記内部バスへ出力するシンドロー
ム演算手段と、 (d) 前記内部バスに生じたシンドロームを含むデ
ータを前記リードソロモン符号のガロア体GF
の元αXに対応させてαX→Xに数値変換する数
値変換手段と、 (e) この数値変換手段から得られる所定タイミン
グの数値同志を加減算する加減算手段と、 (f) この加減算手段の出力を前記ガロア体GFの
元αXに対応させてX→αXに逆変換し元の形の
データに戻す逆変換手段と、 (g) この逆変換手段から得られる所定タイミング
のデータ同志を加算して前記内部バスに出力す
る加算手段と、 (h) 前記加減算手段の出力に基づいてデータ二重
誤りの有無および二重誤り位置を検出するデー
タ誤り検出手段と、 (i) データの二重誤り位置に基づき前記数値変換
手段、加減算手段、逆変換手段、および加算手
段からなる循環系を介して前記内部バスに誤差
データを出力させこの内部バス上の誤差データ
で前記データバス上の誤りデータを訂正するデ
ータ訂正手段と、 (j) 前記シンドローム演算手段と前記内部バスと
の間、前記数値変換手段と前記加減算数手段と
の間、前記加減算手段と前記逆変換手段との
間、前記逆変換手段と前記加算手段との間、前
記加算手段と前記内部バスとの間、および前記
データ誤り検出手段と前記加減算手段との間を
各々接続する複数の接続手段と、 (k) これら各接続手段を制御するタイミング信号
を発生するタイミング信号発生手段と を具備してなるデータ誤り検出・訂正回路。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58186105A JPS6077529A (ja) | 1983-10-05 | 1983-10-05 | デ−タ誤り検出・訂正回路 |
| US06/643,951 US4646303A (en) | 1983-10-05 | 1984-08-24 | Data error detection and correction circuit |
| EP84306086A EP0139443B1 (en) | 1983-10-05 | 1984-09-06 | Data error detection and correction circuit |
| DE8484306086T DE3483938D1 (de) | 1983-10-05 | 1984-09-06 | Datenfehlerdetektion und korrekturschaltung. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58186105A JPS6077529A (ja) | 1983-10-05 | 1983-10-05 | デ−タ誤り検出・訂正回路 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22178983A Division JPS6094538A (ja) | 1983-10-05 | 1983-11-25 | デ−タ二重誤り検出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6077529A JPS6077529A (ja) | 1985-05-02 |
| JPH0153940B2 true JPH0153940B2 (ja) | 1989-11-16 |
Family
ID=16182445
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58186105A Granted JPS6077529A (ja) | 1983-10-05 | 1983-10-05 | デ−タ誤り検出・訂正回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6077529A (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63317837A (ja) * | 1987-10-09 | 1988-12-26 | Sanyo Electric Co Ltd | データ処理装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58123144A (ja) * | 1982-01-18 | 1983-07-22 | Nec Home Electronics Ltd | リ−ド・ソロモン符号復号方式 |
| JPS58125175A (ja) * | 1982-01-21 | 1983-07-26 | Sony Corp | ガロア体の乗算回路 |
-
1983
- 1983-10-05 JP JP58186105A patent/JPS6077529A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6077529A (ja) | 1985-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4646303A (en) | Data error detection and correction circuit | |
| CA1318004C (en) | Single track orthogonal error correction system | |
| US4800515A (en) | Circuit for operating finite fields | |
| US4868827A (en) | Digital data processing system | |
| US4451919A (en) | Digital signal processor for use in recording and/or reproducing equipment | |
| JPS632370B2 (ja) | ||
| US5068856A (en) | Method and circuit for detecting data error | |
| JPH0153940B2 (ja) | ||
| JPH0151095B2 (ja) | ||
| JPH0828052B2 (ja) | Pcmデータのフレーム生成方法 | |
| KR920010184B1 (ko) | 유한체(有限體)의 연산회로 | |
| RU96111307A (ru) | Устройство для вычисления элементарных функций таблично-алгоритмическим методом | |
| JP3248315B2 (ja) | 誤り訂正装置 | |
| JPH0793913A (ja) | 誤り訂正装置 | |
| JPS6390225A (ja) | 短縮巡回符号の符号化装置 | |
| JPH0414529B2 (ja) | ||
| JPS605478A (ja) | 誤り訂正方法及び装置 | |
| KR950011290B1 (ko) | 어드레스 발생회로 | |
| JPH10107648A (ja) | 誤り訂正処理回路 | |
| JPH0262982B2 (ja) | ||
| JPS6025065A (ja) | 誤り訂正方法及び装置 | |
| JPH0518490B2 (ja) | ||
| JPH0766632B2 (ja) | デジタルオ−デイオ再生装置 | |
| JPH0518487B2 (ja) | ||
| JPH11136137A (ja) | リード・ソロモン符号の再生装置 |