(57)【特許請求の範囲】
【請求項１】
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記終了位置を含むＮビット幅のデータの前記終了位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転するデータ反転手段（２３）と、
前記ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記終了位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記次数の生成多項式に基づくＣＲＣ計算上で誤りの無いデータの後に０のデータを付加して構成されるデータに対して、前記次数の生成多項式に基づくＣＲＣ計算を行ったときの計算結果を、前記付加した０のデータの数毎に予め記憶している基準データ記憶手段（２７）と、
前記ゼロデータ挿入手段によって前記検出対象データの終了位置の後に挿入された０のデータ数に対応する基準データを前記基準データ記憶手段から読み出し、該読み出した基準データと前記並列ＣＲＣ計算手段の計算結果とを比較して前記検出対象データに誤りがあるか否かを判定する判定手段（２８）とを備えたことを特徴とする誤り検出装置。
【請求項２】
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
誤りの無いデータに対する前記ＣＲＣ計算の生成多項式で決まる固有の計算結果を相殺するための相殺データを、前記Ｎビット幅で入力されるフレームデータのうちの前記検出対象データの前記終了位置の直後に挿入する相殺データ挿入手段（４１）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記相殺データ挿入手段が挿入する相殺データの挿入最終位置を含むＮビット幅のデータの前記挿入最終位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２′）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転加工するデータ反転手段（２３）と、
前記相殺データ挿入手段、ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記相殺データの挿入最終位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記並列ＣＲＣ計算手段の計算結果が０のとき前記検出対象データに誤りが無く、０以外のとき前記検出対象データに誤りがあると判定する判定手段（２８′）とを備えたことを特徴とする誤り検出装置。
【請求項３】
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記終了位置を含むＮビット幅のデータの前記終了位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転するデータ反転手段（２３）と、
前記ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記終了位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記並列ＣＲＣ計算手段の計算結果が０のとき前記検出対象データに誤りが無く、０以外のとき前記検出対象データに誤りがあると判定する判定手段（２８′）とを備えたことを特徴とする誤り検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定ビットずつ並列に入力されるフレームデータに含まれるデータの誤りを簡単な構成で検出できるようにするための技術に関する。
【０００２】
【従来の技術】
データ伝送システムでは、受信したデータに誤りがあるか否かを判定するための方式としてＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）方式が用いられている。
【０００３】
このＣＲＣ方式では、伝送したいデータに対してＣＲＣ計算（所定次数の生成多項式による割り算）を行い、その余りまたはその反転値を示すＦＣＳ（フレームチェックシーケンス）コードを伝送したいデータの最後部に付加して送信し、受信側では、受信データに対するＣＲＣ計算をＦＣＳコードまで行い、その計算結果が特定の値に一致すればデータに誤りがないと判定し、計算結果が特定の値と一致しない場合には、データに誤りがあると判定している。
【０００４】
このようなＣＲＣ計算は、一般的には、所定次数の生成多項式に対応する段数のシフトレジスタと排他的論理和回路とで構成された帰還型シフトレジスタにデータを１ビットずつ入力して行っているが、長いデータのＣＲＣ計算を短時間に行うことが要求される場合には、並列ＣＲＣ計算回路に検出対象データを並列に入力して、検出対象データのＣＲＣ計算を行っている。
【０００５】
【発明が解決しようとする課題】
しかしながら、フレームデータに含まれる検出対象データの先頭位置が、Ｎビット幅で入力されるデータの最上位にない場合や、検出対象データの終了位置が、Ｎビット幅で入力されるデータの最下位にない場合には、その先頭位置の前のデータや終了位置の後のデータの影響で正しい計算結果が得られなくなってしまう。
【０００６】
これを解決するために、検出対象データの先頭位置や終了位置に応じて、並列ＣＲＣ計算回路のビット数を可変することも考えられるが、並列ＣＲＣ計算回路の構成は、シリアル型のＣＲＣ計算回路に比べて格段に複雑であり、さらに内部のビット数を可変する構成では、その回路規模が膨大になってしまう。
【０００７】
本発明は、この問題を解決し、簡単な構成で検出対象データの先頭位置や終了位置がどのような位置にあっても、検出対象データのＣＲＣ計算を正しく行える誤り検出装置を提供することを目的としている。
【０００８】
【課題を解決するための手段】
前記目的を達成するために、本発明の請求項１の誤り検出装置は、
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記終了位置を含むＮビット幅のデータの前記終了位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転するデータ反転手段（２３）と、
前記ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記終了位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記次数の生成多項式に基づくＣＲＣ計算上で誤りの無いデータの後に０のデータを付加して構成されるデータに対して、前記次数の生成多項式に基づくＣＲＣ計算を行ったときの計算結果を、前記付加した０のデータの数毎に予め記憶している基準データ記憶手段（２７）と、
前記ゼロデータ挿入手段によって前記検出対象データの終了位置の後に挿入された０のデータ数に対応する基準データを前記基準データ記憶手段から読み出し、該読み出した基準データと前記並列ＣＲＣ計算手段の計算結果とを比較して前記検出対象データに誤りがあるか否かを判定する判定手段（２８）とを備えたことを特徴としている。
【０００９】
また、本発明の請求項２の誤り検出装置は、
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
誤りの無いデータに対する前記ＣＲＣ計算の生成多項式で決まる固有の計算結果を相殺するための相殺データを、前記Ｎビット幅で入力されるフレームデータのうちの前記検出対象データの前記終了位置の直後に挿入する相殺データ挿入手段（４１）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記相殺データ挿入手段が挿入する相殺データの挿入最終位置を含むＮビット幅のデータの前記挿入最終位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２′）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転加工するデータ反転手段（２３）と、
前記相殺データ挿入手段、ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記相殺データの挿入最終位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記並列ＣＲＣ計算手段の計算結果が０のとき前記検出対象データに誤りが無く、０以外のとき前記検出対象データに誤りがあると判定する判定手段（２８′）とを備えたことを特徴としている。
【００１０】
また、本発明の請求項３の誤り検出装置は、
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記終了位置を含むＮビット幅のデータの前記終了位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転するデータ反転手段（２３）と、
前記ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記終了位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記並列ＣＲＣ計算手段の計算結果が０のとき前記検出対象データに誤りが無く、０以外のとき前記検出対象データに誤りがあると判定する判定手段（２８′）とを備えたことを特徴としている。
【００１１】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を説明する。
図１は、本発明を適用した誤り検出装置２０の構成を示している。
【００１２】
この誤り検出装置２０は、例えばデータ伝送システムに対する各種の試験を行うための試験装置に用いられるものであり、その試験装置のフレームデータ検出部１０から、Ｎビット（例えば１２８ビット）幅で並列に出力されるデータ列で構成されるフレームデータＦと、そのフレームデータ内の検出対象データＤの先頭位置を示す情報Ａと終了位置を示す情報Ｂとを受けて、検出対象データＤの誤りの有無を検出する。
【００１３】
ゼロデータ挿入手段２２は、Ｎビット幅で入力されるフレームデータのうち、先頭位置Ａを含むＮビット幅のデータの最上位（整数Ｐに対してＰ・Ｎ＋１で表される位置）から先頭位置Ａの直前位置までの範囲と、終了位置ＢをＮビット幅のデータの終了位置Ｂの直後から最下位（整数Ｑに対してＱ・Ｎで表される位置）までの範囲に０のデータを連続挿入して、０のデータが挿入された先頭位置Ａを含むＮビット幅のデーから０のデータが挿入された終了位置Ｂを含むＮビット幅のデータまでを計算対象データＤａとしてデータ反転手段２３に出力する。
【００１４】
なお、このゼロデータ挿入手段２２は、先頭位置ＡがＮビット幅で入力されるデータの最上位、即ち、Ｎ・Ｐ＋１で表される位置にある場合には、その先頭位置Ａを含むＮビット幅のデータに０のデータを挿入せずにそのまま出力し、終了位置ＢがＱ・Ｎで表される位置にある場合には、その終了位置Ｂを含むＮビット幅のデータに０のデータを挿入せずにそのまま出力する。
【００１５】
また、フレームデータＦのビット幅Ｎは、一般的に８ビット（１バイト）の整数倍で、検出対象データの先頭位置Ａおよび終了位置Ｂも１バイト（８ビット）単位で区切られているので、検出対象データの終了位置Ｂの後に挿入する０のデータ数は、Ｎビット幅のデータ内において（Ｎ／８）通りとなり、前記したように、終了位置Ｂが最下位（Ｑ・Ｎで表される位置）にある場合を除けば（Ｎ／８）−１通りとなる。
【００１６】
データ反転手段２３は、ゼロデータ挿入手段２２から出力される計算対象データＤａのうち、先頭位置ＡからＣＲＣ計算の生成多項式の次数Ｋ（例えば１６や３２）に等しいビット分のデータを反転し、この次数Ｋ分のデータが反転された計算対象データＤｂを並列ＣＲＣ計算手段２４に出力する。
【００１７】
並列ＣＲＣ計算手段２４は、データ反転手段２３からＮビット幅で出力される計算対象データＤｂに対してＫ次（例えば１６次や３２次）の生成多項式に基づくＣＲＣ計算を行い、その計算結果Ｕを判定手段２８に出力する。
【００１８】
この並列ＣＲＣ計算手段２４は、例えば図２に示すように、Ｋ個のシフトレジスタ２５１〜２５Ｋと、入力されるＮビットの並列データとＫ個のシフトレジスタ２５１〜２５Ｋの出力とを、Ｋ次の生成多項式によって決まる組合せでそれぞれ受けてその排他的論理和を演算し、その演算結果を各シフトレジスタ２５１〜２５Ｋに入力するＫ個の排他的論理和回路２６１〜２６Ｋとによって構成されている。
【００１９】
このように構成された並列ＣＲＣ計算手段２４は、各シフトレジスタ２５１〜２５Ｋが１に初期化された状態で、誤りのないデータに、そのデータをＫ次の生成多項式で割ったときの余りを反転させたＦＣＳデータが付加されたＮ・Ｍビットのデータが入力されたときに、シフトレジスタ２５１〜２５Ｋからは、入力データの値とは無関係に、生成多項式によって決まる特定の値Ｚを出力する。
【００２０】
なお、ここでは、先頭位置ＡがＮ・Ｐ＋１で表される位置以外の位置に有る場合に対処できるように、並列ＣＲＣ計算手段２４は、その各シフトレジスタ２５１〜２５Ｋが０に初期化された状態で計算を開始するものとする。
【００２１】
基準データ記憶手段２７には、Ｋ次の生成多項式に基づくＣＲＣ計算上で誤りがないデータの後に０のデータを付加して構成されるデータに対して、Ｋ次の生成多項式に基づくＣＲＣ計算を行ったときの計算結果が、そのデータに付加されている０の数にそれぞれ対応する基準データとして予め記憶されている。
【００２２】
なお、前記したように、データを１バイト単位で扱う場合、ゼロデータ挿入手段２３によって終了位置Ｂの後に挿入される０のデータ数は、０を含めてＮ／８通りであるから、これに対応して基準データ記憶手段２７には、０のデータを付加しないときの基準データＲ（０）＝Ｚ、０のデータを１バイト分付加したときの基準データＲ（１）、０のデータを２バイト分付加したときの基準データＲ（２）、…、０のデータを（Ｎ／８）−１バイト分付加したときの基準データＲ（Ｗ）［Ｗ＝（Ｎ／８）−１］が記憶されている。
【００２３】
判定手段２８は、ゼロデータ挿入手段２２が終了位置Ｂの後に挿入した０のデータ数ｘに対応する基準データＲ（ｘ）を基準データ記憶手段２７から読出し、その基準データＲ（ｘ）と並列ＣＲＣ計算手段２３の計算結果Ｕとを比較し、両者が一致したとき、検出対象データＤに誤りがないと判定し、両者が不一致のとき検出対象データに誤りがあると判定する。
【００２４】
上記のように構成された誤り検出装置２０では、例えば図３の（ａ）のように、ｄ（１）〜ｄ（Ｌ・Ｎ）で構成される検出対象データＤの先頭位置Ａが、Ｎビット幅のデータの最上位（Ｐ・Ｎ＋１で表される位置）にあり、且つ、終了位置Ｂが最下位（Ｑ・Ｎで表される位置）にあるフレームデータＦが入力された場合、ゼロデータ挿入手段２２は、先頭位置Ａを含むＮビット幅のデータｄ（１）〜ｄ（Ｎ）から終了位置Ｂを含むＮビット幅のデータ［（Ｌ−１）・Ｎ＋１］〜ｄ（Ｌ・Ｎ）までのデータをそのまま計算対象データＤａとして通過させてデータ反転手段２３に入力する。
【００２５】
また、データ反転手段２３は、図３の（ｂ）のように、計算対象データＤａのうち、先頭位置Ａから次数Ｋに対応するビット分のデータｄ（１）〜ｄ（Ｎ）を反転し、このビット分のデータが反転された計算対象データＤｂを並列ＣＲＣ計算手段２４に出力する。
【００２６】
並列ＣＲＣ計算手段２４は、初期値が０にセットされた状態で、この計算対象データＤｂに対して次数Ｋの生成多項式によるＣＲＣ計算を行う。
【００２７】
この場合、始めに入力されるＮビットのデータのうちのＫビット分のデータは、元のデータｄ（１）〜ｄ（Ｎ）に対して反転しているので、このＫビット分の反転データに対する並列ＣＲＣ計算手段２４の内部状態は、初期値が１の状態で元のＫビット分のデータｄ（１）〜ｄ（Ｎ）を入力されたときと同一の状態となる。
【００２８】
したがって、終了位置Ｂまでのデータの計算結果Ｕは、検出対象データＤに対して初期値１から計算を開始したときの計算結果と等しくなる。
【００２９】
そして、この場合、終了位置Ｂの後に０のデータは挿入されていないので、判定手段２８において、その計算結果Ｕと基準データＲ（０）＝Ｚとが比較され、両者が一致すれば、検出対象データＤに誤りが無く、計算結果Ｕが特定値に一致しなければ検出対象データＤに誤りがあると判定される。
【００３０】
また、図４（ａ）のように、検出対象データＤの先頭位置ＡがＮビット幅のデータの最上位以外の位置、即ち、Ｐ・Ｎ＋２〜（Ｐ＋１）・Ｎのいずれかで表される位置にあり、且つ、終了位置Ｂが最下位、即ち、Ｑ・Ｎで表される位置にあるフレームデータＦが入力された場合、図４の（ｂ）のように、ゼロデータ挿入手段２２によって、先頭位置Ａを含むＮビット幅のデータの最上位（Ｐ・Ｎ＋１で表される位置）から先頭位置Ａの直前位置までに０のデータが連続的に挿入される。
【００３１】
また、データ反転手段２３によって、先頭位置ＡからＫビット分のデータｄ（１）〜ｄ（Ｋ）が反転されて、並列ＣＲＣ計算手段２４へ入力される。
【００３２】
並列ＣＲＣ計算手段２４は、前記したように、初期値０の状態でＣＲＣ計算を開始するが、最初に入力されるＮビット幅のデータのうち、ゼロデータ挿入手段２２によって挿入された０のデータに対しては内部状態が変化せず、その後に続くＫビットの反転されたデータによって内部状態が変化する。
【００３３】
したがって、このＫビットのデータが入力さたときの内部状態は、初期値１で元のＫビット分のデータを入力したときと同一状態となる。
【００３４】
このため、終了位置Ｂまでのデータの計算結果Ｕは、検出対象データＤに対して初期値１から計算を開始したときの計算結果と等しくなる。
【００３５】
そして、この場合も終了位置Ｂの後に０のデータは挿入されていないので、判定手段２８において、その計算結果Ｕと基準データＲ（０）＝Ｚとが比較され、両者が一致すれば、検出対象データＤに誤りが無く、計算結果Ｕが特定値に一致しなければ検出対象データＤに誤りがあると判定される。
【００３６】
また、図５（ａ）のように、検出対象データＤの先頭位置ＡがＮビット幅で入力されるデータの最上位以外の位置、即ち、Ｐ・Ｎ＋２〜（Ｐ＋１）・Ｎのいずれかで表される位置にあり、且つ、終了位置Ｂが最下位以外の位置、即ち、（Ｑ−１）・Ｎ＋１〜Ｑ・Ｎ−１で表される位置にあるフレームデータＦが入力された場合、前記同様に、図５の（ｂ）のように、ゼロデータ挿入手段２２によって先頭位置Ａを含むＮビット幅のデータの最上位から先頭位置Ａの直前位置までに０のデータが連続的に挿入され、終了位置Ｂの直後位置から最下位まで０のデータが連続的に挿入される。
【００３７】
また、データ反転手段２３により、先頭位置ＡからＫビット分のデータｄ（１）〜ｄ（Ｋ）を反転されて、並列ＣＲＣ計算手段２４へ入力される。
【００３８】
並列ＣＲＣ計算手段２４は、前記同様に、初期値０の状態でＣＲＣ計算を行う。この場合、終了位置Ｂのデータｄ（Ｙ）までのＣＲＣ計算の途中結果は、前記したように、検出対象データＤに対するＣＲＣ計算結果と一致し、検出対象データＤに誤りが無ければその途中結果は基準データＲ（０）＝Ｚと一致するが、その後に０のデータが連続しているので、最終の計算結果Ｕは、たとえ検出対象データＤに誤りが無い場合でも値Ｚには一致せず、終了位置Ｂに続くデータ０の数に応じた計算結果がでてくる。この場合の計算結果Ｕは、終了位置Ｂに続くデータ０の数がＮより小さいため、終了位置Ｂに続くデータ０の数によってそれぞれ決まる固有の値となる。
【００３９】
この計算結果Ｕを受けた判定手段２８は、データ挿入手段２２によって終了位置Ｂの後に挿入された０のデータ数に対応する基準データＲ（ｘ）を読出し、この読み出した基準データＲ（ｘ）と計算結果Ｕとを比較し、両者が一致すれば検出対象データに誤りがなく、両者が一致しなければ検出対象データに誤りがあると判定する。
【００４０】
以上のように構成されているので、この誤り検出装置２０は、たとえ、Ｎビット幅で並列に入力されるフレームデータ内の誤り検出の対象となる検出対象データの先頭位置ＡがＮビット幅のデータの最上位にない場合や、検出対象データの終了位置ＢがＮビット幅のデータの最下位にない場合でも、その先頭位置の前のデータや終了位置の後のデータの影響を受けずに、検出対象データに対するＣＲＣ計算を正しく行うことができる。
【００４１】
また、入力されるデータに対する加工は、０のデータの挿入とデータの反転処理だけなので、簡単に構成できる。
【００４２】
前記した誤り検出装置２０では、終了位置Ｂの後に挿入する０のデータ数に応じた基準データを基準データ記憶手段２７に予め記憶しておき、並列ＣＲＣ計算手段２４の計算結果と、基準データ記憶手段２７から読み出した基準データとを比較することで、誤りの有無を判定していたが、図６に示す誤り検出装置４０のように、誤りの無いデータに対するＣＲＣ計算の計算結果を相殺するための相殺データを終了位置Ｂの後に挿入する相殺データ挿入手段４１を設けることで、基準データ記憶手段２７を省略することができる。
【００４３】
この誤り検出装置４０では、図７の（ａ）のように入力されるフレームデータＦに対して、図７の（ｂ）に示すように、相殺データ挿入手段４１により、終了位置Ｂの後に、誤りの無いデータに対するＣＲＣ計算の計算結果、即ち、特定の値Ｚを相殺するための相殺データＺ′（＝Ｚ）を挿入し、ゼロデータ挿入手段２２′により、先頭位置Ａを含むＮビット幅のデータの最上位から先頭位置Ａの直前までの範囲と、相殺データＺの最終挿入位置Ｃを含むＮビット幅のデータの最終挿入位置Ｃの直後から最下位までの範囲に０のデータを連続挿入し、データ反転手段２３により、先頭位置ＡからＫビット分のデータを反転して、並列ＣＲＣ計算手段２８に入力する。
【００４４】
この場合、前記同様に、先頭位置Ａを含むＮビット幅のデータから終了位置Ｂを含むＮビット幅のデータの終了位置ＢまでのＣＲＣ計算の途中結果は、検出対象データＤに対して初期値１の状態でＣＲＣ計算を行った場合の結果と等しく、検出対象データＤに誤りが無ければ特定の値Ｚとなるが、その後に続く相殺データＺ′までのＣＲＣ計算を行うと、特定の値Ｚが相殺されてその結果は０となる。
【００４５】
そして、この相殺データＺ′の後に０のデータが続いても、最終の演算結果Ｕは、検出対象データＤに誤りが無ければ０のままである。
【００４６】
したがって、判定手段２８′は、並列ＣＲＣ計算手段２４の計算結果Ｕが０のときには、検出対象データＤに誤りが無く、計算結果Ｕが０以外のときには、検出対象データＤに誤りがあると判定することができる。
【００４７】
なお、上記した誤り検出装置２０、４０では、入力される検出対象データＤに含まれるＦＣＳが、生成多項式でデータを割ったときの余りを反転させたデータであるプロトコル（イーサネット等）の場合について説明したが、入力される検出対象データＤに含まれるＦＣＳが、生成多項式でデータを割ったときの余りそのものを示すプロトコルの場合には、その検出対象データＤに誤りがなければＣＲＣの計算結果は０となる。
【００４８】
したがって、このような場合には、図８に示す誤り検出装置５０のように、ゼロデータ挿入手段２２によって、先頭位置Ａを含むＮビット幅のデータの最上位から先頭位置Ａの直前までの範囲と、終了位置Ｂを含むＮビット幅のデータの終了位置Ｂの直後から最下位までの範囲に０のデータを連続挿入し、データ反転手段２３により、先頭位置ＡからＫビット分のデータを反転して、並列ＣＲＣ計算手段２８に入力し、判定手段２８′により、その計算結果Ｕが０であれば検出対象データに誤りがなく、計算結果Ｕが０以外の値であれば、検出対象データに誤りがあると判定することができる。
【００４９】
なお、前記した誤り測定装置２０、４０、５０では、ゼロデータ挿入手段２２（２２′）によって０のデータが挿入されたデータに対して、データ反転手段２３による反転処理を行っていたが、逆に、データ反転手段２３による反転処理を行ったデータにゼロデータ挿入手段２２（２２′）による０のデータの挿入処理を行ってもよい。
【００５０】
また、同様に、相殺データ挿入手段４１による相殺データの挿入処理も０のデータの挿入処理の後や、データ反転処理の後に行ってもよい。
【００５１】
【発明の効果】
以上説明したように本発明の請求項１の誤り検出装置は、
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記終了位置を含むＮビット幅のデータの前記終了位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転するデータ反転手段（２３）と、
前記ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記終了位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記次数の生成多項式に基づくＣＲＣ計算上で誤りの無いデータの後に０のデータを付加して構成されるデータに対して、前記次数の生成多項式に基づくＣＲＣ計算を行ったときの計算結果を、前記付加した０のデータの数毎に予め記憶している基準データ記憶手段（２７）と、
前記ゼロデータ挿入手段によって前記検出対象データの終了位置の後に挿入された０のデータ数に対応する基準データを前記基準データ記憶手段から読み出し、該読み出した基準データと前記並列ＣＲＣ計算手段の計算結果とを比較して前記検出対象データに誤りがあるか否かを判定する判定手段（２８）とを備えたことを特徴としている。
【００５２】
このため、簡単な構成で、余り反転型のＦＣＳを含む検出対象データの先頭位置や終了位置がどの位置にあっても、検出対象データに対するＣＲＣ計算および判定を正しく行うことができる。
【００５３】
また、本発明の請求項２の誤り検出装置は、
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
誤りの無いデータに対する前記ＣＲＣ計算の生成多項式で決まる固有の計算結果を相殺するための相殺データを、前記Ｎビット幅で入力されるフレームデータのうちの前記検出対象データの前記終了位置の直後に挿入する相殺データ挿入手段（４１）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記相殺データ挿入手段が挿入する相殺データの挿入最終位置を含むＮビット幅のデータの前記挿入最終位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２′）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転加工するデータ反転手段（２３）と、
前記相殺データ挿入手段、ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記相殺データの挿入最終位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記並列ＣＲＣ計算手段の計算結果が０のとき前記検出対象データに誤りが無く、０以外のとき前記検出対象データに誤りがあると判定する判定手段（２８′）とを備えたことを特徴としている。
【００５４】
このため、簡単な構成で、余り反転型のＦＣＳを含む検出対象データの先頭位置や終了位置がどの位置にあっても、検出対象データに対するＣＲＣ計算および判定を正しく行うことができる。
【００５５】
また、本発明の請求項３の誤り検出装置は、
Ｎビット幅（Ｎは複数）で並列入力されるデータ列で構成されるフレームデータと、該フレームデータ内のＣＲＣ計算による誤り検出の対象となる検出対象データの先頭位置と終了位置を示す情報とを受けて、該検出対象データの誤りを検出する誤り検出装置において、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置を含むＮビット幅のデータの最上位から前記先頭位置の直前位置までの範囲と、前記終了位置を含むＮビット幅のデータの前記終了位置の直後から最下位までの範囲に０のデータを連続挿入するゼロデータ挿入手段（２２）と、
前記Ｎビット幅で入力されるフレームデータのうち、前記検出対象データの前記先頭位置からＣＲＣ計算に用いる生成多項式の次数に等しいビット分のデータを反転するデータ反転手段（２３）と、
前記ゼロデータ挿入手段および前記データ反転手段によって加工された前記先頭位置を含むＮビット幅のデータから前記終了位置を含むＮビット幅のデータまでを計算対象データとし、該計算対象データに対して前記次数の生成多項式に基づくＣＲＣ計算を初期値０の状態から行う並列ＣＲＣ計算手段（２４）と、
前記並列ＣＲＣ計算手段の計算結果が０のとき前記検出対象データに誤りが無く、０以外のとき前記検出対象データに誤りがあると判定する判定手段（２８′）とを備えたことを特徴としている。
【００５６】
このため、簡単な構成で、余り非反転型のＦＣＳを含む検出対象データの先頭位置や終了位置がどの位置にあっても、検出対象データに対するＣＲＣ計算および判定を正しく行うことができる。
【図面の簡単な説明】
【図１】本発明の実施形態の構成を示す図
【図２】実施形態の要部の構成を示す図
【図３】入力されるフレームデータと加工後のデータを示す図
【図４】入力されるフレームデータと加工後のデータを示す図
【図５】入力されるフレームデータと加工後のデータを示す図
【図６】本発明の他の実施形態の構成を示す図
【図７】入力されるフレームデータと加工後のデータを示す図
【図８】本発明の他の実施形態の構成を示す図
【符号の説明】
１０  フレームデータ検出部
２０、４０、５０  誤り検出装置
２２、２２′  ゼロデータ挿入手段
２３  データ反転工手段
２４  並列ＣＲＣ計算手段
２５  シフトレジスタ
２６  排他的論理和回路
２７  基準データ記憶手段
２８、２８′  判定手段
４１  相殺データ挿入手段
【図１】
0003554715.tif 000002
【図２】
0003554715.tif 000003
【図３】
0003554715.tif 000004
【図４】
0003554715.tif 000005
【図５】
0003554715.tif 000006
【図６】
0003554715.tif 000007
【図７】
0003554715.tif 000008
【図８】
0003554715.tif 000009