(57)【要約】【課題】エラー検出／訂正をかける単位の大きさ、情報の種類によって、最適な訂正／検出能力の向上を図ったエラー検出／訂正方式を提供する。【解決手段】複数のモジュールＭがバスで接続された制御装置である。各モジュールＭの送信側１０には、送信側選択回路１３で送信する情報により、アドレス／コマンド用の検出／訂正コード生成回路＃Ａ、データの種類毎の検出／訂正コード生成回路＃Ｂ〜＃Ｄを選択切り替えて、ＥＣＣコードをつけて送信する。受信側１１では、受信側選択回路１４が、アドレス／コマンド用のエラー検出／訂正回路＃Ａ、データの種類毎のエラー検出／訂正回路＃Ｂ〜＃Ｄを選択切り替えて使用し、エラー検出訂正を行う。送信する情報がアドレス／コマンドかデータの違い、さらにはデータの種類によって異なるＥＣＣコードを使用でき、最適なエラー検出訂正方式が得られる。【選択図】      図３
2004193664.tif 000002
【特許請求の範囲】
【請求項１】
制御装置におけるバス接続された複数のモジュール間のデータ伝送におけるエラー検出／訂正方式であって、検査ビット長、情報ビット長、訂正能力の少なくとも１つが異なる、複数のエラー検出／訂正コード生成回路及び該エラー検出／訂正コード生成回路に対応するエラー検出／訂正回路を組み込み、転送するデータの種類、長さ、タイミングによって使用するエラー検出／訂正コード生成回路及びエラー検出／訂正回路を切り替えるエラー検出／訂正方式。
【請求項２】
アドレスやコマンド、データを送出するフェーズによって使用するエラー検出／訂正コードを切り替えることを特徴とした請求項１に記載のエラー検出／訂正方式。
【請求項３】
シンングルアクセス時とバーストアクセス時とで使用するエラー検出／訂正コードを切り替えることを特徴とした請求項１又は請求項２に記載のエラー検出／訂正方式。
【請求項４】
転送するデータ量によってエラー検出／訂正コードを切り替えることを特徴とした請求項１に記載のエラー検出／訂正方式。
【請求項５】
前記請求項１乃至４の内のいずれか１項に記載のエラー検出／訂正方式を用いる複数のモジュールがバスで接続された制御装置。
【請求項６】
前記複数のモジュールが接続されたバスの複数をシリアル伝送路によって結合するシリアル転送モジュールを備え、該シリアル転送モジュールにも検査ビット長、情報ビット長、訂正能力の少なくとも１つが異なる、複数のエラー検出／訂正コード生成回路及び該エラー検出／訂正コード生成回路に対応するエラー検出／訂正回路を組み込まれ、シリアル転送においても、前記請求項１乃至４の内のいずれか１項に記載のエラー検出／訂正方式を用いる請求項５に記載の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御装置の各モジュール間を接続するバスにおけるエラー検出／訂正方式及び該方式を用いた制御装置に関する。
【０００２】
【従来の技術】
データ伝送を行う場合、その伝送中にデータの誤りを含む場合があり、このデータ誤りを検出し、訂正するためにエラー検出／訂正コードが用いられている。一般にエラー検出／訂正コードは、検査ビットが多いほど検出／訂正能力が高く、エラー検出／訂正をかける単位が大きくなれば、情報ビットに対する検査ビットの比率が同じ場合は、検出／訂正能力が高まる。
【０００３】
一方でバスの転送単位はアドレス、コマンド部分は固定長であるがデータ部分は長さが様々に変化するため、この制約からデータ側最小転送量によって、エラー検出／訂正をかけるパケットの大きさが決まる。一般に情報ビットに対する検査ビットの比率に対して、低い訂正検出能力に制限されてしまう。
【０００４】
送受信するデータ量の変動に対応するために、特に、メモリ素子の出力ビット数が増加（ｎ×ｋビット）するときに、メモリ素子の出力ビット数が少ないときに使用されたＥＣＣ（エラー訂正コード）回路（ｎビット）を複数個（ｋ個）使用してメモリ素子の故障発生を検出できるようにしたデータ誤り検出装置が知られている（特許文献１参照）。
【０００５】
又、メッセージが固定サイズバースト又はセルを介して交換される多数起点／多数目標端末装置切り替えシステムにおいて、各端末装置は、メッセージの第１バーストでの初期エラー訂正コード，前のバーストエラー訂正コード及びバーストのデータバイトの関数としてエラー訂正コードを生成し、受信バーストエラー訂正コードと比較して誤りを検出するようにして、データ処理端末装置間で交換されるメッセージの保全性を確保するものも知られている（特許文献２参照）。
【０００６】
【特許文献１】
特開平１１−６５９４４号公報（段落「０００９」〜「００１１」及
び図１参照）
【特許文献２】
特開平６−５３９４２号公報（段落「０００６」参照）
【０００７】
【発明が解決しようとする課題】
上述したデータ長が変化するものに対してエラー検出する際に、データを最小単位で分割してその最小単位ごとにエラー検出する方法では、検出／訂正能力は一定となり、先に述べたように、エラー検出／訂正をかける単位が大きくなった場合に、情報ビットに対する検査ビットの比率が同じ場合には、検出／訂正能力が高まるというメリットは享受できない。
【０００８】
そこで、本発明の目的は、エラー検出／訂正をかける単位の大きさが変化しても、又情報の種類によっても、最適な訂正／検出能力の向上を図ったエラー検出／訂正方式及び該方式を採用した制御装置を提供することにある。
【０００９】
【課題を解決するための手段】
制御装置におけるバス接続された複数のモジュール間のデータ伝送におけるエラー検出／訂正方式であって、請求項１に係わる発明は、検査ビット長、情報ビット長、訂正能力の少なくとも１つが異なる、複数のエラー検出／訂正コード生成回路及び該エラー検出／訂正コード生成回路に対応するエラー検出／訂正回路を組み込み、転送するデータの種類、長さ、タイミングによって使用するエラー検出／訂正コード生成回路及びエラー検出／訂正回路を切り替えることにより、データ伝送によるエラーを検出し訂正するようにした。特に、請求項２に係わる発明は、アドレスやコマンド、データを送出するフェーズによって使用するエラー検出／訂正コードを切り替えるものとした。又、請求項３に係わる発明は、シンングルアクセス時とバーストアクセス時とで使用するエラー検出／訂正コードを切り替えるようにした。さらに、請求項４に係わる発明は、転送するデータ量によってエラー検出／訂正コードを切り替えるようにした。
【００１０】
又、請求項５に係わる発明は、上述した請求項１〜４に係わる発明のエラー検出／訂正方式を用いた制御装置であり、請求項６に係わる発明は、複数のモジュールが接続されたバスの複数をシリアル伝送路によって結合するシリアル転送モジュールを備え、該シリアル転送モジュールにも検査ビット長、情報ビット長、訂正能力の少なくとも１つが異なる、複数のエラー検出／訂正コード生成回路及び該エラー検出／訂正コード生成回路に対応するエラー検出／訂正回路を組み込まれ、シリアル転送においても、上述した各エラー検出／訂正方式を用いるようにした制御装置である。
【００１１】
【発明の実施の形態】
図１は、本発明のエラー検出／訂正を採用した制御装置の一実施形態のブロック図である。バス１ａ上には複数のモジュールＭ１〜Ｍｎが接続されている。バス１ｂ上にも複数のモジュールＭ１１〜Ｍ１ｎが接続されている。そしてバス１ａとバス１ｂは、バス結合用モジュールＭａ、Ｍｂでシリアル接続されている。各モジュールは、バスマスタにもスレーブにもなり得る。バスマスタはバス使用権を獲得すると、アクセス先のアドレス、コマンド等を出力することによって、バスサイクルを起こす。これらの情報を出力している状態をアドレスフェーズと呼ぶ。バスマスタ以外のモジュールはアドレスフェーズの情報を受信して、自分に対するアクセスであると判断した場合にスレーブとなり、マスタ、スレーブ間のデータのやり取りが行われる。このデータをやり取りが行われている状態をデータフェーズと呼ぶ。
【００１２】
図２にバス上の転送フォーマットを示す。アドレスフェーズでは、アドレス、コマンドが順次送信され、これら全体に対するエラー訂正コード（以下、ＥＣＣコードという）が最後に付加される。又、アドレス及びコマンドにそれぞれＥＣＣコードを付加する場合もあるが、いずれにしても、アドレスフェーズはフォーマットが固定されている。
【００１３】
しかし、データフェーズは図２（ａ），（ｂ）に示すように、データ量が固定のシングルアクセスと、図２（ｃ）に示すように、データ量が可変のバーストアクセスがある。シングルアクセスには、さらにデータ量の違いによって区別され、図２（ａ）に示すように、例えばデータ量３２ビットに対してＥＣＣコードが付加されている場合と、図２（ｂ）のように、データ量が２倍の６４ビットに対してＥＣＣコードが付加されている場合の２つのシングルアクセスがある。又、バーストアクセスでは、図２（ｃ）に示すように、データ量が可変なので、データとＥＣＣコードが分離されていない。
【００１４】
データフェーズのフォーマットの違いを示す情報はアドレスフェーズのコマンドに入っており、スレーブはこの情報を基にデータフェーズのフォーマットを判断する。
【００１５】
図３にモジュール内部の構成を示す。この実施形態ではバスマスタとスレーブの両方になり得るモジュールで各モジュールＭ１〜Ｍｎ，Ｍ１１〜Ｍ１ｎが構成されている。又、バス結合用モジュールＭａ，Ｍｂもこれらのモジュールと同一構成である。図３は、その１つのモジュール（モジュールＭ１〜Ｍｎ，Ｍ１１〜Ｍ１ｎ、バス結合用モジュールＭａ，Ｍｂを代表してＭと付している）の構成を示すものである。
各モジュールＭには、送信側１０と受信側１１を備え、送信側１０及び受信側１１は内部バス１２を介してモジュール間バス（１ａ，１ｂ）又はシリアル伝送路に接続されている。
【００１６】
送信側１０には、アドレス／コマンドを受信してエラー検出／訂正コード（ＥＣＣコード）を生成する検出／訂正コード生成回路＃Ａ、シングル３２ビットのデータを受信しエラー検出／訂正コード（ＥＣＣコード）を生成する検出／訂正コード生成回路＃Ｂ、シングルでデータ幅が２倍の６４ビットのデータを受信しエラー検出／訂正コード（ＥＣＣコード）を生成する検出／訂正コード生成回路＃Ｃ、バーストのデータを受信しエラー検出／訂正コード（ＥＣＣコード）を生成する検出／訂正コード生成回路＃Ｄ、及び送信側選択回路１３を備える。
【００１７】
アドレス、コマンド、各データ（シングルデータ、２倍のシングルデータ、バーストデータ）はそれぞれ内部バス１２に送出され、かつ、送信側選択回路１３によってその送出されたアドレス／コマンド、データの種類に基づいてＥＣＣコードがそれぞれ図２に示すように付されて、モジュール間バス１ａ，１ｂ又はシリアル伝送路に送出される。
【００１８】
一方、受信側１１は、受信側選択回路１４と、アドレス／コマンドのエラー検出／訂正を行うエラー検出／訂正回路＃Ａ、シングル３２ビットのデータのエラー検出／訂正を行うエラー検出／訂正回路＃Ｂ、シングルでデータ幅が２倍の６４ビットのデータにおけるエラー検出／訂正を行うエラー検出／訂正回路＃Ｃ、バーストデータのデータのエラー検出／訂正を行うエラー検出／訂正回路＃Ｄを備える。モジュール間バス１ａ，１ｂ又はシリアル伝送路を介して受信したアドレス／コマンド、データの種類に基づいて、受信側選択回路１４によって、各エラー検出／訂正回路＃Ａ〜＃Ｄに引き渡され、エラー検出／訂正がなされて、モジュールＭ内に取りこまれる。
【００１９】
バスマスタがアドレス／コマンドを送信するアドレスフェーズの場合は、アドレス／コマンドフェーズ用のエラー検出／訂正コード生成回路＃Ａによって生成されたＥＣＣコードが送信側選択回路１３によって選択され、該ＥＣＣコードが図２に示すようにアドレス／コマンドの後に付されて、モジュール間バス１ａ，１ｂ又はシリアル伝送路に送出される。一方、バスマスタ以外のモジュールはアドレスフェーズを受信する際に受信側選択回路１４によりアドレスフェーズ用のエラー検出／訂正回路＃Ａが選択され使用される。
【００２０】
データフェーズではリードの場合はスレーブがデータを送信し、ライトの場合はバスマスタがデータを送信する。送信側のモジュールは、図２のような転送フォーマット毎に送信側１０のエラー検出／訂正コード生成回路＃Ａ〜＃Ｄを切り替え、バスに送信する。受信側のモジュールは、これに対応して受信側選択回路１４でエラー検出／訂正回路＃Ａ〜＃Ｄを選択切り替える。
【００２１】
バスマスタが出力したアドレス／コマンドがライトの場合、受信側のスレーブのモジュールは、このアドレスフェーズで受信したコマンドの情報によって転送フォーマットを認識し、このコマンドで指令されている転送フォーマットに基づいて、受信側のモジュール（スレーブ）の受信側選択回路１４は、データがシングル３２ビットの場合は、エラー検出／訂正回路＃Ｂに切り替え、データをシングル６４ビットの場合は、エラー検出／訂正回路＃Ｃに切り替え、バーストデータの場合には、エラー検出／訂正回路＃Ｄに切り替えて、データを受信する。
【００２２】
一方、バスマスタが出力したアドレス／コマンドがリードの場合、受信側のスレーブのモジュールは、このアドレスフェーズで受信したコマンドの情報によって転送フォーマットを認識し、この転送フォーマットに基づいて送信側選択回路１３がエラー検出／訂正コード生成回路＃Ｂ〜＃Ｄを選択切り替え、リードしたデータを選択したエラー検出／訂正コード生成回路＃Ｂ〜＃Ｄで生成されたＥＣＣコードを図２に示すように、それぞれのデータにＥＣＣコードを付して送信する。このデータを受信するバスマスタのモジュールでは、アドレスフェーズでアドレス／コマンドを送出するときに、すでに、転送フォーマットを指定しているものであるから、このバスマスタのモジュールの受信側選択回路１４は、指定した転送フォーマットに対応するエラー検出／訂正回路＃Ｂ〜＃Ｄを選択して切り替え、受信データのエラーの検出／訂正を行い、データを取りこむ。
【００２３】
バス間を繋ぐシリアル伝送路においても同様に数種類の転送フォーマットを用意し、最適な回路でエラー検出／訂正を行うことができるようにエラー検出／訂正コード生成回路、又はエラー検出／訂正回路を切り替える。
【００２４】
以上のように、本実施形態では、制御装置内でバスで接続されているモジュール間の通信において、各モジュールには、数種類の転送フォーマットに対応するエラー検出／訂正コード生成回路及びエラー検出／訂正回路を備えることによって、最適のデータ伝送を構成することができる。
【００２５】
上述した実施形態では、アドレス／コマンド用の検出／訂正コード生成回路＃Ａ，エラー検出／訂正回路＃Ａ、データがシングル３２ビット用の検出／訂正コード生成回路＃Ｂ，エラー検出／訂正回路＃Ｂ、データがシングル６４ビット用の検出／訂正コード生成回路＃Ｃ，エラー検出／訂正回路＃Ｃ、バーストデータ用の検出／訂正コード生成回路＃Ｄ，エラー検出／訂正回路＃Ｄをモジュールに設けたが、これ以外にも、検査ビット長、情報ビット長、訂正能力に差異がある検出／訂正コード生成回路，エラー検出／訂正回路を設けて、必要とする最適なエラー検出／訂正方式を採用するようにすればよい。
【００２６】
特に、アドレス、コマンド部分とデータ部分に対するエラー検出／訂正方式を変えることによって、固定長のアドレス、コマンド部分は大きなパケット単位でエラー検出／訂正を適用し、データ部分に比較してより検出／訂正能力を高めることができるようにすることができる。
【００２７】
アドレス、コマンド部分に誤りが発生した場合、予期せぬ部位のデータを乱したり、システムとしてアクセスが許容されない資源に対するアクセスになり、重篤な障害を招く可能性があるため、この部分の誤り訂正／検出能力を高めることによってより高い信頼性が期待できる。
【００２８】
またバスサイクルの一部に高い誤り訂正／検出能力を持つサイクルを含めることによって、万一バスにハード的な不具合が検出された場合に、その原因及び故障箇所を明確にすることが容易になる。例えばアドレス／コマンド部分には隣接２ビットの誤り検出、データ転送部分には１ビット誤り検出とした場合に、バスの隣接２ビットがショートしたケースにはシステムとして継続して動作することはできないが、バスのどの２ビットに不具合があったのかを明確にすることが可能となり、故障箇所や原因の解析に有効である。
【００２９】
【発明の効果】
エラー検出・訂正機能が異なる複数のものの中から伝送する情報の内容、その量、その性質に応じて、最適なものを用いてデータの送受を行うことにより、信頼性の高いデータ伝送を行うことができる。
【図面の簡単な説明】
【図１】本発明のエラー検出／訂正方式を採用した一実施形態の制御装置の要部ブロック図である。
【図２】同実施形態におけるバス上の転送フォーマットの説明図である。
【図３】同実施形態におけるモジュールの一形態の要部ブロック図である。
【符号の説明】
Ｍ，Ｍ１〜Ｍｎ，Ｍ１１〜Ｍ１ｎ  モジュール
Ｍａ，Ｍｂ  バス結合用モジュール
１ａ，１ｂ  バス
１０  送信側
１１  受信側
１２  内部バス
１３  送信側選択回路
１４  受信側選択回路
【図１】
2004193664.tif 000003
【図２】
2004193664.tif 000004
【図３】
2004193664.tif 000005