(57)【要約】【課題】同一システムバス０１Ａ上にあって、互いに異なるバス転送プロトコルによりデータ転送を行う機能モジュール相互間のデータ交換を可能にしてバス転送システムの性能と融通性を高める。【解決手段】第１の機能モジュール群（２０Ａ、３０、４０Ａ）は、システムバスを用いてパラレルデータ転送を実行し、第２の機能モジュール群（２０Ｂ、４０Ｂ）は、コントロールバス４Ａのリード信号線ＲＤ＊を兼ねるシリアルデータ信号線Ｓ１と、同じくライト信号線ＷＴ＊を兼ねるシリアルデータ信号線Ｓ２とを用いてシリアルデータ転送を実行する。プロトコル変換モジュール５０は、パラレルデータ転送によって第１機能モジュールと、シリアルデータ転送によって第２機能モジュールとそれぞれ交信し、第１、第２両機能モジュール相互間のデータ交換を中継する。【選択図】図１
2012073741.tif 000002
【特許請求の範囲】
【請求項１】
システムバスと、
前記システムバスを介して第１のデータ転送プロトコルを実行する第１プロトコル実行部と、
前記システムバスを介して第２のデータ転送プロトコルを実行する第２プロトコル実行部と、
前記システムバスから前記第１のデータ転送プロトコルにて転送されたデータを前記第２のデータ転送プロトコルに変換し、前記システムバスを介して前記第２プロトコル実行部に転送する、または、前記システムバスから前記第２のデータ転送プロトコルにて転送されたデータを前記第１のデータ転送プロトコルに変換し、前記システムバスを介して前記第１プロトコル実行部に転送するプロトコル変換部と、を備えることを特徴とするバス転送システム。
【請求項２】
請求項１に記載のバス転送システムにおいて、
前記プロトコル変換部は、前記データを保持するバッファを有し、前記第１プロトコル実行部から前記バッファに前記データが転送されると、
前記システムバスのアクセス権を決定する調停サイクルに参加して前記アクセス権を獲得した後、前記第２のデータ転送プロトコルを実行して前記第２プロトコル実行部をアクセスすることを特徴とするバス転送システム。
【請求項３】
請求項１または２に記載のバス転送システムにおいて、
前記第１のデータ転送プロトコルはパラレル転送プロトコルであり、前記第２のデータ転送プロトコルはシリアル転送プロトコルであることを特徴とするバス転送システム。
【請求項４】
請求項３に記載のバス転送システムにおいて、
前記システムバスはアドレスバスを有し、
前記プロトコル変換部は前記第２プロトコル実行部との前記シリアル転送の際、
前記アドレスバスにアドレスデータを出力して前記第２プロトコル実行部を指定し、
前記アドレスデータを含まないパケットの授受にてデータ転送することを特徴とするバス転送システム。
【請求項５】
請求項３または４に記載のバス転送システムにおいて、
前記シリアル転送にて使用される前記システムバスの信号線は、前記パラレル転送にて使用する前記システムバスの信号線の一部であることを特徴とするバス転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能モジュールがシステムバスを介してデータ転送するバス転送システムに関する。
【背景技術】
【０００２】
ＦＡ（ファクトリ・オートメーション）やＰＬＣ（プログラマブルコントローラ）等の産業用分野のシステムにおいては、図８および図９に示すような複数のＣＰＵモジュール、複数の入出力モジュールなどがシステムバス０１に接続され、このシステムバスを介して各モジュール間で相互にデータ交換を行うバス転送システムが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−７３４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、上述バス転送システムにおけるデータ転送方法の一例として、パラレルデータ転送方式があるが、パラレルデータ転送方式はそのデータ転送速度に限界が見えてきており、パラレルデータ転送よりも高速にデータ転送できるシリアルデータ転送方式を採用する気運がある。
【０００５】
しかしながら、上述した従来のバス転送システムは、そのシステムで取り決められた１つのプロトコル（転送サイクルにおけるデータ交換方法）を用いて、それぞれのモジュールがデータを転送しているため、異なったプロトコル（例えば、シリアル転送方式）を用いる別のモジュールがシステムバスに搭載されても互換性がなくデータ転送ができない。
【０００６】
このためシステムの増設などによる融通性や拡張性が乏しく、システムの性能アップを頭打ちさせているという問題がある。
ところで、一般にＰＬＣなどの制御装置は、例えば、図８のように、システムバス０１上に配置されたバスコネクタ１１（スロット）に、所定の機能を実現するためのモジュールを実装して、顧客アプリケーションに適宜対応するように構成されており、バスコネクタ１１の全てにモジュールが実装されず、未実装の箇所が残った状態で出荷されることがある。
【０００７】
ＰＬＣを含む制御システムでは、既設の機能を継承しつつ新たな機能を取り入れてシステムを拡張し、設備のライフサイクルを延ばしていくことが要望されている。従って、将来的にシリアルデータ転送方式を採用したモジュールを上記余ったスロットに実装して、必要最小限のリソースを使って制御システムを拡張していくことが予想される。
【０００８】
本発明は、このような事情を勘案してなされたもので、その目的とするところは、異なったデータ転送プロトコルを同一システムバス上で実現でき、且つ異なったデータ転送プロトコルを実行する機能モジュール相互間のデータ交換も可能にしてシステムの増設などによる融通性や拡張性が容易に得られる、複数プロトコルを用いたバス転送システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記のような課題を解決する方法として、本発明は以下のように構成される。
請求項１に係る発明は、システムバスと、システムバスを介して第１のデータ転送プロトコルを実行する第１プロトコル実行部と、システムバスを介して第２のデータ転送プロトコルを実行する第２プロトコル実行部と、システムバスから第１のデータ転送プロトコルにて転送されたデータを第２のデータ転送プロトコルに変換し、システムバスを介して第２プロトコル実行部に転送する、または、システムバスから第２のデータ転送プロトコルにて転送されたデータを第１のデータ転送プロトコルに変換し、システムバスを介して第１プロトコル実行部に転送するプロトコル変換部を備えるように構成する。
【００１０】
請求項２に係る発明は、請求項１に記載のバス転送システムにおいて、プロトコル変換部は、データを保持するバッファを有し、第１プロトコル実行部からバッファにデータが転送されると、システムバスのアクセス権を決定する調停サイクルに参加してアクセス権を獲得した後、第２のデータ転送プロトコルを実行して第２プロトコル実行部をアクセスするように構成する。
【００１１】
請求項３に係る発明は、請求項１または２に記載のバス転送システムにおいて、第１のデータ転送プロトコルがパラレル転送プロトコルであり、第２のデータ転送プロトコルがシリアル転送プロトコルとして構成する。
【００１２】
請求項４に係る発明は、請求項３に記載のバス転送システムにおいて、システムバスがアドレスバスを有し、プロトコル変換部が第２プロトコル実行部とのシリアル転送の際、アドレスバスにアドレスデータを出力して第２プロトコル実行部を指定し、アドレスデータを含まないパケットの授受にてデータ転送するように構成する。
【００１３】
請求項５に係る発明は、請求項３または４に記載のバス転送システムにおいて、シリアル転送にて使用されるシステムバスの信号線が、パラレル転送にて使用するシステムバスの信号線の一部であるように構成する。
【発明の効果】
【００１４】
本発明によれば、パラレル転送を実行する第１の機能モジュールと、シリアル転送を実行する第２の機能モジュール、そして、パラレル転送とシリアル転送の両方のバス転送プロトコルを実行するプロトコル変換モジュールと、を同一のシステムバス上に設けるとともに、プロトコル変換モジュールが、第１の機能モジュールと第２の機能モジュールとの間で交換するデータを中継するように構成した。このように構成することにより異なったバス転送プロトコルを実行する複数のモジュールを同一システムバス上で共存させることが可能になるので、バス転送システムの性能アップと融通性を両立し、システムのライフサイクルの延長を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明のバス転送システムに係るシステムバス上のデータの流れを示す図
【図２】本発明のバス転送システムを採用したＰＬＣの構成を示す外観図
【図３】本発明の第１の実施例に係るシステムバス上のデータ転送を示すタイムチャート
【図４】本発明の第２の実施例に係る処理の手順を示すフローチャート
【図５】図４に係るＣＰＵモジュールのシステムバス上のデータ転送を示すタイムチャート
【図６】図４に示す第２の実施例におけるプロトコル変換モジュールのシステムバス上のデータ転送を示すタイムチャート
【図７】図４に対応するプロトコル変換モジュール内のパラメータ設定領域の構成を示す図
【図８】一般的なＰＬＣの構成例を示す外観図
【図９】図８に示す一般的なＰＬＣにおけるシステムバス上のデータの流れを示す図
【発明を実施するための形態】
【実施例】
【００１６】
図２は本発明に係るバス転送システムの一例を採用したＰＬＣの外観図である。
１０は、ＣＰＵモジュール２０（２０Ａ，２０Ｂ）、メモリモジュール３０、入出力モジュール４０（４０Ａ，４０Ｂ）、および本発明の主眼となるプロトコル変換モジュール５０が搭載されるベースボードである。１１は、ベースボード１０に設けられ、各モジュール２０、３０、４０、５０それぞれをベースボード１０に接続するためのバスコネクタである。
【００１７】
これらモジュールがデータを転送するためのシステムバス０１Ａは、調停バス１、アドレスバス２、データバス３、コントロールバス４Ａにて構成されている。このコントロールバス４Ａではリード信号線ＲＤ＊が後述のシリアルデータ信号線Ｓ１を兼ね、同じくライト信号線ＷＴ＊が後述のシリアルデータ信号線Ｓ２を兼ねている。
【００１８】
ここで、ＣＰＵモジュール２０、プロトコル変換モジュール５０などは、後述のようにシステムバス０１Ａへのアクセス権を持ってアドレス指定した他モジュールとデータ交換ができるのでマスタモジュールとも呼ぶ。他方、バスアクセス権を持たないメモリモジュール３０、入出力モジュール４０などはマスタモジュールに対応してスレーブモジュールともいう。
【００１９】
但し、これらのマスタモジュールは、スレーブモジュールと同様、他のマスタモジュールからアドレス指定されてアクセスを受けることもできる。また、マスタモジュールは、スレーブモジュールと交信しながら、シーケンスプログラムを所定の周期毎に実行し外部機器を制御するよう構成されている。
【００２０】
図１は、システムバス０１Ａ上の転送データの流れを示す概念図である。ＣＰＵモジュール２０Ａはデータバス３を使ってメモリモジュール３０および入出力モジュール４０Ａとパラレルデータ転送を行い、ＣＰＵモジュール２０Ｂはシリアルデータ信号Ｓ１，Ｓ２を使って入出力モジュール４０Ｂとシリアルデータ転送を行う。
【００２１】
一方、プロトコル変換モジュール５０は、データバス３を介しＣＰＵモジュール２０Ａとパラレルデータ転送を行うと共に、シリアルデータ信号Ｓ１，Ｓ２を使って入出力モジュール４０Ｂとシリアルデータ転送を行う。
（実施例１）
次に図１、図２を参照しつつ図３を用いて本発明の第１の実施例を説明する。この実施例１では同一システムバス上で行われる複数のプロトコル別のデータ転送方法を述べる。
【００２２】
図３は、この第１実施例としてのシステムバス０１Ａ上のデータ転送を示すタイムチャートであり、図１で示したように、ＣＰＵモジュール２０などのマスタモジュールがメモリモジュール３０や入出力モジュール４０などのスレーブモジュールにアクセスするときのタイムチャートである。
【００２３】
図３において、Ｔａｒｂは調停サイクル、Ｔｔｒｆは転送サイクル、ＢＳＫはバスクロックである。ＡＲＢ＊（＊は負論理信号であることを示す）は調停の開始を示す調停開始信号、ＡＲＢｉｄ＊はバスアクセス権を獲得するための優先度を示す調停ＩＤバス信号であり、ＢＳＹ＊は所定のモジュールがバスを使用していることを示すビジー信号である。ＡＤはアドレスバス２の信号としてのアドレス信号であり、ＤＴはデータバス３の信号としてのデータ信号である。またＲＤ＊はリード信号、ＷＴ＊はライト信号である。なお、リード信号ＲＤ＊は後述のシリアルデータ信号Ｓ１を兼ね、同じくライト信号ＷＴ＊は後述のシリアルデータ信号Ｓ２を兼ねている。ＲＤＹ＊はデータバス３に対してデータの準備ができたことを示すレディ信号である。
【００２４】
なお、ＣＰＵモジュール２０Ａには調停ＩＤとして“１”（Ｍ１と称す）が、ＣＰＵモジュール２０Ｂには調停ＩＤとして“２”（Ｍ２と称す）がそれぞれ割り当てられており、また後述のように、プロトコル変換モジュール５０には調停ＩＤとして“３”（Ｍ３と称す）が割り当てられている。
【００２５】
また、調停ＩＤは数値の小さいほど優先度が高い。この例の場合、調停ＩＤ“Ｍ１”を有するＣＰＵモジュール２０Ａが最優先でバスアクセス権を得ることができる。
まず、時点ｔ１１からｔ１４までのリードアクセス期間について説明する。この期間のリードアクセスはＣＰＵモジュール２０Ａが入出力モジュール４０Ａをアクセスする際、パラレルデータ転送プロトコルにてデータを転送している。
【００２６】
ＣＰＵモジュール２０はビジー信号ＢＳＹ＊が非アクティブになったことを検出すると、調停開始信号ＡＲＢ＊をアクティブにするとともに調停ＩＤを出力する。ＣＰＵモジュール２０はバス上に出力された調停ＩＤを読むことが可能になっており、その値が自モジュールの調停ＩＤより優先度が大きい値のとき、自モジュールの調停ＩＤの出力を引き下げる。このように優先度の低いマスタモジュールが調停ＩＤを引き下げることにより、一番優先度の高いマスタモジュールの調停ＩＤがバス上に残ることになる。この場合、調停開始から４クロック目で、調停ＩＤ’Ｍ１’を出力したＣＰＵモジュール２０Ａがバスアクセス権を獲得している。なお、調停開始からバスアクセス権獲得までに４クロックかけているが、これは、調停ＩＤを引き下げたＣＰＵモジュールの出力信号がディセーブルするまでのライムラグを考慮してのことである。
【００２７】
このようにしてバスアクセス権を獲得したＣＰＵモジュール２０Ａはビジー信号ＢＳＹ＊をアクティブにし、転送サイクルに入る。この転送サイクルＴｔｒｆでＣＰＵモジュール２０Ａは、パラレル転送を行う入出力モジュール４０Ａを指定するためのアドレス“０ｘ１０００”をアドレス信号ＡＤとして出力し、リード信号ＲＤ＊をアクティブにする。入出力モジュール４０Ａはアドレスが自モジュールと一致したことを検出すると、データ信号ＤＴとしてデータを出力し、レディ信号ＲＤＹ＊をアクティブにする。ＣＰＵモジュール２０Ａは、レディ信号ＲＤＹ＊がアクティブになったことで、データ信号ＤＴとして出力されたデータを取り込み、ビジー信号ＢＳＹ＊を非アクティブして、パラレルデータ転送サイクルを終了する。
【００２８】
続いて、時点ｔ２１からｔ２４までのバスアクセス期間について説明する。
ここでは、ＣＰＵモジュール２０Ｂおよび入出力モジュール４０Ｂが、それぞれ前述のリード信号線ＲＤ＊をシリアルデータ信号線Ｓ１とし、同じくライト信号線ＷＴ＊をシリアルデータ信号線Ｓ２とし、シリアルデータ転送を行っている。
【００２９】
時点ｔ２１からｔ２２までの調停サイクルＴａｒｂにおいては、ＣＰＵモジュール２０Ｂが、バスアクセス権を得ている。バスアクセス権を得たＣＰＵモジュール２０Ｂは直ちにビジー信号ＢＳＹ＊をアクティブ“Ｌ”にし、シリアルデータの転送サイクルＴｔｒｆに入る。
【００３０】
この時点ｔ２２にて、ＣＰＵモジュール２０Ｂは引き続き、入出力モジュール４０Ｂを指定するため，“０ｘＦ０００”をアドレス信号ＡＤとして出力する。
アドレス“０ｘＦ０００”により指定された入出力モジュール４０Ｂは、シリアルデータ転送の準備態勢に入る。
【００３１】
ＣＰＵモジュール２０Ｂは引き続き、リードアクセスとするかライトアクセスとするかのコマンド（パケット）を、入出力モジュール４０Ｂに送信する。
このコマンドに応じ、以後、リードアクセスの場合は入出力モジュール４０ＢからＣＰＵモジュール２０Ｂへ、ライトアクセスの場合はＣＰＵモジュール２０Ｂから入出力モジュール４０Ｂへデータ転送が行われる。
【００３２】
そして、時点ｔ２３にてシリアルデータ転送の電文の終端部を受信した受信側のモジュールがレディ信号ＲＤＹ＊を出力する。ＣＰＵモジュール２０Ｂは、時点ｔ２４にビジー信号ＢＳＹ＊を非アクティブ“Ｈ”にする。このようにしてシリアルデータの転送サイクルＴｔｒｆが終了する。
【００３３】
なお、本実施例１に係る複数のデータ転送プロトコルを混在するバス転送システムは、従来のパラレル転送プロトコルを用いるアドレス空間を０ｘ００００から０ｘＥＦＦＦに割付し、新たなプロトコルとしてシリアル転送プロコルを用いるアドレス空間を０ｘＦ０００から０ｘＦＦＦＦに割り付けている。すなわち、アドレス空間を２つに分け、使用する転送プロコルを区分している。
【００３４】
以上説明したように、本実施例１では、システムバスのアクセスサイクルを、システムバスのアクセス権を決定する調停サイクルと、バスアクセス権を獲得した局（モジュール）がデータ転送する転送サイクルとに分けている。また、調停サイクルにおいてはバスアクセスを要求するマスタモジュールに対してバスアクセス権を共通の調停プロトコルにて決定する。その後の転送サイクルにおいては、パラレル転送方式を使ってデータ転送するモジュール間ではパラレル転送を行い、シリアル転送方式を使ってデータ転送するモジュール間ではシリアル転送を行う。
【００３５】
また、シリアル転送の際、調停サイクルにてバスアクセス権を得たマスタモジュールは、アドレスバスにアドレスデータを出力して送信先のスレーブモジュールを指定し、該スレーブモジュールに向けてパケットを送信する。従って、このパケットにはスレーブモジュールを指定するためのアドレス（ヘッダ）が必要ない。入出力モジュールなどのスレーブモジュールが扱うデータ量は数バイトから数十バイトで済むことが多く、比較的少ないため、パケットのヘッダを削減してデータ転送することは制御データの転送効率を飛躍的に向上することができ、更なる高速化も望める。
（実施例２）
次に、主として図４ないし図７を用いて本発明の第２の実施例を説明する。この実施例２では、前述のプロトコル変換モジュール５０を用いてデータ転送プロトコルが異なるモジュール間でのデータ交換を可能とし、バス転送システムの融通性をより高めようとするものである。具体的には、プロトコル変換モジュール５０はパラレル転送とシリアル転送の何れのデータ転送も可能なモジュールである。
【００３６】
この実施例２では、図１に示したように、ＣＰＵモジュール２０（本例では２０Ａ）がプロトコル変換モジュール５０にアクセスして、パラレルデータ転送により後述するコマンドを含む各種パラメータを設定し、次にプロトコル変換モジュール５０がこの設定されたパラメータに基づきスレーブモジュール（本例では入出力モジュール４０Ｂ）にアクセスしてシリアルデータ転送し、その結果を、該アクセスを指示したＣＰＵモジュール２０（２０Ａ）に知らせるものとする。
【００３７】
図4（ａ）と（ｂ）はそれぞれ、ＣＰＵモジュール２０Ａとプロトコル変換モジュール５０との処理手順を示すフローチャートで、この図における１０１〜１０５、２０１〜２１０の各符号はステップ番号である。また、図５は図4（ａ）の処理に対応するＣＰＵモジュール２０Ａのシステムバス上のデータ転送を示すタイムチャート、図６は図4（ｂ）の処理に対応するプロトコル変換モジュール５０のシステムバス上のデータ転送を示すタイムチャートである。なお、図５、図６においてもマスタモジュールによるバスアクセス権の取得方法や、アクセス対象モジュールへのデータ転送を含むアクセス方法は図３の場合と同様である。
【００３８】
図７は、図４に対応するプロトコル変換モジュール５０内のパラメータ設定領域（パラメータ領域とも略記する）ＰＭの構成を示す図である。このパラメータ設定領域ＰＭは、コマンド／ステータス領域ＰＭ１（アドレス：“０ｘＥ０００”）、アドレス領域ＰＭ２（アドレス：“０ｘＥ００２”）、データ領域ＰＭ３（アドレス：“０ｘＥ００４”） の３つの領域からなる。
【００３９】
コマンド／ステータス領域ＰＭ１には、ライトコマンド（“０ｘ０００１”）、リードコマンド、（“０ｘ０００２”）、 ライト完了ステータス（“０ｘ８００１”）、リード完了ステータス（“０ｘ８００２”） の何れか１つが設定される。
【００４０】
また、アドレス領域ＰＭ２には、このプロトコル変換モジュール５０がアクセスすべき対象となるモジュールのアドレスが設定され、データ領域ＰＭ３には、プロトコル変換モジュール５０のアクセス対象モジュールへのライトデータ又は同対象モジュールからのリードデータが設定される。
【００４１】
次に、図５ないし図７を参照しつつ図４の処理手順を説明する。
図４（ａ）のステップ１０１、１０２の処理は図５のデータ転送に対応しており、このデータ転送はＣＰＵモジュール２０Ａによって実行されている。ステップ１０１において、ＣＰＵモジュール２０Ａ（調停ＩＤ“Ｍ１”）は調停サイクルを経てバスアクセス権を獲得し、アドレス領域ＰＭ２に入出力モジュール４０Ｂを指定するためのアドレス“０ｘＦ０００”を設定する（時点ｔ１１ａ〜ｔ１４ａ：パラレルデータ転送）。
【００４２】
同様ステップ１０１において、さらにＣＰＵモジュール２０Ａは、入出力モジュール４０Ｂに転送するライトデータ（データ“０ｘ１２３４）を、データ領域ＰＭ３に設定する（時点ｔ２１ａ〜ｔ２４ａ：パラレルデータ転送）。
【００４３】
次いでステップ１０２において、ＣＰＵモジュール２０Ａはコマンド／ステータス領域ＰＭ１にライトコマンド（“０ｘ０００１”）を設定する（時点ｔ３１ａ〜ｔ３４ａ：パラレルデータ転送）。
【００４４】
これら設定が行われた後、プロトコル変換モジュール５０は図４（ｂ）に示す処理を開始する。図４（ｂ）のステップ２０１において、プロトコル変換モジュール５０はコマンド／ステータス領域ＰＭ１に設定されている内容を読出す。そして、この内容がリードコマンド“０ｘ０００２”か、ライトコマンド“０ｘ０００１”か、を判別する（ステップ２０２、２０３）。
【００４５】
本例ではライトコマンド“０ｘ０００１”がコマンド／ステータス領域ＰＭ１に設定されているので処理はステップ２０４に移り、プロトコル変換モジュール５０はアドレス領域ＰＭ２と、データ領域ＰＭ３の設定内容を読み出す。本例ではアドレス領域ＰＭ２から入出力モジュール４０Ｂのアドレス“０ｘＦ０００”を、またデータ領域ＰＭ３からライトデータ“０ｘ１２３４”を読出している。
【００４６】
次いで、処理はステップ２０５に移り、プロトコル変換モジュール５０は、データ領域ＰＭ３に設定されたライトデータ“０ｘ１２３４”を入出力モジュール４０Ｂに転送する。この転送処理は図６の時点ｔ１１ｂからｔ１４ｂのライトアクセス期間に対応している。即ち、プロトコル変換モジュール５０は調停サイクルＴｒａｂでバスアクセス権を得たのち、アドレスバス２にアドレス信号ＡＤとして”０ｘＦ０００”を出力し、入出力モジュール４０Ｂを指定する。アドレス“０ｘＦ０００”により指定された入出力モジュール４０Ｂは、シリアルデータ転送の準備態勢に入る。
【００４７】
引き続きプロトコル変換モジュール５０は、前述ライトデータ“０ｘ１２３４”を含んだライトアクセスを示すコマンド（パケット）をシリアルデータ信号Ｓ１、Ｓ２を使って入出力モジュール４０Ｂに送信する。このコマンドを受信した入出力モジュール４０Ｂは、前述ライトデータ“０ｘ１２３４”を取り込み、時点ｔ１３ｂにてシリアルデータ転送の電文の終端部を受信するとレディ信号ＲＤＹ＊を出力する。プロトコル変換モジュール５０はレディ信号ＲＤＹ＊が”Ｌ”になると、時点ｔ１４ｂにてビジー信号ＢＳＹ＊を“Ｈ”（非アクティブ）にする（ｔ１１ｂ〜ｔ１４ｂ：シリアルデータ転送）。
【００４８】
次いで、ステップ２０６でプロトコル変換モジュール５０は、コマンド／ステータス領域ＰＭ１にライト完了のステータス“０ｘ８００１”を書込んだ後、ステップ２０１に戻って処理を繰り返す。
【００４９】
なお、前記のステップ２０２において、コマンド／ステータス領域ＰＭ１に設定されたデータがリードコマンド“０ｘ０００２”のとき、プロトコル変換モジュール５０の処理はステップ２０７に進む。ステップ２０７でプロトコル変換モジュール５０は、アドレス領域ＰＭ２に設定された”０ｘＦ０００”を読み込み、次いでステップ２０８にてアドレスバス２に“０ｘＦ０００”をアドレス信号ＡＤとして出力し、入出力モジュール４０Ｂを指定する。アドレス“０ｘＦ０００”により指定された入出力モジュール４０Ｂは、シリアルデータ転送の準備態勢に入る。
【００５０】
引き続き、ステップ２０８にてプロトコル変換モジュール５０はリードアクセスを示すコマンド（パケット）を、シリアルデータ信号Ｓ１、Ｓ２を使って入出力モジュール４０Ｂに送信する。このコマンドに応じ入出力モジュール４０Ｂは、プロトコル変換モジュール５０にデータを転送する（この例の場合、アドレス”０ｘＦ０００”に保持されているデータが転送される）。
【００５１】
処理はステップ２０９に進み、プロトコル変換モジュール５０は入出力モジュール４０Ｂから転送されたデータをデータ領域ＰＭ３に書き込み、次のステップ２１０で、コマンド／ステータス領域ＰＭ１にリード完了ステータス“０ｘ８００２”を設定し、ステップ２０１に戻る。
【００５２】
ここで図４（ａ）に戻り、ＣＰＵモジュール２０Ａのステップ１０３以降の処理を説明する。ステップ１０３以降の処理は、図６の時点ｔ２１ｂ〜ｔ２４ｂおよび時点ｔ３１ｂ〜ｔ３４ｂで示す２つのリードアクセス期間で示されるパラレルデータ転送に対応している。このバス上の動きは図３で示したｔ１１〜ｔ１４の説明に対してデータ転送する対象モジュールが相違するのみであるので、その説明は省略する。
【００５３】
ＣＰＵモジュール２０Ａはステップ１０３にてコマンド／ステータス領域ＰＭ１を読出し、ステップ１０４においてプロトコル変換モジュール５０による入出力モジュール４０Ｂへのアクセスが完了したかどうかをチェックする。ＣＰＵモジュール２０Ａは、コマンド／ステータス領域ＰＭ１の内容がライトコマンド“０ｘ０００１”又はリードコマンド“０ｘ０００２”のままであれば、プロトコル変換モジュール５０による入出力モジュール４０Ｂへのアクセスが完了していないと判定し、ステップ１０３に戻る（ステップ１０４、分岐ＮＯ）。
【００５４】
同ステップ１０４においてＣＰＵモジュール２０Ａは、領域ＰＭ１の設定内容がライト完了ステータス“０ｘ８００１”、又はリード完了ステータス“０ｘ８００２”であればプロトコル変換モジュール５０による入出力モジュール４０Ｂへのアクセスが完了したと判定する。
【００５５】
こうしてＣＰＵモジュール２０Ａの処理は、プロトコル変換モジュール５０がアクセス対象モジュールに対しライトアクセスをしたとき、すなわちコマンド／ステータス領域ＰＭ１が“０ｘ８００１”のとき、このステップ１０４で終了する。一方、プロトコル変換モジュール５０がアクセス対象モジュールをリードアクセスしたとき、すなわちコマンド／ステータス領域ＰＭ１が“０ｘ８００２”のとき、ＣＰＵモジュール２０Ａの処理は、ステップ１０４からさらにステップ１０５に進む。ステップ１０５においてＣＰＵモジュール２０Ａはデータ領域ＰＭ３をアクセスしてデータを読み出し、プロトコル変換モジュール５０が入出力モジュール４０Ｂから得たデータをリードデータとして取り込む。
【００５６】
なお、第２実施例ではＣＰＵモジュール２０Ａがプロトコル変換モジュール５０を介して入出力モジュール４０Ｂにアクセスする例を説明したが、前述パラメータ設定領域ＰＭの設定内容を変えれば、プロトコル変換モジュール５０がＣＰＵモジュール２０Ｂにもアクセスできる。即ち、本発明はデータ転送プロトコルの異なるマスタモジュールとスレーブモジュール間のみならず、マスタモジュール間のデータ転送もサポートすることができる。
【００５７】
また、上述実施例では、パラレル転送を行うモジュールが、プロトコル変換モジュール５０を介してシリアルデータ転送を行うモジュールとのデータを交換するようそのアクセス方法を説明したが、その逆、すなわち、シリアルデータ転送を行うモジュールが、プロトコル変換モジュール５０を介してパラレルデータ転送を行うモジュールをアクセスするように構成しても良い。言い換えれば、ＣＰＵモジュール２０Ｂがシリアルデータ転送にてプロトコル変換モジュールにパラメータを設定し、このパラメータを受けたプロトコル変換モジュール５０が入出力モジュール４０Ａにパラレルデータ転送にてアクセスするようにしても良い。
【符号の説明】
【００５８】
０１Ａ          システムバス
１            調停バス
２            アドレスバス
３            データバス
４Ａ          コントロールバス
ＡＲＢ＊      調停開始信号線、または調停開始信号
ＡＲＢｉｄ＊  調停ＩＤバス、または調停ＩＤバス信号
ＢＳＹ＊      ビジー信号線、またはビジー信号
ＡＤ          アドレス信号
ＤＴ          データ信号
ＲＤ＊        リード信号線、またはリード信号
ＷＴ＊        ライト信号線、またはライト信号
Ｓ１、Ｓ２    シリアルデータ信号線、またはシリアルデータ信号
ＲＤＹ＊      レディ信号線、またはレディ信号
ＰＭ          パラメータ設定領域
ＰＭ１        コマンド／ステータス領域
ＰＭ２        アドレス領域
ＰＭ３        データ領域
１０          ベースボード
１１          バスコネクタ
２０（２０Ａ、２０Ｂ）    ＣＰＵモジュール
３０                      メモリモジュール
４０（４０Ａ、４０Ｂ）    入出力モジュール
５０                      プロトコル変換モジュール
【図１】
2012073741.tif 000003
【図２】
2012073741.tif 000004
【図３】
2012073741.tif 000005
【図４】
2012073741.tif 000006
【図５】
2012073741.tif 000007
【図６】
2012073741.tif 000008
【図７】
2012073741.tif 000009
【図８】
2012073741.tif 000010
【図９】
2012073741.tif 000011