(57)【要約】【課題】  誤り復号回路、データバスの制御方法、及びデータバスシステムにおいて、データバスの動作を高速化すること。【解決手段】  誤り復号回路１は、受信データの誤り訂正処理を含む誤り復号回路において、受信データについてシンドロームを算出するシンドローム算出回路１ａと、シンドロームに基づいて誤りを検出する誤り検出回路１ｂ、シンドロームに基づいて誤り位置を算出する誤りパターン算出回路１ｃと、誤りパターンに基づいて受信信号の誤り訂正を行う反転回路１ｄとを備えた構成とし、誤り検出回路１ｂの検出結果に基づいて、受信信号に誤りがある場合にバスマスタ２に対してバスサイクルの延長要求信号を出力する。受信データに誤りがなければ入力したデータを訂正せずにデータバスに出力し、誤りがあり、誤り復号回路において訂正を行う場合のみバスサイクルを延長させることにより、データバスを高速動作させる。【選択図】  図１
2005086683.tif 000002
【特許請求の範囲】
【請求項１】
受信データの誤り訂正処理を含む誤り復号回路において、
受信データについてシンドロームを算出するシンドローム算出回路と、
前記シンドロームに基づいて誤りを検出する誤り検出回路と、
前記シンドロームに基づいて誤り位置を算出する誤りパターン算出回路と、
前記誤りパターンに基づいて受信信号の誤り訂正を行う反転回路とを備え、
前記誤り検出回路の検出結果に基づいて、受信信号に誤りがある場合にバスマスタに対してバスサイクルの延長要求信号を出力することを特徴とする誤り復号回路。
【請求項２】
前記反転回路は、前記誤りパターンに基づいて受信信号を反転して誤り訂正を行うことを特徴とする、請求項１に記載の誤り復号回路。
【請求項３】
前記誤り検出回路は、
受信信号に誤りがある場合には、誤りパターン算出回路を駆動させると共にバスサイクルの延長要求信号を出力し、
受信信号に誤りがない場合には、反転回路に入力した受信データをそのまま出力させることを特徴とする、請求項１に記載の誤り復号回路。
【請求項４】
バスマスタと少なくとも１つのバススレーブとをバスを介して接続してなるデータバスをバスサイクルに従って制御する制御方法において、
前記バスサイクルを前記バススレーブにおける受信信号の誤り検出の検出結果に基づいて変更することを特徴とする、データバス制御方法。
【請求項５】
前記バススレーブは、受信信号の誤り検出を行い、当該誤り検出の検出結果に基づいてバスサイクルのサイクル時間を延長する要求信号を出力し、
前記バスマスタは前記延長要求信号に基づいてバスサイクルを延長し、当該延長したサイクル時間によりバス中のデータ制御を行うことを特徴とする、請求項４に記載のデータバス制御方法。
【請求項６】
前記バススレーブは、受信信号に誤りを検出する毎に延長要求信号を出力し、
前記バスマスタは、前記延長要求信号の出力毎に１バスサイクルのみ延長することを特徴とする、請求項４又は５に記載のデータバス制御方法。
【請求項７】
バスマスタと少なくとも１つのバススレーブとをバスを介して接続してなるデータバスシステムにおいて、
前記バススレーブは、受信信号の誤り検出時にバスサイクルの延長要求信号を送信することを特徴とする、データバスシステム。
【請求項８】
前記バススレーブは、受信信号の誤りを検出し、当該誤り検出の検出結果に基づいてバスサイクルのサイクル時間を延長する要求信号を出力する誤り検出手段を備え、
前記バスマスタは、前記延長要求信号に基づいてバスサイクルを延長し、当該延長したサイクル時間によりバス中のデータを制御する制御手段を備えること特徴とする、請求項７に記載のデータバスシステム。
【請求項９】
バスマスタと少なくとも１つのバススレーブとをバスを介して接続してなるデータバスシステムにおいて、
前記バススレーブは、前記請求項１記載の誤り復号回路を備えることを特徴とする、データバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信データを誤り訂正処理して訂正データを取得するデータ処理に関わり、受信データを復号する誤り復号回路、当該誤り復号回路が接続されたデータバスを接続する制御方法、及び当該データバスを含むシステムに関する。
【背景技術】
【０００２】
データ中の誤りを訂正する方法として、誤り訂正符号を用いる方法が知られている。ここで、誤り訂正符号を用いた誤り訂正の概略について、図６を用いて説明する。
図６において、入力データは符号化回路１０により符号化される。符号化回路１０は、例えば後述するパリティ検査マトリックスに基づいて検査ビットを形成し、この検査ビットを入力データに付加して送信データを作成する。
【０００３】
送信データは伝送路１１に送られ、伝送路１１は通信先に受信信号を伝達する。通信先では、受信した受信データを誤り復号回路１２で解読して出力データを生成する。  
一般に、伝送路１１には誤動作や外部ノイズ等に外乱要因があり、受信データは誤りを含むおそれがある。誤り復号回路１２は、この誤りを訂正する機能を備える。なお、伝送路は通常の通信路に限らず、メモリシステムにおけるメモリ素子に適用することができ、送信データはメモリ素子への書き込み情報に適用させ、受信データはメモリ素子からの読み出し情報に適用させることもできる。
【０００４】
検査ビットが付加されて符号化された送信データは一般にｎビットの２進数で表すことができ、この送信データはｒビットの検査ビットを含むＤ＝（ｄ０，ｄ１，…ｄｎ−１）により表すことができる。符号化は、０と１の２進数を要素とするｒ行ｎ列のパリティ検査マトリックス（以下、Ｈマトリックスという）で表すことができ、誤りを含まない送信データＤとＨマトリックスとの間には次の関係が成り立つ。つまり、送信データＤの検査ビットは、次の関係が成り立つように定められる。
【０００５】
Ｄ・ＨT＝０                    （１）
なお、ここで、ＨTはＨの行と列を入れ換えた転置行列である。
式（１）の計算結果はシンドロームＳと呼ばれ、ｒビットからなるベクトルで表される。このシンドロームＳが、Ｓ＝０であれば誤り無しと判定し、Ｓ≠０であれば誤り有りと判定する。また、このシンドロームＳのパターンをＨマトリックスに基づいて解析することにより誤りの位置と大きさを求めることができ、誤りを含むデータを訂正することができる。
【０００６】
伝送中において誤りが発生しなければ、受信データは送信データと同じになる。したがって、送信データＤは上記式（１）を満足するように形成されているから、受信データに誤りがない場合には、上記式（１）の左辺中のＤを受信データとすることにより得られる計算結果は０（ｒビットの零ベクトル）となる。一方、誤りが発生した場合には、上記式（１）の左辺中のＤを受信データとして得られる計算結果は０ではなくなる。この計算結果のパターンのｒビットのベクトルをＨマトリックスに基づいて解析することにより、受信データの誤りの位置と大きさを求めることができ、受信データを訂正することができる。
【０００７】
一般に、誤り復号回路の誤り検出や誤り訂正の精度を上げると、回路の規模も大きくなる。上記した誤り復号回路を使用する場合には、受信データ中の誤りの有無に関わらず、誤り復号回路には全ての受信データが通されることになる。そのため、高い精度誤りの検出や誤り訂正が求められる場合には、誤り訂正を行う必要がない受信データについても大きな規模の回路を通さなければならず、高速動作が困難となるという問題がある。
【０００８】
図７は従来の誤り復号回路のデータ処理サイクルを説明するための図である。図７に示すように、従来の誤り復号回路は、受信データに誤りが含まれるか否かに関わらず、各誤り復号の処理を同一のサイクルＴを単位として行うよう設定している。図７中に示すサイクル１からサイクル３において、サイクル１，３で処理される受信データは誤りを含まず、サイクル２で処理される受信データは誤りを含むものとしている。
【０００９】
サイクル時間は、長い処理時間を要する誤り訂正の処理に合わせて設定されているため、誤り訂正を行わず単に復号化するだけの処理では、設定されたサイクル時間内の早い時期に処理が完了することになる。したがって、この誤り復号回路の処理速度は、誤り訂正を行うサイクル時間によって定まることになる。
【００１０】
このような誤り復号回路が持つ問題を解決して高速動作を行う技術としてＣＲＣ符号を用いた方法が提案されている（特許文献１参照）。  
この方法は、データ分析にＣＲＣ符号を付加し、ＣＲＣ符号を含むデータ部に対して誤り符号（ＥＣＣ）を設ける方法であり、誤り符号を除いたデータ部でＣＲＣチェックを行い、データに誤りがある場合には誤り訂正回路で誤り訂正した訂正データは用い、データに誤りがない場合には訂正回路を通さない受信データを用いることにより、高速化を図ろうとするものである。
【００１１】
図８はこの従来の高速動作のための一構成例を説明するための概略図である。図８において、受信データは、データＤ０〜Ｄｘと、ＣＲＣ符号ＣＲＣ０〜ＣＲＣｙと、誤り符号ＥＣＣ０〜ＥＣＣｚとを含む。受信データは２つの系統で処理され、一方は誤り訂正回路１２ａで誤り訂正された後ＣＲＣチェック回路１２ｂで誤り検出され訂正データとして出力され、他方はスイッチ１２ｃを介して得られたデータＤ０〜Ｄｘ及びＣＲＣ符号ＣＲＣ０〜ＣＲＣｙが訂正処理することなくバッファメモリ１２ｄに一次的に記憶される。
【００１２】
前記２つの系統で得られた訂正データと無訂正データは、選択回路１２ｅで選択されて出力データとして出力される。この選択回路１２ｅによる選択は、別に用意したＣＲＣチェック回路１２ｆで得られた選択信号により行われ、誤りがある場合には誤り訂正回路１２ａで誤り訂正された訂正データが選択され、誤りがない場合にはバッファ１２ｄに記憶しておいた無訂正データを選択する。
【００１３】
図９は、上記の高速動作の構成例において、受信データに誤りがない場合とある場合のサイクル例を示す図である。  
受信データに誤りがある場合（サイクルＢ）には、受信データ（図９（ａ））は、ＣＲＣチェックの結果に基づいて（図９（ｄ））、誤り訂正回路による訂正処理で得られる訂正データ（図９（ｃ））を選択するため（図９（ｅ））、サイクル時間は “Ｔ２”となる。
【００１４】
一方、受信データに誤りがない場合（サイクルＡ）には、受信データ（図９（ａ））は、ＣＲＣチェックの結果に基づいて（図９（ｄ））、誤り訂正回路による訂正処理を行わない（図９（ｂ））か、あるいは誤り訂正回路で得られる訂正データを選択せず、無訂正のデータ（図９（ｃ））を選択するため（図９（ｅ））、サイクル時間は受信データを訂正する時間分だけ短い“Ｔ１”となる。
【００１５】
【特許文献１】特開平５−２１８８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上記したＣＲＣチェック回路を用いた構成は、各誤り復号回路においてサイクル時間を短縮するには有効であるが、これらの誤り復号回路を含む装置が接続されるデータバスシステムのバスサイクルを高速化することはできない。これは、データバスシステムでは、共通のバスに接続される複数のバススレーブをバスマスタにより制御管理している。バスマスタはデータバスシステムに設定されたバスサイクルに従って制御管理を行っている。このバスサイクルは、各バススレーブが備える誤り復号回路のサイクルを、データの誤り状況に応じて切り換えたとしても、バススレーブのバスサイクルの内で最も長いものに合わせる必要があり、バスマスタはデータバスシステム全体に対して設定したバスサイクルに基づいて動作しているため、データバスシステムの高速動作には結びつかないという問題がある。
【００１７】
図１０は、従来のＣＲＣチェック回路を用いた構成をデータバスシステムに適用した場合のバスサイクルを説明するための図である。受信データに誤りがない場合には、図９に示したようにサイクル時間はＴ１となり短くすることができるが、受信データに誤りがある場合には、図９に示したようにサイクル時間はＴ２となって長くなるため、データバスシステムは同一のサイクル時間で処理するには、長いサイクル時間Ｔ２を用いる必要がある。
【００１８】
また、従来のＣＲＣチェック回路を用いた構成では、ＣＲＣ符号を使用するため、誤り訂正後のデータに対して別途ＣＲＣチェックを行う必要があるため、受信データ中の誤りを検出するためのＣＲＣチェック回路（図８中のＣＲＣチェック回路１２ｆ）に加えて、訂正後のデータ用のＣＲＣチェック回路（図８中のＣＲＣチェック回路１２ｂ）が必要となり、ＣＲＣチェック回路を二重に要するという問題がある。  
また、ＣＲＣ符号に対しても誤り訂正符号が必要であるため、誤り訂正回路の規模も大きくなるという問題の他に、処理時間も長くなるという問題もある。  
そこで、本発明は、上記した従来の課題を解決して、誤り復号回路、データバスの制御方法、及びデータバスシステムにおいて、データバスの動作を高速化することを目的とする。
【課題を解決するための手段】
【００１９】
本発明は、受信データに誤りがなければ入力したデータを訂正せずにデータバスに出力し、誤りがあり、誤り復号回路において訂正を行う場合のみバスサイクルを延長させることにより、データバスを高速動作させる。  
本発明は、誤り復号回路の態様と、データバスの制御方法の態様と、このデータバスシステムの態様の各態様を含む。
【００２０】
本発明の誤り復号回路は、受信データの誤り訂正処理を含む誤り復号回路において、受信データについてシンドロームを算出するシンドローム算出回路と、シンドロームに基づいて誤りを検出する誤り検出回路と、シンドロームに基づいて誤り位置を算出する誤りパターン算出回路と、誤りパターンに基づいて受信信号の誤り訂正を行う反転回路とを備えた構成とし、誤り検出回路の検出結果に基づいて、受信信号に誤りがある場合にバスマスタに対してバスサイクルの延長要求信号を出力する。
【００２１】
受信信号に誤りがある場合にバスマスタに対してバスサイクルの延長要求信号を出力することにより、バスマスタは通常は短いバスサイクルで処理を行い、誤り復号回路で誤り訂正を行う場合のみ延長要求信号に基づいてバスサイクルを延長する。一般に、データに誤りが発生する頻度は低く、訂正を行わないサイクルが主である。そこで、本発明によれば、訂正を行わないサイクルの短いバスサイクルを通常のバスサイクルとして設定し、誤り訂正を行う場合のみにバスサイクルを延長することにより、ほとんどの場合を短いバスサイクルで処理を行う。これにより、データバスサイクルを高速化する。  
誤り検出回路は、受信信号に誤りがある場合には、誤りパターン算出回路を駆動させると共にバスサイクルの延長要求信号を出力し、受信信号に誤りがない場合には、反転回路に入力した受信データをそのまま出力させる。誤り検出回路はシンドロームに基づいて誤りを検出することにより、従来のようなＣＲＣ回路の付加を不要とすることができる。
【００２２】
誤り復号回路において、反転回路は誤りパターンに基づいて受信信号を反転して誤り訂正を行う。誤り訂正を行わない場合には、反転回路は入力したデータをそのまま通過させるため、反転回路のみで誤り訂正を行う場合と誤り訂正を行わない場合の処理を行うことができる。  
本発明のデータバスの制御方法の態様は、バスマスタと少なくとも１つのバススレーブとをバスを介して接続してなるデータバスをバスサイクルに従って制御する制御方法において、バスサイクルをバススレーブにおける受信信号の誤り検出の検出結果に基づいて変更する。
【００２３】
バススレーブは、受信信号の誤り検出を行い、この誤り検出の検出結果に基づいてバスサイクルのサイクル時間を延長する要求信号を出力し、バスマスタは延長要求信号に基づいてバスサイクルを延長し、延長したサイクル時間によりバス中のデータ制御を行う。
また、バススレーブは受信信号に誤りを検出する毎に延長要求信号を出力し、バスマスタは延長要求信号の出力毎に１バスサイクルのみ延長する。バスマスタは１つの延長要求信号につき１バスサイクルのみ延長を行い、この１バスサイクルの延長が完了した後は元のバスサイクルで処理を行う。
【００２４】
本発明のデータバスシステムは、バスマスタと少なくとも１つのバススレーブとをバスを介して接続してなるデータバスシステムにおいて、バススレーブは受信信号の誤り検出時にバスサイクルの延長要求信号を送信する。  
バススレーブは、受信信号の誤りを検出し、当該誤り検出の検出結果に基づいてバスサイクルのサイクル時間を延長する要求信号を出力する誤り検出手段を備え、バスマスタは、延長要求信号に基づいてバスサイクルを延長し、当該延長したサイクル時間によりバス中のデータを制御する制御手段を備える。
【００２５】
バスマスタと少なくとも１つのバススレーブとをバスを介して接続してなるデータバスシステムにおいて、バススレーブは、受信データについてシンドロームを算出するシンドローム算出回路と、シンドロームに基づいて誤りを検出する誤り検出回路と、シンドロームに基づいて誤り位置を算出する誤りパターン算出回路と、誤りパターンに基づいて受信信号の誤り訂正を行う反転回路とを具備した誤り復号回路を備え、誤り復号回路は、誤り検出回路の検出結果に基づいて、受信信号に誤りがある場合にバスマスタに対してバスサイクルの延長要求信号を出力する。
【００２６】
本発明の誤り復号回路、データバスの制御方法、及びデータバスシステムは、受信データに誤りがなければ入力したデータを訂正せずにデータバスに出力し、誤りがあり、誤り復号回路において訂正を行う場合のみバスサイクルを延長させることにより、データバスを高速動作させることができる。
【発明の効果】
【００２７】
本発明によれば、データバスの動作を高速化することができる。  
本発明の誤り復号回路によれば、データに誤りがある場合のみ誤り訂正を行うと共に、サイクル延長要求をバスマスタに出力することにより、誤り復号回路の処理を高速化すると共に、データバスサイクルを高速化することができる。また、データバスサイクルの高速化のための誤り復号回路の構成を簡易なものとすることができる。  
本発明のデータバス制御方法、及びデータバスシステムによれば、バスマスタは、バススレーブからのサイクル延長要求に基づいてデータバスサイクルを切り換えることにより、データバスサイクルを高速化することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態について、図を参照しながら詳細に説明する。  
図１は、本発明の誤り復号回路の概要を説明するための図である。図１に示す誤り復号回路１は、受信データを入力してそのシンドロームを算出するシンドローム算出回路１ａと、算出したシンドロームに基づいて誤りを検出する誤り検出回路１ｂと、誤りを検出した場合にシンドロームに基づいて誤り位置を算出する誤りパターン算出回路１ｃと、算出した誤りパターンに基づいて受信信号の誤り訂正を行う反転回路１ｄとを備える。  
誤り検出回路１ｂは、検出結果に基づいて受信信号に誤りがある場合に、バスマスタ２に対してバスサイクルの延長要求信号を出力する。
【００２９】
なお、受信データは、入力データに対して図示しない符号化回路によって検査ビットが付加され、伝送路を介して受信されるデータである。伝送路は、通常の通信路に限らず、メモリシステムにおけるメモリ素子に適用することができ、送信データはメモリ素子への書き込み情報に適用させ、受信データはメモリ素子からの読み出し情報に適用させることもできる。
【００３０】
ここで、検査ビットが付加されて符号化された送信データは、前記したように、一般にｎビットの２進数で表すことができ、この送信データはｒビットの検査ビットを含むＤ＝（ｄ０，ｄ１，…ｄｎ−１）により表すことができる。  
符号化は、前記したように、０と１の２進数を要素とするｒ行ｎ列のパリティ検査マトリックス（以下、Ｈマトリックスという）で表すことができ、送信データＤとするとき検査マトリックスＨのビットは、式（１）の関係が成り立つように定められる。したがって、誤りを含まない送信データＤとＨマトリックスとの間には前記式（１）の関係が成り立つ。
【００３１】
シンドローム算出回路１ａは、式（１）の演算を行ってシンドロームＳの計算結果を得る。このシンドロームＳはｒビットからなるベクトルで表される。
誤り検出回路１ｂは、算出したシンドロームＳが、Ｓ＝０であれば誤り無しと判定し、Ｓ≠０であれば誤り有りと判定する。また、誤りパターン算出回路１ｃは、シンドロームＳのパターンをＨマトリックスに基づいて解析する。得られる誤りパターンは、送信データに含まれる誤りの位置と大きさを求めることができ、誤りを含むデータを訂正することができる。
【００３２】
シンドローム算出回路１ａは、送信データＤについて、その送信データＤの形成に用いた検査マトリックスＨを用いて式（１）の演算を行う。ここで、伝送中において誤りが発生しなければ、受信データは送信データと同じになるため、式（１）の左辺中のＤを受信データとすることにより得られる計算結果は０（ｒビットの零ベクトル）となる。
一方、誤りが発生した場合には、式（１）の左辺中のＤを受信データとして得られる計算結果は０ではなくなる。  
この計算結果のパターンのｒビットのベクトルをＨマトリックスに基づいて解析することにより、受信データの誤りの位置と大きさを求めることができ、受信データを訂正することができる。
【００３３】
反転回路１ｄは、誤りパターン算出回路１ｃで算出した誤りパターンと受信データとの排他的論路和をとることにより受信データの訂正を行う。なお、誤りがない場合には、反転回路１は、入力した受信データを反転することなくそのまま出力する。  
また、本発明の誤り検出回路１ｂは、シンドロームＳに基づいて受信データの誤り検出を行うと共に、誤りを検出して誤り復号回路１で誤り訂正を行う場合には、バスマスタ２に対してサイクル延長要求を出力する。  
サイクル延長要求は、バスマスタに対してバスサイクルのサイクル時間の延長を要求するものである。バスマスタは、このサイクル延長要求を受けると、データバスサイクルのサイクル時間を延長し、延長したサイクル時間に基づいてデータ処理を行う。
【００３４】
図２は、本発明の誤り復号回路の処理の手順を説明するためのフローチャートである。なお、図２中に示すＳ番号は、以下の（ステップＳ）と一致して示している。
図２において、シンドローム算出回路１ａは受信データを取り込み（ステップＳ１）、シンドロームＳを算出する（ステップＳ２）。誤り検出回路１ｂは、算出したシンドロームＳが０（零ベクトル）であるか否かに基づいて、誤りの有無を判定する（ステップＳ３）。
【００３５】
誤り検出回路１ｂは、シンドロームＳが０（零ベクトル）でない場合には誤り有りと判定し（ステップＳ３）、バスマスタ２に対してサイクル延長を要求し（ステップＳ４）、誤りパターン算出回路１ｃに誤りパターンを算出させる（ステップＳ５）。
反転回路１ｄは、誤りパターン算出回路１ｃから得た誤りパターンと、入力した受信データとの排他的論路和を求め、誤りを含む受信データを誤り訂正し（ステップＳ６）、訂正データを出力する（ステップＳ７）。
【００３６】
一方、誤り検出回路１ｂは、シンドロームＳが０（零ベクトル）の場合には誤り無しと判定し（ステップＳ３）、反転回路１ｄにおいて入力した受信データを反転することなく、そのままの受信データをバスに出力する（ステップＳ８）。したがって、誤り無しの場合には、誤りパターン算出回路１ｃでは誤りパターンの算出処理は行わない。また、誤り無しの場合には、誤り検出回路１ｂは、バスマスタ２に対してサイクル延長の要求を行わない。  
ステップＳ１〜ステップＳ８の工程は各バスサイクル毎に行い、次のバスサイクル時には、延長したバスサイクルのサイクル時間を設定された値に戻し、前記ステップＳ１〜ステップＳ８の工程を繰り返す（ステップＳ９）。
【００３７】
図３は、本発明によるデータバスサイクルのサイクル時間の延長処理を説明するための図であり、受信データに誤りがない場合とある場合のサイクル例を示す図である。なお、図３では、サイクル１，３，４は受信データに誤りがないサイクル例を示し、サイクル２は受信データに誤りがあるサイクル例を示している。
【００３８】
受信データに誤りがない場合（サイクル１，３，４）には、受信データ（図３（ａ））は、設定されたサイクル時間Ｔ１のバスサイクル内で処理され、誤り復号回路によりシンドローム算出と誤り検出が実行され、出力データ（図３（ｄ））がバスに出力される。
一方、受信データに誤りがある場合（サイクル２）には、受信データ（図３（ａ））は、当初は設定されたサイクル時間Ｔ１のバスサイクル内での処理が行われるが、誤り復号回路によるシンドローム算出と誤り検出によって誤りが検出されると、バスマスタに対してサイクル延長要求を出す。バスマスタはこのサイクル延長要求を受けて、サイクル時間をＴ２に延長する（図３（ｅ））。誤り復号回路は、延長されたサイクル時間内において、誤り検出に続いて誤りパターン算出処理と反転処理を行って、誤りを訂正した訂正データをバスに出力する。
【００３９】
延長されたバスサイクルが終了すると、バスマスタは再び設定されたサイクル時間Ｔ１に戻し、サイクル３の処理を続ける。  
図４は、データバスシステムの構成を説明するための概略図である。データバスシステム５は、バス４を介してバスマスタ２及びバススレーブ３が接続されてなる。  
なお、バススレーブ３は複数とすることができ、各バススレーブ３Ａ，３Ｂは、受信したデータを復号する誤り復号回路１Ａ，１Ｂを備える。バスマスタ２は、バス４上の複数のバススレーブ３（３Ａ，３Ｂ）を制御管理する。バスマスタ２は、バス４上のバススレーブ３のデータ処理を、所定のサイクル時間に設定されたバスサイクルに従って行う。このバスサイクルは、例えば、各バススレーブが誤りのないデータについて処理を行うに要する時間に基づいて設定することができる。
【００４０】
バスマスタ２は、通常、受信データに誤りが含まれない処理時間を基準としてバスサイクルを設定することでデータ処理を高速化する。  
バススレーブ３Ａ，３Ｂの何れかにおいて受信データに誤りがある場合には、誤り復号回路はこの誤りを訂正する処理（誤りパターン算出処理、反転処理）を行う。この誤り訂正を行うバススレーブは、誤り検出時にバスマスタ２に対してサイクル延長要求を出し、誤りパターン算出処理や反転処理等の誤り訂正処理が次のサイクルの影響を与えないように、サイクル時間を延長する。延長したバスサイクルが終了した後は、バスマスタ２は延長したサイクル時間を元の設定したサイクル時間に戻す。
【００４１】
図５は、本発明のバスマスタ側の処理の手順を説明するためのフローチャートである。なお、図５中に示すＳ番号は、以下の（ステップＳ）と一致して示している。
バスマスタ２は、バススレーブ３から出されるサイクル延長要求を監視し（ステップＳ１１）、サイクル延長要求が出された場合にはサイクル時間を延長し（ステップＳ１２）、サイクル延長要求が出されていない場合にはサイクル時間は設定されたままとする（ステップＳ１３）。
【００４２】
バスマスタは、延長されたサイクルあるいは設定状態のサイクルに従って、各バススレーブ３から送出されたデータを処理する（ステップＳ１４）。１つのサイクルでの処理が完了した後、次のサイクルにおいて（ステップＳ１５）、サイクルが延長されている場合には元の設定サイクルに戻し（ステップＳ１６）、前記ステップＳ１１〜ステップＳ１５を繰り返す。
【産業上の利用可能性】
【００４３】
本発明の技術は、誤り自動訂正して高い信頼性が求められる装置やシステムに適用することができ、例えば、温度、振動、ノイズ等による作業環境の劣悪な状況の下において、正常動作が求められる産業用装置やシステム、あるいは医療、航空宇宙、公共システムなどの高い信頼性が要求される装置やシステムに適用することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の誤り復号回路の概要を説明するための図である。
【図２】本発明の誤り復号回路の処理の手順を説明するためのフローチャートである。
【図３】本発明によるデータバスサイクルのサイクル時間の延長処理を説明するための図である。
【図４】データバスシステムの構成を説明するための概略図である。
【図５】本発明のバスマスタ側の処理の手順を説明するためのフローチャートである。
【図６】誤り訂正符号を用いた誤り訂正の概略を説明するための図である。
【図７】従来の誤り復号回路のデータ処理サイクルを説明するための図である。
【図８】従来の高速動作のための一構成例を説明するための概略図である。
【図９】従来の高速動作の構成例において、受信データに誤りがない場合とある場合のサイクル例を示す図である。
【図１０】従来のＣＲＣチェック回路を用いた構成をデータバスシステムに適用した場合のバスサイクルを説明するための図である。
【符号の説明】
【００４５】
１  誤り復号回路
１ａ  シンドローム算出回路
１ｂ  誤り検出回路
１ｃ  誤りパターン算出回路
１ｄ  反転回路
２  バスマスタ
３  バススレーブ
４  バス
５  データバスシステム
１０  符号化回路
１１  伝送路
１２  誤り復号回路
１２ａ  誤り訂正回路
１２ｂ  ＣＲＣチェック回路
１２ｃ  スイッチ
１２ｄ  バッファメモリ
１２ｅ  選択回路
１２ｆ  ＣＲＣチェック回路
【図１】
2005086683.tif 000003
【図２】
2005086683.tif 000004
【図３】
2005086683.tif 000005
【図４】
2005086683.tif 000006
【図５】
2005086683.tif 000007
【図６】
2005086683.tif 000008
【図７】
2005086683.tif 000009
【図８】
2005086683.tif 000010
【図９】
2005086683.tif 000011
【図１０】
2005086683.tif 000012