(57)【特許請求の範囲】
【請求項１】
１つのマスタノードと複数のスレーブノードを有し、前記マスタノードと前記スレーブノードとの間で通信を行う通信システムにおいて、
前記マスタノードは、
前記複数のスレーブノードにクロック信号を出力するクロック送信手段と、
前記複数のスレーブノードの各々に対して、当該マスタノードとの信号伝送の相手方として選択されているか否かと通信の方向とを示す通信選択信号群を出力する手段と
前記クロック信号に同期して前記複数のスレーブノードに向けて伝送データを出力する手段と、
前記クロックに同期してスレーブノードからの伝送データを取り込む手段と、
演算装置と、
記憶装置と、
前記複数のスレーブノードからの伝送データを前記記憶装置に転送する転送手段と、
を備え、
前記転送手段は、前記クロック送信手段と前記通信選択信号群を出力する手段とを起動して前記通信選択信号群により１つのスレーブノードを前記マスタノードへの伝送の相手方として選択し、前記伝送データを取り込む手段により取りこまれた伝送データを前記記憶装置に転送し、
前記演算装置は、前記記憶装置に転送された伝送データを用いて演算を実行する
ことを特徴とする通信システム。
【請求項２】
請求項１記載の通信システムにおいて、前記通信選択信号群は、各スレーブノードが前記マスタノードからの信号伝送の相手方として選択されているか否かを示す第１の選択信号と、同時に最大で１つのスレーブノードを選択した、各スレーブノードが前記マスタノードへの信号伝送の相手方として選択されているか否かを示す第２の選択信号からなることを特徴とする通信システム。
【請求項３】
請求項１記載の通信システムにおいて、前記通信選択信号群は、各スレーブノードが前記マスタノードとの信号伝送の相手方として選択されているか否かを示す第１の選択信号と、前記マスタノードとの信号伝送の方向を示す第２の選択信号からなることを特徴とする通信システム。
【請求項４】
請求項１記載の通信システムにおいて、
前記複数のスレーブノードの各々は、
前記通信選択信号群が当該スレーブノードを前記マスタノードからの伝送の相手方として選択しているとき前記クロック信号に同期して前記マスタノードから出力された伝送データを取り込む手段と、
前記通信選択信号群が当該スレーブノードを前記マスタノードへの伝送の相手方として選択しているとき前記クロック信号に同期して前記マスタノードに伝送データを出力する手段とを備えることを特徴とする通信システム。
【請求項５】
請求項１記載の通信システムにおいて、
前記マスタノード及び前記スレーブノードを別々に個々の基板として形成して、該マスタノードの機能を持った基板、及び該スレーブノードの機能を持った基板を信号線で接続して構成したことを特徴とする通信システム。
【請求項６】
マイクロプロセッサを有し情報処理を行う１つのマスタノードと、それぞれがマイクロプロセッサを有して情報処理を行う複数のスレーブノードと、前記マスタノードとスレーブノードとの間で通信を行う通信システムとを含む情報処理システムにおいて、
前記マスタノードは、
前記複数のスレーブノードにクロック信号を出力するクロック送信手段と、
前記複数のスレーブノードの各々に対して、当該マスタノードとの信号伝送の相手方として選択されているか否かと通信の方向とを示す通信選択信号群を出力する手段と、
前記クロック信号に同期して前記複数のスレーブノードに向けて伝送データを出力する手段と、
前記クロックに同期してスレーブノードからの伝送データを取り込む手段と、
演算装置と、
記憶装置と、
前記スレーブノードからの伝送データを前記記憶装置に転送する転送手段と、
を備え、
前記転送手段は、前記クロック送信手段と前記通信選択信号群を出力する手段とを起動して前記通信選択信号群により１つのスレーブノードを前記マスタノードへの伝送の相手方として選択し、前記伝送データを取り込む手段により取りこまれた伝送データを前記記憶装置に転送し、
前記演算装置は前記記憶装置に転送された伝送データを用いて演算を実行する
ことを特徴とする情報処理システム。
【請求項７】
請求項６記載の情報処理システムにおいて、前記通信選択信号群は、各スレーブノードが前記マスタノードからの信号伝送の相手方として選択されているか否かを示す第１の選択信号と、同時に最大で１つのスレーブノードを選択した、各スレーブノードが前記マスタノードへの信号伝送の相手方として選択されているか否かを示す第２の選択信号からなることを特徴とする情報処理システム。
【請求項８】
請求項６記載の情報処理システムにおいて、前記通信選択信号群は、各スレーブノードが前記マスタノードとの信号伝送の相手方として選択されているか否かを示す第１の選択信号と、前記マスタノードとの信号伝送の方向を示す第２の選択信号からなることを特徴とする情報処理システム。
【請求項９】
請求項６記載の情報処理システムにおいて、
前記複数のスレーブノードの各々は、
前記通信選択信号群が当該スレーブノードを前記マスタノードからの伝送の相手方として選択しているとき前記クロック信号に同期して前記マスタノードから出力された伝送データを取り込む手段と、
前記通信選択信号群が当該スレーブノードを前記マスタノードへの伝送の相手方として選択しているとき前記クロック信号に同期して前記マスタノードに伝送データを出力する手段とを備えることを特徴とする情報処理システム。
【請求項１０】
請求項６記載の情報処理システムであって、
前記マスタノード及び前記スレーブノードを別々に個々の基板として形成して、該マスタノードの機能を持った基板、及び該スレーブノードの機能を持った基板を信号線で接続して構成したことを特徴とする情報処理システム。
【請求項１１】
複数のスレーブノードに接続されるマスタノードを構成するマイクロプロセッサにおいて、
前記複数のスレーブノードにクロック信号を出力するクロック送信手段と、
前記複数のスレーブノードの各々に対して、当該マスタノードとの信号伝送の相手方として選択されているか否かと通信の方向とを示す通信選択信号群を出力する手段と、
前記クロック信号に同期して前記複数のスレーブノードに向けて伝送データを出力する手段と、
前記クロックに同期してスレーブノードからの伝送データを取り込む手段と、
演算装置と、
記憶装置と、
前記スレーブノードからの伝送データを前記記憶装置に転送する転送手段と、
を備え、
前記転送手段は、前記クロック送信手段と前記通信選択信号群を出力する手段とを起動して前記通信選択信号群により１つのスレーブノードを前記マスタノードへの伝送の相手方として選択し、前記伝送データを取り込む手段により取りこまれた伝送データを前記記憶装置に転送し、
前記演算装置は、前記記憶装置に転送された伝送データを用いて演算を実行する
ことを特徴とするマイクロプロセッサ。
【請求項１２】
請求項１１記載のマイクロプロセッサにおいて、前記通信選択信号群は、各スレーブノードが前記マスタノードからの信号伝送の相手方として選択されているか否かを示す第１の選択信号と、同時に最大で１つのスレーブノードを選択した、各スレーブノードが前記マスタノードへの信号伝送の相手方として選択されているか否かを示す第２の選択信号からなることを特徴とするマイクロプロセッサ。
【請求項１３】
請求項１１記載のマイクロプロセッサにおいて、前記通信選択信号群は、各スレーブノードが前記マスタノードとの信号伝送の相手方として選択されているか否かを示す第１の選択信号と、前記マスタノードとの信号伝送の方向を示す第２の選択信号からなることを特徴とするマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システムに関し、特に情報処理装置や制御装置内の高速な通信を可能にする通信システム、及びその通信システムを組み込んだ制御装置及び情報処理システムに関する。
【背景技術】
【０００２】
制御装置内の通信路、特にマイクロプロセッシングユニットと周辺ＩＯとの通信に関して従来からＳＰＩ(Serial Peripheral Interface)という通信規格、方式があった。ＳＰＩを使用した周辺ＩＯ（出力ドライバ）の例は、Data Sheet TLE4230 GP, Infineon Technologies AG, Bereichs Kommunikation (28 August, 2000)等にある。また、クロックに同期してシリアルデータを伝送する従来技術としては特開昭６１−１６６２４４号公報の図１５に開示されている。
【０００３】
【非特許文献１】Data Sheet TLE4230 GP, Infineon Technologies AG, Bereichs Kommunikation (28 August, 2000)
【特許文献１】特開昭６１−１６６２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＳＰＩは、マスタを固定として通信に先立つアービトレーションが不要な上、通信の相手をチップセレクト信号で指定する方式により、簡単なハードウェア、ソフトウェアで実現可能な優れた方式である。すなわちＳＰＩは、スレーブノードの選択信号（チップセレクト信号）によりスレーブノードを選択し、マスタノードとその選択されたスレーブノードとの間において、マスタノードからスレーブノードへの伝送（送信）及びスレーブノードからマスタノードへの伝送（受信）を同時に行う。しかしＳＰＩは、マイクロプロセッシングユニットと周辺ＩＯとの通信を前提にしているため、１対１通信しかサポートしておらず、１対多、即ちブロードキャストには対応していない。ＳＰＩによりブロードキャストを実現しようとして複数のスレーブノードへのチップセレクト信号をアクティブにすると、スレーブノードではマスタからの送信信号は受信できるが、複数のスレーブノードが信号をマスタに送ろうとして信号が衝突するという弊害が発生する。
【０００５】
制御の分野で広く導入されている自律分散の概念では、制御を司るノードが情報を共有することがポイントである。したがって、情報共有のためにはブロードキャスト機能が必要である。また、マイクロプロセッシングユニットと周辺ＩＯではなく複数のマイクロプロセッシングユニット間の通信を考えた場合にはやはりブロードキャスト機能の必要性があることはいうまでもない。特開昭６１−１６６２４４号公報の図１５に記載されている方法によれば、信号ＲＱＩ１，ＲＱＩ２をアクティブにすることによりブロードキャストが可能であるように見えるが、スレーブＣＰＵが個別に信号ＲＱＯ（マスタＣＰＵでは信号ＲＱＯ１，ＲＱＯ２）を出力するため、スレーブＣＰＵからマスタＣＰＵへのシリアル信号ＳＯが衝突する畏れがある。
【０００６】
さらに上記従来技術は、マイクロプロセッサによる処理の高速化という観点でさらに考慮が必要である。従来技術によれば、受信データを得るためには通信インタフェースを起動しなければならず、しかも通信インタフェースはマイクロプロセッサの動作速度に比べて格段にデータ転送速度が低く、データ転送に長時間を要する。近年のマイクロプロセッサ技術は目覚しく、1GHzを超えるプロセッサも出現している。これに対して半導体チップ間のデータ転送速度は10MHz〜100MHz程度が限界で、マイクロプロセッサの動作に比べて１〜２桁程度遅い。したがってマイクロプロセッサによる処理に受信データが必要となってから通信インタフェースを起動していては、受信動作が終了するまでマイクロプロセッサは次の演算に移れず、高速化の上の隘路となる。
【０００７】
また従来技術では、受信するためには必ず送信もしなければならないため、バックウランドで受信することができない。
【０００８】
本発明は、上記従来技術の問題点に鑑み、従来技術の簡便さという特徴を活かしながらブロードキャスト機能を実現する通信システムを提供することを第１の目的とする。本発明は、マイクロプロセッサの高速化の隘路とならない高性能マイクロプロセッサに好適な通信システムを提供することを第２の目的とする。また、本発明は、データを受信する際に送信が必須でない通信インタフェースを提供することを第３の目的とする。
【課題を解決するための手段】
【０００９】
上記第１、第３の目的を達成するために、本発明では、スレーブノードの選択信号（チップセレクト信号）に加えて送信、受信のいずれかの動作のみを選択するための信号を出力する。すなわち、マスタノードとの信号伝送の相手方として選択されているか否かと通信の方向とを示す通信選択信号群を、マスタノードからスレーブノードに対して出力する。
【００１０】
通信選択信号群のエンコードの方法には種々考えられるが、大きく以下の２つの方法に分けられる。
(1) 送信動作、受信動作それぞれにスレーブノードの選択信号（チップセレクト信号）を設ける方法
(2) スレーブノードの選択信号（チップセレクト信号）に加えて、通信の方向を示す選択信号を設ける方法
(a) 例１
通信の方向を示す選択信号＝Ｌ：受信動作
通信の方向を示す選択信号＝Ｈ：送信・受信同時動作
(b) 例２
通信の方向を示す選択信号＝Ｌ：送信動作
通信の方向を示す選択信号＝Ｈ：送信・受信同時動作
(c) 例３
通信の方向を示す選択信号＝Ｌ：送信動作
通信の方向を示す選択信号＝Ｈ：受信動作
(d) 例４
通信の方向を示す選択信号＝（Ｈ、Ｌ）：送信動作
通信の方向を示す選択信号＝（Ｌ，Ｈ）：受信動作
通信の方向を示す選択信号＝（Ｈ，Ｈ）：送信・受信同時動作
【００１１】
これらの方法のうち(1)の方法はスレーブノード毎に独立して通信の方向を選択できるので最も自由度が高い。
【００１２】
前記(1)の方法に基づく本発明による通信システムは、１つのマスタノードと複数のスレーブノードを有し、マスタノードとスレーブノードとの間で通信を行う通信システムであり、マスタノードは、複数のスレーブノードにクロック信号を出力するクロック送信手段と、複数のスレーブノードの各々に対して、当該マスタノードからの信号伝送の相手方として選択されているか否かを示す第１の選択信号を出力する手段と、複数のスレーブノードの各々に対して、同時に最大で１つのスレーブノードを選択するようにして、当該マスタノードへの信号伝送の相手方として選択されているか否かを示す第２の選択信号を出力する手段と、クロック信号に同期して複数のスレーブノードに向けて伝送データを出力する手段と、クロックに同期してスレーブノードからの伝送データを取り込む手段とを備える。
【００１３】
複数のスレーブノードの各々は、第１の選択信号が当該スレーブノードを選択しているときクロック信号に同期して前記マスタノードから出力された伝送データを取り込む手段と、第２の選択信号が当該スレーブノードを選択しているときクロック信号に同期して前記マスタノードに伝送データを出力する手段とを備える。
【００１４】
本発明による制御装置は、１つのマスタノードと、複数のスレーブノードと、スレーブノードにスイッチ手段を介して接続されたアクチュエータと、マスタノードとスレーブノードとの間で通信を行う通信システムとを含み、マスタノードからの指令によってアクチュエータを制御する制御装置であり、上記したマスタノードとスレーブノードを備える。
【００１５】
また、本発明による情報処理システムは、マイクロプロセッサを有し情報処理を行う１つのマスタノードと、それぞれがマイクロプロセッサを有して情報処理を行う複数のスレーブノードと、マスタノードとスレーブノードとの間で通信を行う通信システムとを含む情報処理システムであり、上記したマスタノードとスレーブノードを備える。
【００１６】
本発明によれば、マスタノードからの送信信号を複数のスレーブノードが受信でき、かつスレーブノードが出力するマスタノードにとっての受信信号の衝突が発生しない。つまり、ブロードキャスト機能を実現することができる。また本発明によれば、送信機能と受信機能を単独で動作させることができる。
【００１７】
さらに本発明では、上記第２の目的を達成するために、通信インタフェースの受信機能の動作を予め周期的に起動させ、受信データをメモリに転送しておく。したがって本発明により、マイクロプロセッサによる処理が受信データを必要となったときには、予めメモリに転送された受信データを読み込むことにより直ちに処理を続行することができ、受信データの転送時間によりマイクロプロセッサの処理の高速性を損ねることがなくなり、性能向上を図ることができる。
【発明の効果】
【００１８】
本発明によれば、マスタノードからの送信信号を複数のスレーブノードが受信でき、かつスレーブノードが出力するマスタノードにとっての受信信号の衝突が発生しないため、ブロードキャスト機能を実現することができる。また、送信機能と受信機能を単独で動作させることができる。さらに、本発明によれば、マイクロプロセッサによる処理に受信データが必要となったときには、予めメモリに転送された受信データを読み込むことにより処理を続行することができ、性能向上を図ることができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施例について図に基づいて説明を加える。
図１は、本発明による通信システムの基本的な原理を示す図である。マスタノード１００はスレーブノード２００−１〜２００−ｎに信号線（ＳＣＬＫ１０、ＴＸＤ１１、ＲＸＤ１２、通信選択信号群１８）で接続している。ＴＸＤ１１はマスタノード（メインプロセッサ）１００からスレーブノード（Ｉ／Ｏプロセッサ）２００−１〜２００−ｎへの送信信号、ＲＸＤ１２はスレーブノード（Ｉ／Ｏプロセッサ）２００−１〜２００−ｎのいずれかからマスタノード（メインプロセッサ）１００への受信信号である。ＳＣＬＫ１０はＴＸＤ１１、ＲＸＤ１２を転送するクロックを示し、例えばＳＣＬＫ１０の立上がりエッジでＴＸＤ１１、ＲＸＤ１２が出力され、ＳＣＬＫ１０の立下りエッジでＴＸＤ１１、ＲＸＤ１２がラッチされる。あるいはその逆に、ＳＣＬＫ１０の立下がりエッジでＴＸＤ１１、ＲＸＤ１２が出力され、ＳＣＬＫ１０の立上がりエッジでＴＸＤ１１、ＲＸＤ１２がラッチされる。
【００２０】
通信選択信号群１８は、個々のスレーブノード２００−１〜２００−ｎがマスタノード１００との信号伝送の相手方として選択されているか否か、及び通信の方向を示す選択信号である。ＴＸＤ１１の送り先、ＲＸＤ１２を出力できるスレーブノード等は通信選択信号群１８によって指定される。通信選択信号群１８による指定の方法は、図２〜図８に示す実施例に例示する。
【００２１】
図２は、通信選択信号群１８がＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）からなる実施例である。マスタノード１００はスレーブノード２００−１〜２００−ｎに信号線（ＳＣＬＫ１０、ＴＸＤ１１、ＲＸＤ１２、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ））で接続している。なお、信号名に後置している＃は当該信号がアクティブロー、即ちＬのときに有効な信号であることを示している。
【００２２】
ＴＴＬ(Transistor-Transistor Logic)レベルの論理回路ではＬと認識するためのしきい（スレッショールド）値が低いため、電気的ノイズにより誤ってＬと認識されることが少ない。この性質を利用して、ストローブ信号、チップセレクト信号などには耐ノイズ性を高めるために本実施例のようにアクティブロー信号を使用することが一般的である。もしＨレベルと認識するためのしきい（スレッショールド）値が通常より高い論理回路を使用する場合、または耐ノイズ性に特に注意を払わなくともよい場合にはアクティブハイ、即ちＨのときに有効な信号を使用することも可能である。以下本明細書では、チップセレクト信号にアクティブロー信号を使用した実施例を記載することにする。
【００２３】
ＴＸＤ１１はマスタノード１００からスレーブノード２００−１〜２００−ｎへの送信信号、ＲＸＤ１２はスレーブノード２００−１〜２００−ｎのいずれかからマスタノード１００への受信信号である。
【００２４】
ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）は送信信号ＴＸＤ１１についてのチップセレクト信号で、送信信号ＴＸＤ１１が対応するスレーブノードに対するものであることを示す。例えばＴＸＣＳ１＃（１３−１）が有効（Ｌ）であるときには、送信信号ＴＸＤ１１がスレーブノード２００−１に対するものであることを示す。なお、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）のうち複数の信号が有効（Ｌ）であっても構わない。
【００２５】
ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）は受信信号ＲＸＤ１２についてのチップセレクト信号で、対応するスレーブノードがＲＸＤ１２を出力することを示す。例えば、ＲＸＣＳ１＃（１４−１）が有効（Ｌ）であるときには、スレーブノード２００−１のみがＲＸＤ１２を出力することを示す。なお、複数のスレーブノードが同時にＲＸＤ１２を出力すると信号が衝突するので、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）のうち複数の信号が有効（Ｌ）となってはならない。
【００２６】
図３に、図２に示した通信システムの動作例を示す。本実施例ではＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）は全てＯＮ（Ｌ）となり、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）のうちＲＸＣＳｎ＃（１４−ｎ）のみがＯＮ（Ｌ）となり、ほかがＯＦＦ（Ｈ）となっている。このときＴＸＤ１１は全てのスレーブノード２００−１〜２００−ｎに対するものであり、スレーブノード２００−ｎのみがＲＸＤ１２を出力することを示している。したがって、本実施例によればマスタノード１００から全てのスレーブノード２００−１〜２００−ｎに一斉に情報を伝達することができ、同時に特定のスレーブノード２００−ｎからの信号を受信することができる。
【００２７】
図４に、本発明のＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）の設定方法と通信動作を示す。なお、ONはアクティブ（Ｌ）、OFFはインアクティブ（Ｈ）であることを示す。
【００２８】
まず、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）は、case 1〜8に示すように任意の組み合わせが可能である。ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）は、case 9〜16に示すように最大でもいずれか１つのみがＯＮとなる組み合わせのみが可能であり、複数がＯＮとなる組み合わせはスレーブからの信号が衝突するために禁止される。
【００２９】
またcase 17に示すように、マスタノードからスレーブノードにデータを転送するだけで、スレーブノードからマスタノードにデータを転送しないということも可能であり、その逆にcase 18に示すように、スレーブノードからマスタノードにデータを転送するだけで、マスタノードからスレーブノードにデータを転送しないことも可能である。またcase 19に示すように、全てのスレーブノードにマスタノードからデータを転送しながら特定のスレーブノードからマスタノードにデータを転送することも可能である。Case 20に示すように、従来と同様に、同一のスレーブノードを対象にデータを交換することも可能であり、case 21に示すように、マスタノードからデータを転送するスレーブノードとは異なるスレーブノードからデータを転送することも可能である。
【００３０】
図５は、通信選択信号群１８が信号線ＣＳ１＃（１５−１）〜ＣＳｎ＃（１５−ｎ）とＴ／ＴＲ＃（１６）からなる実施例である。信号線ＣＳ１＃（１５−１）〜ＣＳｎ＃（１５−ｎ）は対応する各スレーブノードについてのチップセレクト信号であり、本実施例ではアクティブローの論理をとっているのでＬのときに有効で、対応するスレーブノードがマスタノードとの通信の相手として選択されていることを示す。信号線Ｔ／ＴＲ＃（１６）は通信の方向を示す信号で、Ｈレベルのときにはマスタノード１００からスレーブノード２００−１〜２００−ｎへの伝送（送信）が有効であることを示し、Ｌレベルのときにはマスタノード１００からスレーブノード２００−１〜２００−ｎへの伝送（送信）及びスレーブノード２００−１〜２００−ｎからマスタノード１００への伝送（受信）が有効であることを示す。
【００３１】
これら２つの信号によりマスタノード１００とスレーブノード２００−１〜２００−ｎとの間の通信は、図６に示すように制御される。Case 1〜8に示すように、Ｔ／ＴＲ＃（１６）がＴ即ちＬレベルであるときには、マスタノード１００からスレーブノード２００−１〜２００−ｎへの伝送（送信）のみが有効である。このときには任意の複数のスレーブノードへの転送が可能である。また、case 9〜16に示すように、Ｔ／ＴＲ＃（１６）がＴＲ＃即ちＬである場合には、スレーブノード２００−１〜２００−ｎからマスタノード１００への伝送（受信）が競合しないようにひとつのスレーブノード２００−ｉしか通信の相手方として選択できない。
【００３２】
図７は、通信選択信号群１８が信号線ＣＳ１＃（１５−１）〜ＣＳｎ＃（１５−ｎ）とＲ／ＴＲ＃（１７）からなる実施例である。信号線ＣＳ１＃（１５−１）〜ＣＳｎ＃（１５−ｎ）は対応する各スレーブノードについてのチップセレクト信号で、本実施例ではアクティブローの論理ととっているので、Ｌのときに有効で対応するスレーブノードがマスタノードとの通信の相手として選択されていることを示す。信号線Ｒ／ＴＲ＃（１７）は通信の方向を示す信号で、Ｈレベルのときにはスレーブノード２００−１〜２００−ｎからマスタノード１００への伝送（受信）が有効であることを示し、Ｌレベルのときにはマスタノード１００からスレーブノード２００−１〜２００−ｎへの伝送（送信）及びスレーブノード２００−１〜２００−ｎからマスタノード１００への伝送（受信）が有効であることを示す。
【００３３】
これら２つの信号によりマスタノード１００とスレーブノード２００−１〜２００−ｎとの間の通信は図８に示すように制御される。case 1〜8に示すようにＲ／ＴＲ＃（１７）がＲ即ちＨレベルであるときには、スレーブノード２００−１〜２００−ｎからマスタノード１００への伝送（受信））のみが有効である。また、case 9〜16に示すように、Ｒ／ＴＲ＃（１７）がＴＲ＃即ちＬである場合には、マスタノード１００からスレーブノード２００−１〜２００−ｎへの伝送（送信）及びスレーブノード２００−１〜２００−ｎからマスタノード１００への伝送（受信）が有効である。何れの場合でもスレーブノード２００−１〜２００−ｎからマスタノード１００への伝送（受信）が競合しないようにひとつのスレーブノード２００−ｉしか通信の相手方として選択できない。
【００３４】
図９は、スレーブノードの構成例を示す図である。本例のスレーブノード２００−ｉは、シリアル/パラレル変換器２０１とパラレル/シリアル変換器２０２を備えている。シリアル/パラレル変換器２０１は、ＴＸＣＳｉ＃が有効（Ｌ）であるときに、シリアルデータとして送られてきたＴＸＤ１１をＳＣＬＫ１０にしたがってパラレルデータ２０４に変換する。パラレル/シリアル変換器２０２はＲＸＣＳｉ＃が有効（Ｌ）であるときに、パラレルデータ２０５をＳＣＬＫ１０にしたがってシリアルデータに変換し、ＲＸＤ１２として出力する。また、状態遷移監視器２０３を有してもよい。状態遷移監視器２０３は、ＴＸＣＳｉ＃が連続して有効（Ｌ）である期間に入力されたＳＣＬＫ１０の数を計数し、所定の数であるときに監視結果２０６として“ＯＫ”を出力する。
【００３５】
図１０は、スレーブノードの他の構成例を示す図である。本実施例のスレーブノード２００−ｉは、ＭＰＵ(Micro-processing Unit)２１０を有する。シリアル/パラレル変換器２０１でパラレルデータ２０４に変換された受信データは、状態遷移監視器２０３の監視結果２０６に基づき、所定の数のＳＣＬＫ１０が到来したときにバッファ２０７に記憶される。バッファ２０７に記憶されたデータはバス２０９を介して、ＭＰＵ２１０の要求にしたがってＭＰＵ２１０に読み出される。一方、送信データは、バス２０９を介してＭＰＵ２１０によりバッファ２０８に書き込まれ、パラレルデータ２０５としてパラレル/シリアル変換器２０２に入力され、シリアルデータに変換され、ＲＸＤ１２として出力される。また、スレーブノード２００−ｉの内部または外部に図示しない記憶装置を持ち、マスタノードと複数のスレーブノード２００−１〜２００−ｎ間を本発明の提供する通信システムあるいは通信路で結ぶことにより、特に分散制御に好適な情報処理装置を実現できる。記憶装置には、通常の半導体メモリや磁気ディスク装置などの使用が可能である。
【００３６】
個々のマスタノード１００、スレーブノード２００−１〜２００−ｎでは記憶装置を用いて割り当てられた処理を実行するが、本発明が提供する通信システムを経由して必要な情報を交換し、全体として統合のとれた動作を実現することが可能である。特に本発明の提供する通信システムによれば、マスタノード１００からスレーブノード２００−１〜２００−ｎへの情報のブロードキャスト、異なる相手への同時送信／受信が可能であるため、情報交換のためのノード間の通信の効率を高めることが可能である。
【００３７】
例えば、マスタノード１００からスレーブノード２００−１〜２００−ｎに対して個々のスレーブノードで演算の元となる数値、演算の内容種別を表す情報などを伝送し、スレーブノード２００−１〜２００−ｎからマスタノード１００へは演算結果、演算の状態（演算中、演算終了、誤り発生状況など）の情報を伝送するようにすれば、全体としては分散処理システムとして高性能な情報処理を実現することができる。
【００３８】
図１１は、スレーブノード２００−ｉに出力半導体素子２１１を有する実施例である。シリアル/パラレル変換器２０１でパラレルデータ２０４に変換された受信データは、状態遷移監視器２０３の監視結果２０６に基づき、所定の数のＳＣＬＫ１０が到来したときにバッファ２０７に記憶される。バッファ２０７に記憶されたデータに基づき出力半導体素子２１１が動作する。出力半導体素子２１１は図示しないアクチュエータを駆動し、制御対象を制御する。出力半導体素子２１１の形態は、アクチュエータよりも電源ＶＢ側に接続されるハイサイドドライバ、アクチュエータよりもグランド側に接続されるローサイドドライバでもよいのはいうまでもない。また、出力半導体素子２１１はＨブリッジなどとすることも同様に可能である。
【００３９】
診断回路２１２では出力パワー半導体素子２１１にかかる診断を実行し、診断結果はバッファ２０８に書き込まれ、パラレルデータ２０５としてパラレル/シリアル変換器２０２に入力されてシリアルデータに変換され、ＲＸＤ１２として出力される。診断としては、過電流検出、天絡（出力端子の電源への短絡）、地絡（出力端子のグランドへの短絡）、温度上昇、負荷開放などがある。過電流は出力電流を監視することにより検出でき、天絡、地絡、負荷開放は出力パワー半導体素子２１１がオープン時の出力端子の電圧を監視することで検出できる。また温度は温度検出用のダイオードを内蔵し、そのＰＮ接合電圧により検出できる。これらは従来技術（文献：例えばInfineon Technologies, BTS840S2データシート（http://www.infineon.com/cmc_upload/documents/008/683/Bts840S2_2.pdf）等）により提供されており、本発明の特徴点ではないので本明細書では詳細な説明を省略する。
【００４０】
スレーブノード２００−１〜２００−ｎからマスタノード１００へ伝送される情報としては、その他に図示しないセンサより入力されるアクチュエータ及び制御対象の状態、スレーブノード２００−１〜２００−ｎの状態（制御演算及び制御に関するエラー情報、状態遷移情報など）に関する情報などがある。
【００４１】
なお、図には出力パワー半導体素子２１１が1つのみ記されているが、スレーブノード２００−ｉに複数の出力半導体素子２１１を有することも可能である。この場合、バッファ２０７に複数のビットからなるデータを記憶するようにし、それぞれのビットがそれぞれの出力半導体素子の動作を司るようにすればよい。
【００４２】
図１２は、出力半導体素子をタイマで動作させるスレーブノードの実施例である。シリアル/パラレル変換器２０１でパラレルデータ２０４に変換された受信データは、状態遷移監視器２０３の監視結果２０６に基づき、所定の数のＳＣＬＫ１０が到来したときにバッファ２０７に記憶される。バッファ２０７に記憶されたデータに基づきタイマ２１３が動作し、出力半導体素子２１１が制御される。タイマ２１３の動作としてはＰＷＭ、パルス発生などの動作が考えられる。ＰＷＭ動作ではバッファ２０７に記憶されたデータにより周期、デューティサイクルなどが設定され、パルス発生動作ではバッファ２０７に記憶されたデータによりパルスが発生する時刻が設定される。
【００４３】
また、図１１、図１２には、出力半導体素子２１１がスレーブノード２００−ｉに内蔵されている実施例を示したが、出力半導体素子２１１がスレーブノード２００−ｉの外部に接続され、スレーブノード２００−ｉによって制御される実施例も可能である。これについては図２０に後述する。
【００４４】
図１３は、スレーブノード２００−ｉが入力回路２１４を有する実施例である。外部から入力された信号は入力回路２１４を介してバッファ２０８に書き込まれ、パラレルデータ２０５としてパラレル/シリアル変換器２０２に入力され、シリアルデータに変換されて、ＲＸＤ１２として出力される。
【００４５】
入力回路２１４としてはラッチ回路、ノイズ除去のためのフィルタ回路、マルチプレクサ回路等が考えられる。ラッチ回路は、時間と共に変化するので入力信号をある瞬間の値で保持する回路である。アナログ信号ではサンプル＆ホールド回路とも呼ばれる。フィルタ回路は一般には抵抗とコンデンサーで構成されることが多いが、デジタル演算により周波数特性をつくるデジタル回路や、複数回ラッチした値が一致したときに所定の値となったと判定する回路などが考えられる。マルチプレクサは複数の入力を切り替える一種のスイッチであり、バッファ２０８のビット数よりも多くの数の信号を入力として扱う場合に必要である。例えばバッファ２０８のビット数が８ビットであると仮定する。この場合、４つの入力を切り替えて１ビット分の出力としてバッファ２０８に入力すれば、バッファ２０８のビット数の３倍の３２の入力を扱うことができる。
【００４６】
バッファ２０７に記憶されたデータは、入力回路２１４を制御するのに用いられる。例えば、入力回路２１４がラッチ回路の場合にはラッチタイミング、フィルタ回路の場合にはフィルタ時定数の選択、マルチプレクサ回路の場合にはマルチプレクサの切り替えがバッファ２０７に記憶されたデータにより制御される。
【００４７】
図１４は、Ａ／Ｄ変換器を有するスレーブノードの実施例である。外部から入力された信号は、A/D変換器２１５によりデジタルデータに変換されてバッファ２０８に書き込まれ、パラレルデータ２０５としてパラレル/シリアル変換器２０２に入力され、シリアルデータに変換されてＲＸＤ１２として出力される。バッファ２０７に記憶されたデータによりA/D変換器２１５は制御される。例えば、バッファ２０７に記憶されたデータにより変換を開始させたり、連続変換か単発変換かなどの変換モードを設定したりする。
【００４８】
図１５は、マスタノードの構成例を示す図である。本例のマスタノード１００は、パラレル/シリアル変換器１０１、シリアル/パラレル変換器１０２、送信先制御レジスタ１０５、受信先制御レジスタ１０６、クロック生成回路１０７、通信開始レジスタ１２０を備える。
【００４９】
データ送信、受信先は、送信先制御レジスタ１０５、受信先制御レジスタ１０６に設定することにより指定することができる。この場合、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）のうちレジスタ設定に対応した信号線がアクティブ（Ｌ）になる。なお受信先制御レジスタ１０６は各スレーブノード２００−１〜２００−ｎを受信（スレーブノードからマスタノードへの転送）の相手として選択するかどうかを設定するレジスタで、受信データの競合を防ぐために1つのスレーブノードのみを受信先として選択し、他のスレーブノードは選択しないように設定する。また１つのスレーブノードしか選択できないようなレジスタ構成にしてもよい。
【００５０】
送信データは、パラレルデータ１０３としてパラレル/シリアル変換器１０１に入力され、送信先制御レジスタ１０５にいずれかの送信先を選択したときにＳＣＬＫ１０に従いシリアルデータに変換され、ＴＸＤ１１として送出される。受信データＲＸＤ１２は、シリアル/パラレル変換器１０２に入力され、受信先制御レジスタ１０６にいずれかの受信先を指定したときにＳＣＬＫ１０に従いパラレルデータ１０４に変換される。
【００５１】
ＳＣＬＫ１０はクロック生成回路１０７で生成され、パラレル/シリアル変換器１０１、シリアル/パラレル変換器１０２を動作させると共に、マスタノード１００の外部に出力される。また、クロック生成回路１０７は、通信開始レジスタ１２０をセットすることにより所定の数のクロックを生成し、通信開始レジスタ１２０をクリアする。
【００５２】
本実施例のマスタノード１００を用いて通信するためには、送信先制御レジスタ１０５、受信先制御レジスタ１０６に送信先・受信先を設定し、送信データをパラレルデータ１０３としてパラレル/シリアル変換器１０１に入力する。その後、通信開始レジスタ１２０をセットすることにより通信が開始される。最後に受信データが、シリアル/パラレル変換器１０２からパラレルデータ１０４として出力される。
【００５３】
図１６は、マスタノードの他の構成例を示す図である。本例のマスタノード１００は、ＭＰＵ(Micro-processing Unit)１１１を有する。送信先制御レジスタ１０５、受信先制御レジスタ１０６、通信開始レジスタ１２０は、バス１１０を介してＭＰＵ１１１により設定される。
【００５４】
送信データは、バス１１０を介してＭＰＵ１１１によりバッファ１０８に書き込まれ、パラレルデータ１０２としてパラレル/シリアル変換器１０１に入力されシリアルデータに変換されてＴＸＤ１１として出力される。シリアル/パラレル変換器１０２でパラレルデータ１０４に変換された受信データは、バッファ１０９に記憶され、バス１１０を介してＭＰＵ１１１の要求にしたがってＭＰＵ１１１に読み出される。
【００５５】
図１７は、本発明による通信システムの信号波形の説明図である。通信に先立ち、送信相手・受信相手を指定するために、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）が出力される。図１７の例は、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）は全てアクティブ（Ｌ）、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）のうちＲＸＣＳｉ＃（１４−ｉ）のみアクティブ（Ｌ）で他はアクティブでない場合を示している。
【００５６】
このとき、ＳＣＬＫ１０の立上がりエッジでマスタノード１００からＴＸＤ１１が送出され、スレーブノード２００−１〜２００−ｎではＳＣＬＫ１０の立下がりエッジでＴＸＤ１１をラッチする。また、スレーブノード２００−ｉのみがＳＣＬＫ１０の立上がりエッジでＲＸＤ１２を送出し、他のスレーブノードは出力せずに高インピーダンス状態となる。以上のようにして、マスタノード１００は、スレーブノード２００−１から２００−ｎに対して同時にデータを送ることができ、かつ特定のスレーブノード２００−ｉからのデータを受け取ることができる。
【００５７】
図１８は、従来のＳＰＩと両立性を有するマスタノードの構成例を示す図である。このマスタノード１００は、受信用のシリアル/パラレル変換器１０２のイネーブル信号ＥＮ＃を切り替えるためのスイッチ１２１を有する。スイッチ１２１をＡに倒すと、図１５の実施例と同様に受信先制御レジスタ１０６にいずれかの受信先を指定したときにシリアル/パラレル変換器１０２が動作し受信動作をする。スイッチ１２１をＢに倒したときには、送信先制御レジスタ１０５にいずれかの送信先を選択したときにシリアル/パラレル変換器１０２が動作し受信動作をする。つまりこのときには送信先制御レジスタ１０５にいずれかの送信先を選択したときに送信、受信動作をすることになる。即ち、本発明の提供するマスタノード１００のスイッチ１２０をＢに倒し、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）を従来のＳＰＩ規格のスレーブノードのＣＳ＃端子に接続することにより、従来のＳＰＩとまったく同一の動作をすることが可能になる。
【００５８】
なお、本発明が提供するスレーブノードのＴＸＣＳｉ＃端子とＲＸＣＳｉ＃端子同士を接続し、従来のＳＰＩ規格のマスタノードのＣＳ１＃〜ＣＳｎ＃に接続することにより、従来のＳＰＩとまったく同一の動作をすることが可能になる。
【００５９】
以上のべた本実施例により、本発明が提供する通信システムに従来のＳＰＩとの両立性（コンパティビリティ）を持たせることができる。
【００６０】
図１９は、図１８の実施例でスイッチ１２１をＢに倒した場合のＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）の設定方法と通信動作を示す。
【００６１】
スイッチ１２１をＢに倒した場合には、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）で受信も制御されるため、同時に２つのサブノードに対応する信号を同じにアクティブ（ＯＮ）にすることはRXDが衝突するために禁止されている。したがってcase 4, 6, 7, 8は禁止され、case 1, 2, 3, 5の設定のみが許される。
【００６２】
また、スイッチ１２０をＢに倒した場合、使用しなくなるＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）の端子をチップセレクト信号として使用することも可能である。即ち、スイッチ１２０をＢに倒したときには、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）がＣＳ１＃〜ＣＳｎ＃を表し、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）がＣＳ（ｎ＋１）＃〜ＣＳ（２ｎ）＃を表すようにすれば出力ピンを有効に活用することができる。
れる。
【００６３】
なお、スイッチ１２０をＡ側に倒すかＢ側に倒すかの制御はレジスタ１２２により実現することも可能である。
【００６４】
図２０は、本発明による制御装置の実施例を示す図である。本実施例では、図１６に示すような、ＭＰＵを備えるマスタノード１００を用いる。スレーブノード２００−１〜２００−ｎにそれぞれ出力半導体素子２５０−１〜２５０−ｎとアクチュエータ２５１−１〜２５１−ｎが接続され、制御対象を制御する。図示した実施例では、出力半導体素子２５０−１〜２５０−ｎはアクチュエータよりも電源ＶＢ側に接続されるハイサイドドライバとなっているが、アクチュエータよりもグランド側に接続されるローサイドドライバでも可能であるのはいうまでもない。また、出力半導体素子２５０−１〜２５０−ｎはＨブリッジなどとすることも同様に可能である。また図１１、図１２に示す実施例のようにスレーブノードに出力半導体素子２１１を内蔵させることも可能である。
【００６５】
アクチュエータはソレノイドやモータ等とすることができる。アクチュエータがモータの場合には、出力半導体素子をＨブリッジとすると、印加される電圧極性を逆転させて逆回転させることができる。また図２０の実施例では、スレーブノード２００−１〜２００−ｎは夫々１つずつの出力半導体素子、アクチュエータに接続されているが、複数の出力半導体素子、アクチュエータに接続することも可能である。
【００６６】
アクチュエータ２５１−１〜２５１−ｎにより制御対象２５２−１〜２５２−ｎが制御される。制御対象の状態またはアクチュエータの状態は、図に示すようにスレーブノード２００−１〜２００−ｎにフィードバックする。図１０に示すようにスレーブノード２００−１〜２００−ｎにMPU２１０を備えれば、制御対象２５２−１〜２５２−ｎとスレーブノード２００−１〜２００−ｎだけでマスタノード１００と独立にフィードバック制御系を形成することも可能である。この場合、制御対象の状態またはアクチュエータの状態は図示しないセンサを介してフィードバックされることもある。その場合、スレーブノード２００−１〜２００−ｎには、図１３や図１４の実施例に示すように、入力回路２１４あるいはＡ／Ｄ変換器２１５を備えることも可能である。
【００６７】
例えば、本実施例の制御装置がエンジンを制御する場合には、出力半導体素子２５０−１〜２５０−ｎとして、電子制御スロットルを動作させるモータを駆動するためのＨブリッジ、気筒内の混合気を点火するためのイグナイタドライバ、気筒内または吸気間気筒入り口近くで燃料を噴射するインジェクタと駆動するインジェクタドライバ、排気ガス還流量を制御するＥＧＲバルブドライバ、トランスミッションを制御するためのソレノイドドライバなどが考えられる。これらのドライバのうち、イグナイタドライバ、インジェクタドライバは所定のタイミングで所定の長さの時間だけ電流を流し、点火のタイミング及びエネルギ、燃料噴射の時期及びその量を制御する。Ｈブリッジ、ＥＧＲバルブドライバ、ソレノイドドライバは、電流を流すパルス時間幅を変えるPWM（パルス幅変調）により流れる平均電流を制御し、スロットル開度、ＥＧＲバルブ開度、ソレノイドに接続したクラッチの締結力を制御し、Ｈブリッジではさらに電流の流れる方向を制御してスロットル弁を動かすモータの回転方向を制御する。またこの場合、フィードバックする制御対象の状態としてはエンジンの回転角、水温、吸気流量などがあり、センサとしてはクランク角センサ、水温系、吸気流量計などがある。
【００６８】
また、電動ブレーキを制御する場合には、出力半導体素子２５０−１〜２５０−ｎとして、電動ブレーキのモータを駆動するためのＨブリッジまたは３相インバータなどが考えられる。この場合、スレーブノード２００−１〜２００−ｎは車輪（ブレーキ）ごとに備えるのが好適である。またこの場合、フィードバックする制御対象の状態としてはブレーキパッドの押し付け力（推力）、車輪の速度等があり、センサとしては圧力センサ、車輪速センサ等がある。
【００６９】
さらに電動アクチュエータで構成したサスペンションを制御する場合には、出力半導体素子２５０−１〜２５０−ｎとして、電動アクチュエータを駆動するためのＨブリッジまたはハーフブリッジなどが考えられる。この場合、スレーブノード２００−１〜２００−ｎは車輪（サスペンション）ごとに備えるのが好適である。またこの場合、フィードバックする制御対象の状態としてはサスペンションの位置、加速度等があり、センサとしては位置センサ、加速度センサ等がある。
【００７０】
以上述べた実施例によれば、マスタノード１００からの指令は、本発明の提供する通信システムによりスレーブノード２００−１〜２００−ｎに伝送され、スレーブノード２００−１〜２００−ｎでは、マスタノード１００からの指令に基づき、出力半導体素子２５０−１〜２５０−ｎを介してアクチュエータ２５１−１〜２５１−ｎを制御することができる。また、マスタノード１００からの指令をスレーブノード２００−１〜２００−ｎにブロードキャストすることができるため、指令の伝送時間を短縮することが可能である。
【００７１】
一方、スレーブノード２００−１〜２００−ｎからマスタノード１００へは、本発明の提供する通信システムにより種々の情報が伝送される。スレーブノード２００−１〜２００−ｎからマスタノード１００へ伝送される情報としては、図示しないセンサより入力されるアクチュエータ及び制御対象の状態、出力半導体素子２５０−１〜２５０−ｎでの診断結果（過電流検出、短絡検出、断線検出、過熱検出）、スレーブノード２００−１〜２００−ｎの状態（制御演算及び制御に関するエラー情報、状態遷移情報など）に関する情報などがある。
【００７２】
図２１は、本発明による情報処理システムの実施例を示す図である。本実施例では、図１６に示すようなＭＰＵを備えるマスタノード１００及び図１０に示すようなＭＰＵを備えるスレーブノードを用いる。マスタノード１００には記憶装置２５２−０が、スレーブノード２００−１〜２００−ｎには記憶装置２５２−１〜２５２−ｎが接続されている。記憶装置２５２−０〜２５２−ｎとしては、通常の半導体メモリや磁気ディスク装置などの使用が可能である。
【００７３】
個々のマスタノード１００、スレーブノード２００−１〜２００−ｎは自身に接続された記憶装置２５２−０〜２５２−ｎを用いて割り当てられた処理を実行するが、本発明が提供する通信システムを経由して必要な情報を交換し、全体として統合のとれた動作を実現することが可能である。特に本発明の提供する通信システムによれば、マスタノード１００からスレーブノード２００−１〜２００−ｎへの情報のブロードキャスト、異なる相手への同時送信／受信が可能であるため、情報交換のためのノード間の通信の効率を高めることが可能である。
【００７４】
例えば、マスタノード１００からスレーブノード２００−１〜２００−ｎに対して個々のスレーブノードで演算の元となる数値、演算の内容種別を表す情報などを伝送し、スレーブノード２００−１〜２００−ｎからマスタノード１００へは演算結果、演算の状態（演算中、演算終了、誤り発生状況など）の情報を伝送するようにすれば、全体としては分散処理システムとして高性能な情報処理を実現することができる。
【００７５】
図２２は、先行受信機能を有するマスタノードの構成例を示す図である。本実施例のマスタノード１００は転送制御回路１１４を備え、受信データ１０４をメモリ１１３に転送する。転送制御回路１１４はＭＰＵ１１１からの通信要求がない場合にバックグランドで受信先制御レジスタ１０６に設定し、通信開始レジスタ１２０をセットしてスレーブノードから受信し、受信データ１０４をメモリ１１３に転送する。なお受信先制御レジスタ１０６各スレーブノード２００−１〜２００−ｎを受信（スレーブノードからマスタノードへの転送）の相手として選択するかどうかを設定するレジスタで、受信データの競合を防ぐために1つのスレーブノードのみを受信先として選択し、他のスレーブノードは選択しないように設定する。
【００７６】
メモリ１１３はバス１１０より高速のバス１１２に接続されているためＭＰＵ１１１からのアクセス時間を短縮することができ、ＭＰＵ１１１の処理性能を向上させることができる。
【００７７】
図２３を用いて、先行受信機能の動作を従来方式と比較しながら説明する。図２３（ａ）は従来方式、図２３（ｂ）は本実施例を表す。本実施例によれば、図２３（ｂ）に示すように、時刻Ｔ１にＭＰＵ１１１から送信要求があり通信Ｉ／Ｆで送信動作が終了した後、転送制御回路１１４はバックグランドで受信要求を通信Ｉ／Ｆに出し、通信Ｉ／Ｆは受信動作をする。受信動作が終了すれば、その結果である受信結データを転送制御回路１１４によりメモリ１１３に転送する。時刻Ｔ２にＭＰＵ１１１が受信データを必要とすると、受信要求をメモリ１１３に対するリードアクセスという形で出し、ＭＰＵ１１１は時時刻Ｔ３に受信データを得る。ここで、時刻Ｔ２から時刻Ｔ３までの時間はメモリ１１３へのアクセス時間ですむ。
【００７８】
これに対して従来技術では、図２３（ａ）に示すように、時刻Ｔ２での通信要求に対して通信Ｉ／Ｆが送信、受信の双方を行う通信動作をし、その通信動作が終了してから時刻Ｔ４にバッファ１０９にリードアクセスして、時刻Ｔ５に受信データが得られる。時刻Ｔ２から時刻Ｔ５までの時間は、通信Ｉ／Ｆでの通信動作時間が加わるため、時刻Ｔ２からＴ３までの時間に比べはるかに長い上、通常バッファ１０９へのアクセス時間はメモリ１１３へのアクセス時間より長いため時刻Ｔ４からＴ５までの時間も時刻Ｔ２からＴ３までの時間に比べ長くなる。
【００７９】
例えば、図１１、図１２の実施例に示すスレーブノードが接続されている場合には、従来技術では、出力半導体素子２１１に関する診断結果を得るためには以下の過程が必要である。まず図２３（ａ）に示すように、時刻Ｔ２での通信要求に対して通信Ｉ／Ｆが送信、受信の双方を行う通信動作をし、その通信動作が終了してから時刻Ｔ４にバッファ１０９にリードアクセスして、時刻Ｔ５に診断結果が得られる。これに対して本発明では、図２３（ｂ）に示すように、診断結果を転送制御回路１１４によってメモリ１１３に事前に取りこむことにより、出力制御に付随する診断機能を高速に実現することができる
また制御系の多くでは、制御対象を制御するために、図２０に示すように制御対象またはアクチュエータの状態をフィードバックし、それに応じた適切な出力を得るための演算をMPU１１１で実行する必要がある。この場合、従来技術では、出力値を演算するのに必要な入力データを得るためには以下の過程が必要である。まず図２３（ａ）に示すように、時刻Ｔ２での通信要求に対して通信Ｉ／Ｆが送信・受信の双方を行う通信動作をし、その通信動作が終了してから時刻Ｔ４にバッファ１０９にリードアクセスして、時刻Ｔ５に入力データが得られる。これに対して、本発明では図２３（ｂ）に示すように、入力データを転送制御回路１１４によってメモリ１１３に事前に取りこむことにより、MPU１１１は入力データをもとに出力値を演算することができ、制御動作を高速化することができる。
【００８０】
また従来技術では受信するためには必ず送信もしなければならないため、本実施例のようにバックウランドで受信するためには、何らかの副作用の生じない送信データを用意する必要があり、大きな障害となる。これに対して、本発明では受信動作単独で動作することが可能である。
【００８１】
図２４は、図２２、図２３の実施例のバックグランドでの受信にかかる各信号波形の例を示す図である。図は、ＴＸＣＳ１＃（１３−１）〜ＴＸＣＳｎ＃（１３−ｎ）が全てＨ、即ちインアクティブ、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）のうちＲＸＣＳｉ＃（１４−ｉ）のみアクティブ（Ｌ）で他はアクティブでない場合を示している。
【００８２】
このとき、全てのスレーブノード２００−１〜２００−ｎで、送信データＴＸＤ１１は無視される。スレーブノード２００−ｉのみがＳＣＬＫ１０の立上がりエッジでＲＸＤ１２を送出し、他のスレーブノードは出力せずに高インピーダンス状態となる。本実施例によれば特定のスレーブノード２００−ｉからのデータを受け取ることができる。また送信データＴＸＤ１１は無視されるので、データ受信のためにダミーのデータを送信する必要がなくなる。また、ダミーのデータ送信によるノイズ発生がないので総体としてノイズ発生を低減することができる。
【００８３】
以上、図２２〜図２４に示す実施例によれば、予め受信データをマスタノードのメモリ１１３に事前に取りこんでいるためＭＰＵ１１１の処理性能を向上させることができる。
【００８４】
図２５は、デュアルポートメモリを有し、先行受信機能を有するマスタノードの構成例を示す図である。本実施例のマスタノード１００は、ＭＥＭ１１３の代わりにデュアルポートメモリ１１５を備える。転送制御回路１１４はＭＰＵ１１１からの通信要求がない場合にバックグランドで受信先制御レジスタ１０６を設定し、通信開始レジスタ１２０をセットしてスレーブノードから受信し、受信データ１０４をデュアルポートメモリ１１５に転送する。なお図２２の実施例と同様に受信先制御レジスタ１０６は各スレーブノード２００−１〜２００−ｎを受信（スレーブノードからマスタノードへの転送）の相手として選択するかどうかを設定するレジスタで、受信データの競合を防ぐために1つのスレーブノードのみを受信先として選択し、他のスレーブノードは選択しないように設定する。デュアルポートメモリ１１５はバス１１０とともに高速のバス１１２に接続されているため、ＭＰＵ１１１からのアクセス時間を短縮することができ、ＭＰＵ１１１の処理性能を向上させることができる。その上、転送制御回路１１４による転送によってバス１１２が占有されないため、ＭＰＵ１１１の動作、例えばＭＥＭ１１３へのアクセスなどが阻害されないためさらに処理性能を向上させることができる。
【００８５】
図２６は、転送制御回路１１４の実施例を示す図である。転送制御回路１１４は図に示すように転送制御レジスタ３００−１〜３００−ｎ、シーケンサ３１０、タイマ３２０からなる。転送制御レジスタ３００−１〜３００−ｎは先行受信機能を制御するレジスタで、図に示すように複数個有することが可能で、ＭＰＵ１１１により設定される。シーケンサ３１０は転送制御レジスタ３００−１〜３００−ｎに従って、受信先制御レジスタ１０６を設定し通信開始レジスタ１２０をセットしてスレーブノードから受信し、受信データ１０４をデュアルポートメモリ１１５に転送する。タイマ３２０は先行受信の周期を制御するもので、転送制御回路１１４に備わっていることが望ましいが、他のタイマ信号を用いれば必要ではない。
【００８６】
個々の転送制御レジスタ３００−１〜３００−ｎに設定される情報の実施例を図２７に示す。個々の転送制御レジスタ３００−ｉには、先行受信ＯＮ／ＯＦＦフィールド３０１、受信先フィールド３０２、転送先アドレスフィールド３０３、先行受信周期または起動タイマフィールド３０４を有している。先行受信ＯＮ／ＯＦＦフィールド３０１は先行受信をするか否かを指定するフィールドで、このフィールドを設定することにより先行受信機能を動作あるいは停止させる。受信先フィールド３０２は各スレーブノード２００−１〜２００−ｎのうち受信（スレーブノードからマスタノードへの転送）の相手として選択するスレーブノードを設定するフィールドで、転送制御回路１１４はこのフィールドの設定に従って、受信制御先レジスタ１０６を設定する。転送先アドレスフィールド３０３は先行受信したデータを転送する先のメモリ１１３またはデュアルポートメモリ１１５上のアドレスを示す。先行受信周期フィールド３０４は先行受信周期を設定するためのもので、図２６の実施例のように転送制御回路１１４がタイマ３２０を内蔵している場合には先行受信周期フィールド３０４によりタイマ３２０からの起動信号周期を設定し、転送制御回路１１４はタイマ３２０からの起動信号により通信開始レジスタ１２０をセットして先行受信動作をする。また、転送制御回路１１４の外のタイマから起動信号を得る場合には、図２８に示すように起動タイマフィールド３０４を設け、このフィールドで指定されたタイマからの起動信号により通信開始レジスタ１２０をセットして先行受信動作をする。この場合、先行受信周期は、起動タイマフィールドで指定されたタイマの制御レジスタにより設定される。
【００８７】
図２９に転送制御回路１１４の動作の実施例をフローチャートで示す。まずタイマからの起動により転送制御回路１１４の動作が開始される（Ｓ１）。続いて、受信先フィールド３０２に従い受信先制御レジスタ１０６を設定する（Ｓ２）。この段階で受信先制御レジスタ１０６設定に従ってＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）のいずれかに有効を示す信号が出力される。次に通信開始レジスタ１２０をセットする（Ｓ３）。この段階でＳＣＬＫ１０が出力され、ＲＸＣＳ１＃（１４−１）〜ＲＸＣＳｎ＃（１４−ｎ）で指定したスレーブからデータＲＸＤ１２が出力される。通信終了を待った（Ｓ４）後、受信バッファの値を転送先アドレスフィールド３０３で指定されたアドレスに転送する（Ｓ５）。これにより受信データがメモリ１１３またはデュアルポートメモリ１１５に格納される。その後、転送制御回路１１４の動作は終了（Ｓ６）し、タイマ起動待ちとなる。
【００８８】
なお、上述した本発明の実施例ではマスタノード、スレーブノードの説明を行ったが、このマスタノード、スレーブノードに該当する部材としては色々な形態が考えられ、例えば、マスタノード及びスレーブノードを別々に個々の基板として形成して、マスタノードの機能を持った基板、及びスレーブノードの機能を持った基板を信号線が収められたケーブルで接続して構成することも可能であり、更に、これらの基板においてはマスタノード及びスレーブノードの機能以外の他の機能を搭載することも可能である。そして、このような構成においても、上述した本発明の実施例と同様の効果を得ることが可能になる。
【図面の簡単な説明】
【００８９】
【図１】本発明による通信システムの基本的な原理を示すブロック図。
【図２】ＴＸＣＳｉ＃、ＲＸＣＳｉ＃により通信を制御する構成例を示す図。
【図３】図２に示した通信システムの動作例（ブロードキャスト）を示す図。
【図４】ＴＸＣＳｉ＃、ＲＸＣＳｉ＃の設定と通信動作の説明図。
【図５】ＣＳｉ＃、Ｔ／ＴＲ＃により通信を制御する構成例を示す図。
【図６】ＣＳｉ＃、Ｔ／ＴＲ＃の設定と通信動作の説明図。
【図７】ＣＳｉ＃、Ｒ／ＴＲ＃により通信を制御する構成例を示す図。
【図８】ＣＳｉ＃、Ｒ／ＴＲ＃の設定と通信動作の説明図。
【図９】スレーブノードの構成例を示す図。
【図１０】マイクロプロセッシングユニットを有するスレーブノードの構成例を示す図。
【図１１】出力半導体素子を有するスレーブノードの構成例を示す図。
【図１２】出力半導体素子をタイマで動作させるスレーブノードの構成例を示す図。
【図１３】入力回路を有するスレーブノードの構成例を示す図。
【図１４】Ａ／Ｄ変換器を有するスレーブノードの構成例を示す図。
【図１５】マスタノードの構成例を示す図。
【図１６】マイクロプロセッシングユニットを有するマスタノードの構成例を示す図。
【図１７】本発明による通信システムの信号波形の説明図。
【図１８】従来のＳＰＩと両立性を有するマスタノードの構成例を示す図。
【図１９】従来のＳＰＩと両立性を有するマスタノードの動作例を示す図。
【図２０】本発明による制御装置の実施例を示す図。
【図２１】本発明による情報処理システムの実施例を示す図。
【図２２】先行受信機能を有するマスタノードの構成例を示す図。
【図２３】先行受信機能の動作の説明図。
【図２４】先行受信機能にかかる各信号線の波形の説明図。
【図２５】デュアルポートメモリを有し、先行受信機能を有するマスタノードの構成例を示す図。
【図２６】転送制御回路の実施例を示す図。
【図２７】転送制御レジスタの実施例を示す図。
【図２８】転送制御レジスタの実施例を示す図。
【図２９】転送制御回路の動作の実施例を示す図。
【符号の説明】
【００９０】
１００…マスタノード、１０１…パラレル/シリアル変換器、１０２…シリアル/パラレル変換器、１０５…送信先制御レジスタ、１０６…受信先制御レジスタ、１０７…クロック生成回路、１１１…ＭＰＵ、１２０…通信開始レジスタ、２００−１〜２００−ｎ…スレーブノード、２０１…シリアル/パラレル変換器、２０２…パラレル/シリアル変換器、２０３…状態遷移監視器、２１０…ＭＰＵ
【図１】
0004615965.tif 000002
【図２】
0004615965.tif 000003
【図３】
0004615965.tif 000004
【図４】
0004615965.tif 000005
【図５】
0004615965.tif 000006
【図６】
0004615965.tif 000007
【図７】
0004615965.tif 000008
【図８】
0004615965.tif 000009
【図９】
0004615965.tif 000010
【図１０】
0004615965.tif 000011
【図１１】
0004615965.tif 000012
【図１２】
0004615965.tif 000013
【図１３】
0004615965.tif 000014
【図１４】
0004615965.tif 000015
【図１５】
0004615965.tif 000016
【図１６】
0004615965.tif 000017
【図１７】
0004615965.tif 000018
【図１８】
0004615965.tif 000019
【図１９】
0004615965.tif 000020
【図２０】
0004615965.tif 000021
【図２１】
0004615965.tif 000022
【図２２】
0004615965.tif 000023
【図２３】
0004615965.tif 000024
【図２４】
0004615965.tif 000025
【図２５】
0004615965.tif 000026
【図２６】
0004615965.tif 000027
【図２７】
0004615965.tif 000028
【図２８】
0004615965.tif 000029
【図２９】
0004615965.tif 000030