(57)【要約】【課題】通信速度の低下を抑制し、かつスレーブアドレスのビット数による制限を超えるスレーブデバイスとマスタデバイスとの通信を可能とする。【解決手段】バス制御装置では、マスタバス１１〜１４上の開始条件信号によって送信可能なマスタバスを決定し、終了条件検出回路９４は終了条件信号を検出し、スイッチ制御回路９６は、終了条件カウンタ９５のカウント値に応じたスレーブバス３１〜３４が送信可能なマスタバスと接続されるように、スイッチ８１〜８４のオンオフを制御する。【選択図】図１
2014035709.tif 000002
【特許請求の範囲】
【請求項１】
マスタデバイスがそれぞれ接続される複数のマスタバスと、
スレーブデバイスがそれぞれ接続される複数のスレーブバスと、
前記複数のマスタバスと前記複数のスレーブバスとの間に設けられた内部バスと、
オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第１スイッチと、
前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、
前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、
前記送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定するプルダウン処理部と、
前記送信可能なマスタバスが前記内部バスと接続されるように、前記第１スイッチのオンオフ動作を制御する第１スイッチ制御部と、
オンオフ動作を行い、前記複数のスレーブバスについて、前記内部バスに接続されるスレーブバスを切り替える第２スイッチと、
前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、
前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、
前記複数のスレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように、前記第２スイッチのオンオフ動作を制御する第２スイッチ制御部とを備えていることを特徴とするバス制御装置。
【請求項２】
前記第２スイッチ制御部は、前記終了条件カウント部におけるバス対応カウンタのカウント値に応じた分だけ、前記複数のスレーブバスについて、前記送信可能なマスタバスと接続されるスレーブバスが順次切り替わるように、前記第２スイッチのオンオフ動作を制御することを特徴とする請求項１に記載のバス制御装置。
【請求項３】
前記第２スイッチ制御部は、前記送信可能なマスタバスと接続されたマスタデバイスと前記スレーブデバイスとの通信終了後に、前記送信可能なマスタバスと接続されたマスタデバイスから前記マスタバス上に出力される前記終了条件信号についての前記終了条件カウント部におけるバス対応カウンタのカウント値に応じて、前記複数のスレーブバスについて、前記送信可能なマスタバスに接続されるスレーブバスが所定の順序にて切り替わるように、前記第２スイッチのオンオフ動作を制御することを特徴とする請求項１または２に記載のバス制御装置。
【請求項４】
第１バス制御手段と複数の第２バス制御手段とを備え、
前記第１バス制御手段は、
マスタデバイスがそれぞれ接続される複数のマスタバスと、
前記第２バス制御手段がそれぞれ接続される複数の第１スレーブバスと、
前記複数のマスタバスと前記複数の第１スレーブバスとの間に設けられた内部バスと、
オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第１側第１スイッチと、
前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、
前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、
前記送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定するプルダウン処理部と、
前記送信可能なマスタバスが前記内部バスと接続されるように、前記第１側第１スイッチのオンオフ動作を制御する第１側第１スイッチ制御部と、
オンオフ動作を行い、前記複数の第１スレーブバスについて、前記内部バスに接続される第１スレーブバスを切り替える第１側第２スイッチと、
前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、
前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、
前記複数の第１スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じた第１スレーブバスが前記内部バスと接続されるように、前記第１側第２スイッチのオンオフ動作を制御する第１側第２スイッチ制御部とを備え、
前記第２バス制御手段は、
スレーブデバイスが接続される複数の第２スレーブバスと、
前記送信可能なマスタバスと接続されたマスタデバイスから送信される第１のアドレスから、前記複数の第２スレーブバスのうちの制御対象の前記スレーブデバイスが接続される第２スレーブバスを特定する第２のアドレスをデコードするとともに、前記第１のアドレスを制御対象の前記スレーブデバイスを特定する第３のアドレスに変換し、前記送信可能なマスタバスと接続されたマスタデバイスからの前記第１のアドレスの送信に伴って全ての前記第２スレーブバスに前記第３のアドレスを送信するデコード部と、
オンオフ動作を行い、前記複数の第２スレーブバスについて、前記第１スレーブバスに接続される第２スレーブバスを切り替える第２側第１スイッチと、
前記第２のアドレスに従い、前記第２側第１スイッチのオンオフ動作による前記第１スレーブバスと前記第２スレーブバスとの接続を制御する接続制御部とを備え、
所定のビット幅の上位ビットにおいて、前記第３のアドレスのビット列が全てのスレーブデバイスに対して固定のアドレス値を有しており、
前記デコード部は、前記送信可能なマスタバスと接続されたマスタデバイスが前記第１のアドレスの前記上位ビットを送信する間、前記複数の第２スレーブバス全てに、前記第３のアドレスの前記上位ビットとして前記固定のアドレス値を送信し、
前記接続制御部は、前記デコード部が前記第３のアドレスを送信後、前記第２のアドレスにより特定される前記第２スレーブバスのみが前記第１スレーブバスとの接続を維持するように前記第１側第１スイッチを制御するとともに、前記第２のアドレスにより特定されない全ての前記第２スレーブバスに対して、前記スレーブデバイスとの通信の終了を示す信号を送信することを特徴とするバス制御装置。
【請求項５】
複数のマスタバスにそれぞれ接続されたマスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出工程と、
前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定工程と、
前記送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定するプルダウン処理工程と、
前記送信可能なマスタバスが、前記複数のマスタバスと複数のスレーブバスとの間に設けられた内部バスと接続されるように切り替える第１切替え工程と、
前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出工程と、
前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出工程にて検出された終了条件信号の数を数える終了条件カウント工程と、
複数の前記スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように切り替える第２切替え工程とを備えていることを特徴とするバス制御方法。
【請求項６】
請求項１から４のいずれか１項に記載のバス制御装置の前記の各部としてコンピュータを機能させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタデバイスが接続されるマスタバスとスレーブデバイスが接続されるスレーブバスとの通信を制御するバス制御装置、バス制御方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
近年、デバイス間の情報伝達を行うためのインターフェイスとしてＩ２Ｃ（Inter Integrated Circuit）バスが使用されている。このＩ２Ｃバスを使用した接続では、通常、1本のＩ２Ｃバスに対して、複数のスレーブデバイスと、これらスレーブデバイスを制御するマスタデバイスとが接続される。
【０００３】
しかしながら、一般的なスレーブデバイスの仕様では選択可能なスレーブアドレスの数に制限があり、その数以上に同種のスレーブデバイスを同一のバスに接続することができない。一方、制御システムの規模の拡大に伴い、スレーブアドレスの数の制限を越えて、スレーブデバイスをバスに接続することが求められている。
【０００４】
そこで、スレーブアドレスの制限を越えるスレーブデバイスを接続する技術として、例えば、特許文献１に開示されているような構成が提案されている。特許文献１に記載の構成では、マスタデバイスがマスタバスに接続され、複数のスレーブバスがそれぞれスイッチを介してマスタバスと接続されている。
【０００５】
具体的には、特許文献１に記載の構成では、マスタデバイスがスレーブデバイスと通信する場合に、図１０に示すような動作を行っている。図１０は、特許文献１に開示された従来技術におけるマスタデバイスがスレーブデバイスと通信する場合の動作を示したタイミングチャートである。
【０００６】
すなわち、マスタデバイスからスレーブデバイスに対してデータを送信する場合には、マスタデバイスからマスタバス上にデータの送受信の対象となるスレーブデバイスの論理アドレスを送信する。次に、この論理アドレスを実アドレスとバス番号にデコードし、デコードされたバス番号に基づき、スレーブデバイスが接続されたスレーブバスとマスタバスとが接続されるように、スイッチを制御している。さらに、当該デコードされた実アドレスをスレーブバス上に送信し、当該実アドレスにより特定されるスレーブデバイスに対しデータの送受信を行うようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１６５４２１号公報（２０００年６月１６日公開）
【特許文献２】特開２０１１−１３８２９３号公報（２０１１年７月１４日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の構成では、マスタデバイスがスレーブデバイスに対してデータを送信する場合には、その前に、スレーブデバイスの論理アドレスからバス番号をデコードして、マスタバスとデータ送信対象のスレーブデバイスが接続されているスレーブバスとが接続されるようにスイッチを制御する必要がある。
【０００９】
このため、マスタデバイスがスレーブデバイスに対してデータの送信を行う時間に加え、論理アドレスをデコードしてスイッチを制御する時間がさらに必要になり、通信速度が低下するという問題点を有している。
【００１０】
さらに、Ｉ２Ｃバスにてマスタデバイスがスレーブデバイスと通信する場合、スレーブアドレスは７ビットしかなく、マスタデバイスは１２８個を超えるスレーブデバイスと通信することができない。そこで、マスタデバイスが１２８個を超えるスレーブデバイスと通信できるようにするために、別途バスセレクタを設けることが考えられる。この場合、マスタデバイスがスレーブデバイスと通信する動作は図１１に示すものとなる。図１１は、特許文献１に開示された従来技術において、バスセレクタを設けた場合における、マスタデバイスがスレーブデバイスと通信する場合の動作を示したタイミングチャートである。
【００１１】
しかしながら、バスセレクタを設けた場合には、図１１に示すように、スレーブデバイスと通信する前に、必ずバスセレクタを切り替える操作が必要になる。このため、バスセレクタによりバスの切り替えに要する時間分だけ、通信速度が低下するという問題を招来する。
【００１２】
したがって、本発明は、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信を可能とするバス制御装置、バス制御方法、プログラムおよび記録媒体の提供を目的としている。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明のバス制御装置は、マスタデバイスがそれぞれ接続される複数のマスタバスと、スレーブデバイスがそれぞれ接続される複数のスレーブバスと、前記複数のマスタバスと前記複数のスレーブバスとの間に設けられた内部バスと、オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第１スイッチと、前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、前記送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定するプルダウン処理部と、前記送信可能なマスタバスが前記内部バスと接続されるように、前記第１スイッチのオンオフ動作を制御する第１スイッチ制御部と、オンオフ動作を行い、前記複数のスレーブバスについて、前記内部バスに接続されるスレーブバスを切り替える第２スイッチと、前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、前記複数のスレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように、前記第２スイッチのオンオフ動作を制御するスイッチ制御部とを備えていることを特徴としている。
【００１４】
また、本発明のバス制御方法は、複数のマスタバスにそれぞれ接続されたマスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出工程と、前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定工程と、前記送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定するプルダウン処理工程と、前記送信可能なマスタバスが、前記複数のマスタバスと複数のスレーブバスとの間に設けられた内部バスと接続されるように切り替える第１切替え工程と、前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出工程と、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出工程にて検出された終了条件信号の数を数える終了条件カウント工程と、複数の前記スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように切り替える第２切替え工程とを備えていることを特徴としている。
【００１５】
上記の構成によれば、通信検出部（通信検出工程）は、マスタデバイスからマスタバス上に出力された開始条件信号を検出し、優先順位決定部（優先順位決定工程）は、開始条件信号が検出されたマスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する。プルダウン処理部（プルダウン処理工程）は、送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定する。
【００１６】
これにより、複数のマスタバスにそれぞれ接続された複数のマスタデバイスがそれぞれ任意のタイミングにて送信を行った場合であっても、一つのマスタバスが送信可能なマスタバスとして決定される。この場合、送信可能なマスタバス以外のマスタバスに接続されているマスタデバイスは、接続されているマスタバスがＬレベルに固定されていることから、送信を行わない。
【００１７】
また、第１スイッチ制御部（第１スイッチ制御工程）は、送信可能なマスタバスが内部バスと接続されるように、第１スイッチのオンオフ動作を制御する。終了条件検出部（終了条件検出工程）は、送信可能なマスタバスに接続されたマスタデバイスから送信可能なマスタバス上に出力された終了条件信号を検出する。終了条件カウント部（終了条件カウント工程）は、送信可能なマスタバスに対応するバス対応カウンタにより、終了条件検出部（終了条件検出工程）にて検出された終了条件信号の数を数える。第２スイッチ制御部（第２スイッチ制御工程）は、複数のスレーブバスのうち、送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが内部バスと接続されるように、第２スイッチのオンオフ動作を制御する。
【００１８】
これにより、送信可能なマスタバスに接続されたマスタデバイスは、終了条件信号によって指定したスレーブデバイスと適切に接続することができる。したがって、複数のマスタデバイスと複数のスレーブデバイスとの通信が可能となる。
【００１９】
また、上記のように、マスタデバイスによりマスタバスと接続するスレーブバスとして任意のスレーブバスが選択された場合であっても、マスタデバイスからマスタバス上に出力された終了条件信号により、マスタバスを任意のスレーブバスに接続することができるので、スレーブアドレスおよびバス番号を指定することによってマスタバスと接続するスレーブバスを切り替えるような従来の構成と比較して、マスタバスをいずれかのスレーブバスと接続するまでの速度を速くすることができる。この結果、マスタデバイスとスレーブデバイスとの通信速度を速くすることができる。
【００２０】
また、マスタデバイスからマスタバス上に出力される終了条件信号によって、マスタバスと接続するスレーブバスを切り替える構成であるから、同じスレーブアドレスのスレーブデバイスであっても、異なるスレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。したがって、スレーブアドレスは７ビットであるので、Ｉ２Ｃバスでは、仕様上、アドレスの組み合せは１２８個しか存在しないものの、マスタデバイスは、１２８個を超えるスレーブデバイスとの通信、すなわちスレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとの通信が可能となる。
【００２１】
これにより、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信が可能となる。
【００２２】
上記のバス制御装置において、前記第２スイッチ制御部は、前記終了条件カウント部におけるバス対応カウンタのカウント値に応じた分だけ、前記複数のスレーブバスについて、前記送信可能なマスタバスと接続されるスレーブバスが順次切り替わるように、前記第２スイッチのオンオフ動作を制御する構成としてもよい。
【００２３】
上記の構成によれば、第２スイッチ制御部は、終了条件カウント部におけるバス対応カウンタのカウント値に応じた分だけ、複数のスレーブバスについて、送信可能なマスタバスと接続されるスレーブバスが順次切り替わるように、第２スイッチのオンオフ動作を制御する。
【００２４】
したがって、マスタデバイスから送信可能なマスタバス上に終了条件信号が出力される毎に、送信可能なマスタバスと接続されるスレーブバスが順次切り替えられる。これにより、送信可能なマスタバスと接続するスレーブバスの切り替えを迅速に行うことができる。
【００２５】
上記のバス制御装置において、前記第２スイッチ制御部は、前記送信可能なマスタバスと接続されたマスタデバイスと前記スレーブデバイスとの通信終了後に、前記送信可能なマスタバスと接続されたマスタデバイスから前記マスタバス上に出力される前記終了条件信号についての前記終了条件カウント部におけるバス対応カウンタのカウント値に応じて、前記複数のスレーブバスについて、前記送信可能なマスタバスに接続されるスレーブバスが所定の順序にて切り替わるように、前記第２スイッチのオンオフ動作を制御する構成としてもよい。
【００２６】
上記の構成によれば、第２スイッチ制御部は、送信可能なマスタバスと接続されたマスタデバイスとスレーブデバイスとの通信終了後に、送信可能なマスタバスと接続されたマスタデバイスからマスタバス上に出力される終了条件信号についての終了条件カウント部におけるバス対応カウンタのカウント値に応じて、複数のスレーブバスについて、送信可能なマスタバスに接続されるスレーブバスが所定の順序にて切り替わるように、第２スイッチのオンオフ動作を制御する。
【００２７】
これにより、送信可能なマスタバスと接続されたマスタデバイスが１つのスレーブバスとのデータの通信を終了して、当該マスタデバイスから終了条件信号が送信可能なマスタバスに出力される毎に、自動的に、当該マスタバスと接続されたマスタバスと接続されるスレーブバスが順次切り替えられる。
【００２８】
したがって、送信可能なマスタバスと接続されたマスタデバイスが複数のスレーブバスと接続されている全てのスレーブデバイスを巡回するように通信する場合には、１つのスレーブデバイスとの通信の終了後に、当該マスタデバイスが、送信可能なマスタバスと接続するスレーブバスのバス番号を指定する処理、および送信可能なマスタデバイスと通信するスレーブデバイスのスレーブアドレスを指定する処理が不要となる。これにより、マスタデバイスが複数のスレーブバスと接続されている全てのスレーブデバイスを巡回するように通信する場合の通信速度を向上することができる。
【００２９】
本発明のバス制御装置は、第１バス制御手段と複数の第２バス制御手段とを備え、前記第１バス制御手段は、マスタデバイスがそれぞれ接続される複数のマスタバスと、前記第２バス制御手段がそれぞれ接続される複数の第１スレーブバスと、前記複数のマスタバスと前記複数の第１スレーブバスとの間に設けられた内部バスと、オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第１側第１スイッチと、前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、前記送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定するプルダウン処理部と、前記送信可能なマスタバスが前記内部バスと接続されるように、前記第１側第１スイッチのオンオフ動作を制御する第１側第１スイッチ制御部と、オンオフ動作を行い、前記複数の第１スレーブバスについて、前記内部バスに接続される第１スレーブバスを切り替える第１側第２スイッチと、前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、前記複数の第１スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じた第１スレーブバスが前記内部バスと接続されるように、前記第１側第２スイッチのオンオフ動作を制御する第１側第２スイッチ制御部とを備え、前記第２バス制御手段は、スレーブデバイスが接続される複数の第２スレーブバスと、前記送信可能なマスタバスと接続されたマスタデバイスから送信される第１のアドレスから、前記複数の第２スレーブバスのうちの制御対象の前記スレーブデバイスが接続される第２スレーブバスを特定する第２のアドレスをデコードするとともに、前記第１のアドレスを制御対象の前記スレーブデバイスを特定する第３のアドレスに変換し、前記送信可能なマスタバスと接続されたマスタデバイスからの前記第１のアドレスの送信に伴って全ての前記第２スレーブバスに前記第３のアドレスを送信するデコード部と、オンオフ動作を行い、前記複数の第２スレーブバスについて、前記第１スレーブバスに接続される第２スレーブバスを切り替える第２側第１スイッチと、前記第２のアドレスに従い、前記第２側第１スイッチのオンオフ動作による前記第１スレーブバスと前記第２スレーブバスとの接続を制御する接続制御部とを備え、所定のビット幅の上位ビットにおいて、前記第３のアドレスのビット列が全てのスレーブデバイスに対して固定のアドレス値を有しており、前記デコード部は、前記送信可能なマスタバスと接続されたマスタデバイスが前記第１のアドレスの前記上位ビットを送信する間、前記複数の第２スレーブバス全てに、前記第３のアドレスの前記上位ビットとして前記固定のアドレス値を送信し、前記接続制御部は、前記デコード部が前記第３のアドレスを送信後、前記第２のアドレスにより特定される前記第２スレーブバスのみが前記第１スレーブバスとの接続を維持するように前記第１側第１スイッチを制御するとともに、前記第２のアドレスにより特定されない全ての前記第２スレーブバスに対して、前記スレーブデバイスとの通信の終了を示す信号を送信することを特徴としている。
【００３０】
上記の構成によれば、第１バス制御手段において、通信検出部は、マスタデバイスからマスタバス上に出力された開始条件信号を検出し、優先順位決定部は、開始条件信号が検出されたマスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する。プルダウン処理部は、送信可能なマスタバス以外のマスタバスのレベルをＬレベルに固定する。
【００３１】
これにより、複数のマスタバスにそれぞれ接続された複数のマスタデバイスがそれぞれ任意のタイミングにて送信を行った場合であっても、一つのマスタバスが送信可能なマスタバスとして決定される。この場合、送信可能なマスタバス以外のマスタバスに接続されているマスタデバイスは、接続されているマスタバスがＬレベルに固定されていることから、送信を行わない。
【００３２】
また、第１側第１スイッチ制御部は、送信可能なマスタバスが内部バスと接続されるように、第１側第１スイッチのオンオフ動作を制御する。終了条件検出部は、送信可能なマスタバスに接続されたマスタデバイスから送信可能なマスタバス上に出力された終了条件信号を検出する。終了条件カウント部は、送信可能なマスタバスに対応するバス対応カウンタにより、終了条件検出部にて検出された終了条件信号の数を数える。第１側第２スイッチ制御部は、複数の第１スレーブバスのうち、送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じた第１スレーブバスが内部バスと接続されるように、第１側第２スイッチのオンオフ動作を制御する。
【００３３】
これにより、送信可能なマスタバスにマスタデバイスから送信された終了条件信号は、送信可能なマスタバスに対応するバス対応カウンタによってカウントされるので、送信可能なマスタバスは、終了条件信号によって指定した第１スレーブデバイスと適切に接続することができる。
【００３４】
また、第２バス制御手段において、デコード部は、送信可能なマスタバスと接続されたマスタデバイスから送信される第１のアドレスから、複数の第２スレーブバスのうちの制御対象のスレーブデバイスが接続される第２スレーブバスを特定する第２のアドレスをデコードする。また、第１のアドレスを制御対象のスレーブデバイスを特定する第３のアドレスに変換し、送信可能なマスタバスと接続されたマスタデバイスからの第１のアドレスの送信に伴って全ての第２スレーブバスに第３のアドレスを送信する。
【００３５】
接続制御部は、第２のアドレスに従い、第１側第１スイッチのオンオフ動作による第１スレーブバスと第２スレーブバスとの接続を制御する。
【００３６】
ここで、所定のビット幅の上位ビットにおいて、第３のアドレスのビット列が全てのスレーブデバイスに対して固定のアドレス値を有している。
【００３７】
また、デコード部は、送信可能なマスタバスと接続されたマスタデバイスが第１のアドレスの上位ビットを送信する間、複数の第２スレーブバス全てに、第３のアドレスの前記上位ビットとして固定のアドレス値を送信する。
【００３８】
また、接続制御部は、デコード部が第３のアドレスを送信後、第２のアドレスにより特定される第２スレーブバスのみが第１スレーブバスとの接続を維持するように第２側第１スイッチを制御するとともに、第２のアドレスにより特定されない全ての第２スレーブバスに対して、スレーブデバイスとの通信の終了を示す信号を送信する。これにより、送信可能なマスタバスと接続されたマスタデバイスは、第３のアドレスによって特定されるスレーブデバイスと通信することができる。
【００３９】
したがって、第１バス制御手段において、送信可能なマスタバスと接続されたマスタデバイスにより送信可能なマスタバスと接続する第１スレーブバスとして任意の第１スレーブバスが選択された場合であっても、当該マスタデバイスから送信可能なマスタバス上に出力された終了条件信号により、送信可能なマスタバスを任意の第１スレーブバスに接続することができる。これにより、スレーブアドレスおよびバス番号を指定することによってマスタバスと接続する第１スレーブバスを切り替えるような従来の構成と比較して、マスタバスをいずれかの第１スレーブバスと接続するまでの速度を速くすることができる。この結果、マスタデバイスとスレーブデバイスとの通信速度を速くすることができる。
【００４０】
また、マスタデバイスからマスタバス上に出力される終了条件信号によって、マスタバスと接続する第１スレーブバスを切り替える構成であるから、同じスレーブアドレスのスレーブデバイスであっても、異なる第１スレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。したがって、スレーブアドレスは７ビットであるのでＩ２Ｃバスでは、仕様上、アドレスの組み合せは１２８個しか存在しないものの、マスタデバイスは、１２８個を超えるスレーブデバイスとの通信、すなわちスレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとの通信が可能となる。
【００４１】
これにより、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信が可能となる。［発明の効果］
本発明の構成によれば、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信が可能となる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態におけるバス制御装置の構成を示すブロック図である。
【図２】図１に示したバス制御装置の動作の一例を示すタイミングチャートである。
【図３】本実施の他の形態におけるバス制御装置の動作の一例を示すタイミングチャートである。
【図４】本発明のさらに他の実施の形態におけるバス制御装置の構成を示すブロック図である。
【図５】図４に示した第２バス制御回路の構成を示すブロック図である。
【図６】図４に示したバス制御装置において適用可能な論理アドレスとスレーブデバイスの実アドレス、および当該スレーブデバイスと接続するスレーブバスの何れかを特定するためのバス番号との対応関係の一例を示す説明図である。
【図７】図４に示したバス制御装置にて用いられるアドレスデコードテーブルの一例を示す説明図である。
【図８】図４に示したバス制御装置の動作の一例を示すタイミングチャートである。
【図９】図４に示した第２バス制御回路における、マスタデバイスがスレーブデバイスと通信する場合の動作を示すタイミングチャートである。
【図１０】従来技術におけるマスタデバイスがスレーブデバイスと通信する場合の動作を示すタイミングチャートである。
【図１１】従来技術においてバスセレクタを設けた場合における、マスタデバイスがスレーブデバイスと通信する場合の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００４３】
〔実施の形態１〕
本発明の実施の形態を図面に基づいて以下に説明する。
本実施の形態のバス制御装置は、図１に示す構成を備えている。図１は、本発明の実施の形態におけるバス制御装置１の構成を示すブロック図である。
【００４４】
図１に示すように、バス制御装置１は、複数本のマスタバス１１〜１４、複数個のマスタデバイス２１〜２４、複数本のスレーブバス３１〜３４、複数個のスレーブデバイス４１〜４４、およびバス制御回路５１を備えている。
【００４５】
マスタバス１１にはマスタデバイス２１が接続され、マスタバス１２にはマスタデバイス２２が接続され、マスタバス１３にはマスタデバイス２３が接続され、マスタバス１４にはマスタデバイス２４が接続されている。マスタバス１１〜１４にはそれぞれ０〜３のバス番号が設定されている。
【００４６】
スレーブバス３１にはスレーブデバイス４１が接続され、スレーブバス３２にはスレーブデバイス４２が接続され、スレーブバス３３にはスレーブデバイス４３が接続され、スレーブバス３４にはスレーブデバイス４４が接続されている。スレーブバス３１〜３４にはそれぞれ０〜３のバス番号が設定されている。各スレーブバス３１〜３４は、バス制御回路５１を介していずれかのマスタバス１１〜１４と接続されるようになっている。
【００４７】
バス制御回路５１は、マスタバス１１〜１４に対応するプルダウン回路（プルダウン処理部）６１〜６４およびマスタバススイッチ（第１スイッチ、第１側第１スイッチ）７１〜７４、スレーブバス３１〜３４に対応する（第２スイッチ、第１側第２スイッチ）スイッチ８１〜８４、通信検出回路（通信検出部）９１、優先順位判定回路（優先順位決定部）９２、スイッチ制御回路（第１スイッチ制御部、第１側第１スイッチ制御部）９３、終了条件検出回路（終了条件検出部）９４、終了条件カウンタ（終了条件カウント部）９５、スイッチ制御回路（第２スイッチ制御部、第１側第２スイッチ制御部）９６、並びに内部バス９７を備えている。
【００４８】
プルダウン回路６１は、マスタバススイッチ７１の前段に位置し、入力側にはマスタバス１１が接続され、出力側にはマスタバススイッチ７１が接続されている。プルダウン回路６２は、マスタバススイッチ７２の前段に位置し、入力側にはマスタバス１２が接続され、出力側にはマスタバススイッチ７２が接続されている。プルダウン回路６３は、マスタバススイッチ７３の前段に位置し、入力側にはマスタバス１３が接続され、出力側にはマスタバススイッチ７３が接続されている。プルダウン回路６４は、マスタバススイッチ７４の前段に位置し、入力側にはマスタバス１４が接続され、出力側にはマスタバススイッチ７４が接続されている。
【００４９】
スイッチ８１〜８４はマスタバススイッチ７１〜７４の後段に位置し、各スイッチ８１〜８４の入力端子と各マスタバススイッチ７１〜７４の出力端子とは、同一の内部バス９７によって接続されている。スイッチ８１の出力端子にはスレーブバス３１が接続され、スイッチ８２の出力端子にはスレーブバス３２が接続され、スイッチ８３の出力端子にはスレーブバス３３が接続され、スイッチ８４の出力端子にはスレーブバス３４が接続されている。
【００５０】
バス制御回路５１において、通信検出回路９１は、マスタデバイス２１〜２４とプルダウン回路６１〜６４との間においてマスタバス１１〜１４と接続されている。優先順位判定回路９２は、通信検出回路９１の後段に配置され、通信検出回路９１と接続されている。スイッチ制御回路９３は、優先順位判定回路９２の後段に配置され、優先順位判定回路９２、プルダウン回路６１〜６４およびマスタバススイッチ７１〜７４と接続されている。さらに、スイッチ制御回路９３は、終了条件カウンタ９５と接続されている。
【００５１】
終了条件検出回路９４は、マスタバススイッチ７１〜７４とスイッチ８１〜８４との間において内部バス９７と接続されている。終了条件カウンタ９５は、終了条件検出回路９４の後段に配置され、終了条件検出回路９４と接続されている。スイッチ制御回路９６は、終了条件カウンタ９５の後段に配置され、終了条件カウンタ９５およびスイッチ８１〜８４と接続されている。
【００５２】
マスタデバイス２１〜２４は、マスタバス１１〜１４と接続するスレーブバス３１〜３４を切り替える場合に、スレーブバス３１〜３４を切り替えるための開始条件信号と終了条件信号とを、各スレーブバス３１〜３４に応じて設定された回数だけ送信する。この場合、データは送信しない。
【００５３】
通信検出回路９１は、マスタデバイス２１〜２４からマスタバス１１〜１４に送信された開始条件信号を検出する。
【００５４】
優先順位判定回路９２は、通信検出回路９１での検出の結果、すなわちマスタバス１１〜１４における開始条件信号の有無に基づいて、マスタバス１１〜１４のうちから送信可能なマスタバスを決定する。さらに、優先順位判定回路９２は、複数のマスタバスにおいて同時に送信が開始された場合に、すなわち通信検出回路９１により複数のマスタバスにおいて同時に開始条件信号が検出された場合に、マスタバス１１〜１４についての所定の優先順位に従って、送信可能なマスタバスを決定する。
【００５５】
上記優先順位は、例えばマスタバス１１〜１４のバス番号の順序に０，１，２，３となっている。また、上記優先順位は、マスタバス１１〜１４において有利不利が生じないように、適当なタイミングにて、０，１，２，３→１，２，３，０→２，３，０，１のように、ローテーションが行われるようになっている。
【００５６】
スイッチ制御回路９３は、優先順位判定回路９２の判定結果に基づいて、プルダウン回路６１〜６４およびマスタバススイッチ７１〜７４の動作を制御する。具体的には、プルダウン回路６１〜６４のうち、送信可能なマスタバス以外のマスタバスに対応するプルダウン回路に対して、対応するマスタバスを低レベルにするように指示する。さらに、マスタバススイッチ７１〜７４のうち、送信可能なマスタバスに対応するマスタバススイッチに対してオン動作するように指示するスイッチ制御信号を出力する。また、スイッチ制御回路９３は、送信可能なマスタバスのバス番号を終了条件カウンタ９５へ送信する。
【００５７】
プルダウン回路６１〜６４は、スイッチ制御回路９３からの指示に従って、送信可能なマスタバスに対応するマスタバスを低レベル（例えば０レベル）に固定する。この場合、送信不可のマスタバスに接続されているマスタデバイスは、接続されているマスタバスがＬレベルに固定されていることから、送信可能なマスタデバイスとして受け付けられていないことを検知し、送信を中止する（送信を行わない）。
【００５８】
また、マスタバススイッチ７１〜７４は、スイッチ制御回路９３からスイッチ制御信号に基づいて、送信可能なマスタバスに対応するマスタバススイッチのみがオン動作を行う。これにより、送信可能なマスタバスのみが内部バス９７と接続される。
【００５９】
終了条件検出回路９４は、マスタデバイス２１〜２４からマスタバス１１〜１４に続けて送信され、マスタバス１１〜１４からプルダウン回路６１〜６４およびマスタバススイッチ７１〜７４を介して内部バス９７に到達した終了条件信号を検出する。
【００６０】
終了条件カウンタ９５は、マスタバス番号、すなわちマスタバス１１〜１４（マスタデバイス２１〜２４）に対応した複数のバス対応カウンタを備えている。これらバス対応カウンタは、スイッチ制御回路９３から終了条件カウンタ９５に送信されたマスタバスのバス番号に対応したものがアクティブとなる。アクティブとなったバス対応カウンタは、終了条件検出回路９４にて検出された終了条件信号の回数、すなわちマスタデバイス２１〜２４から続けて送信された終了条件の回数をカウントする。
【００６１】
スイッチ制御回路９６は、終了条件カウンタ９５のアクティブとなったバス対応カウンタによるカウント値に応じて、各スイッチ８１〜８４をオンオフ動作させるスイッチ制御信号を出力する。
【００６２】
具体的には、スイッチ制御回路９６は、スレーブバス３１〜３４のうち、バス対応カウンタのカウント値に応じたバス番号のスレーブバスが内部バス９７（送信可能なマスタバス）と接続状態となり、それ以外のスレーブバスが内部バス９７（送信可能なマスタバス）と接続の遮断状態なるようにするスイッチ制御信号をスイッチ８１〜８４に対して出力する。したがって、各スイッチ８１〜８４は、スイッチ制御信号の指示がスイッチのオン動作であれば、対応するスレーブバスが内部バス９７（送信可能なマスタバス）と接続されるようにオン動作を行う。一方、スイッチ制御信号の指示がスイッチのオフ動作であれば、対応するスレーブバスと内部バス９７（送信可能なマスタバス）との接続が遮断されるように、オフ動作を行う。
【００６３】
上記の構成において、本実施の形態のバス制御装置１の動作について以下に説明する。図２は、バス制御装置１の動作の一例を示すタイミングチャートである。
【００６４】
以下では、まず、送信可能なマスタデバイスおよびマスタバスが、マスタデバイス２１およびマスタバス１１（バス番号０）となり、マスタデバイス２１がマスタバス１１（バス番号０）およびスレーブバス３３（バス番号２）によってスレーブデバイス４３と通信する例について説明する。なお、図２の例では、その後、送信可能なマスタデバイスおよびマスタバスが、マスタデバイス２１およびマスタバス１１（バス番号０）からマスタデバイス２２およびマスタバス１２（バス番号１）に切り替わっている。また、バス制御装置１では、初期状態（初期設定）として、マスタバススイッチ７１〜７４は全てオフにされているものとする。
【００６５】
マスタデバイス２１は、例えばスレーブバス３３（バス番号２）に接続されたスレーブデバイス４３と通信する場合に、マスタバス１１のシリアルデータライン（ＳＤＡ）およびシリアルクロックライン（ＳＣＬ）上に開始条件信号５５を送信する。次に、マスタデバイス２１は、マスタバス１１のシリアルデータライン（ＳＤＡ）およびシリアルクロックライン（ＳＣＬ）上に終了条件信号５６を送信する。その後、マスタデバイス２１は、開始条件信号５５の送信動作および終了条件信号５６の送信動作を続けて１回繰り返し、合計２回行う。この間、データの送信は行わない。
【００６６】
開始条件信号５５の送信では、マスタバス１１のシリアルクロックライン（ＳＣＬ）を高レベルに維持した状態で、マスタバス１１のシリアルデータライン（ＳＤＡ）を高レベルから低レベルに変化させる。また、終了条件信号５６の送信では、マスタバス１１のシリアルクロックライン（ＳＣＬ）を高レベルに維持した状態で、マスタバス１１のシリアルデータライン（ＳＤＡ）を低レベルから高レベルに変化させる。
【００６７】
通信検出回路９１は、マスタデバイス２１からマスタバス１１への合計２回の開始条件信号５５および終了条件信号５６の送信動作に対して、マスタバス１１に送信された開始条件信号５５を検出する。
【００６８】
優先順位判定回路９２は、マスタバス１１へ送信された開始条件信号５５が通信検出回路９１にて検出されたことにより、送信可能なマスタデバイスおよびマスタバスをマスタデバイス２１およびマスタバス１１に決定する。なお、複数のマスタデバイスから複数のマスタバスに対して同時に開始条件信号５５が送信された場合には、所定の優先順位に従って、送信可能なマスタデバイスおよびマスタバスを決定する。
【００６９】
スイッチ制御回路９３は、送信可能なマスタバスが優先順位判定回路９２によりマスタバス１１（バス番号（０））に決定されたので、マスタバス１１に対応するプルダウン回路６１以外のプルダウン回路６２〜６４に対して、マスタバス１２〜１４を低レベルにするように指示する。さらに、マスタバス１１に対応するマスタバススイッチ７１に対してオン動作するように指示する。
【００７０】
これにより、プルダウン回路６２〜６４はマスタバス１２〜１４を低レベルにし、マスタバススイッチ７１はオン動作を行う。したがって、マスタバス１１は内部バス９７と接続され、マスタデバイス２１からマスタバス１１に送信されたそれぞれ２回の開始条件信号５５および終了条件信号５６が内部バス９７に到達する。
【００７１】
なお、送信不可となったマスタバスデバイスは、対応するマスタバスに終了条件信号５６を送信したとき、またはスレーブアドレスを送信したときに、対応するマスタバスのレベルを確認する。この場合、対応するマスタバスのレベルが自身が送信した信号のレベルと一致しなければ、すなわちＬレベルとなっていれば、送信不可であると認識し、送信を中止する。
【００７２】
また、スイッチ制御回路９３は、送信可能なマスタバス１１のバス番号０を終了条件カウンタ９５へ送信する。これにより、終了条件カウンタ９５では、バス番号０に対応したバス対応カウンタがアクティブとなる。
【００７３】
次に、マスタデバイス２１から送信され、マスタバス１１を介して内部バス９７に到達２回の終了条件信号５６は、終了条件検出回路９４によって検出され、終了条件信号５６の回数の２回が終了条件カウンタ９５のバス対応カウンタによってカウントされる。このカウントはアクティブとなっている、バス番号０に対応するバス対応カウンタによって行われる。
【００７４】
スイッチ制御回路９６は、バス番号０に対応するバス対応カウンタのカウント値の２を送信先のスレーブバスのバス番号とする。したがって、スイッチ制御回路９６は、バス番号２のスレーブバス３３が内部バス９７と接続されるように、スイッチ８３をオン動作させ、他のスイッチ８１，８２，８４をオフ状態とする。
【００７５】
この場合、各終了条件信号５６の送信動作、すなわちバス番号０に対応するバス対応カウンタでのカウント動作に応じてスイッチ８１〜８３が動作し、内部バス９７（マスタバス１１）に接続されるスレーブバスが、スレーブバス３１（バス番号０）から、順次、スレーブバス３２（バス番号１）、スレーブバス３３（バス番号２）に切り替えられる。これにより、内部バス９７（マスタバス１１）は最終的にスレーブバス３３（バス番号３）と接続される。
【００７６】
次に、マスタデバイス２１からマスタバス１１上にスレーブアドレスが送信され、スレーブバス３３に接続されているスレーブデバイスのうち、そのスレーブアドレスのスレーブデバイス、すなわちスレーブデバイス４３とマスタデバイス２１との通信が可能となる。
【００７７】
なお、マスタバス１１がスレーブバス３３（バス番号２）と接続されている状態から、さらにそれぞれ２回の開始条件信号５５および終了条件信号５６の送信動作がマスタデバイス２１にて行われた場合、初期状態（初期設定）に戻り、マスタバス１１はスレーブバス３１（バス番号０）と接続される。
【００７８】
上記のように、バス制御装置１では、終了条件カウンタ９５がマスタバス番号に対応したバス対応カウンタを備え、各マスタデバイス２１〜２４から各マスタバス１１〜１４に送信された終了条件信号５６を、バス対応カウンタによって各マスタバス１１〜１４別にカウントしている。したがって、複数のマスタバス１１〜１４およびマスタデバイス２１〜２４を備えている場合であっても、いずれかのマスタバスと、そのマスタデバイスによって指定されたいずれかのスレーブデバイスとの通信が可能となる。
【００７９】
また、マスタデバイス２１〜２４からマスタバス１１〜１４に送信された開始条件信号５５に基づき、優先順位判定回路９２にて送信可能なマスタデバイスおよびマスタバスを決定し、送信不可のマスタバスをＬレベルにすることにより、送信可能なマスタデバイスからはスレーブバス３１〜３４に対して送信できるようにする一方、送信可能なマスタデバイス以外の送信不可のマスタデバイスからは送信ができないように調停している。
【００８０】
これにより、各マスタデバイス２１〜２４が任意のタイミングにて送信を開始した場合であっても、送信可能と決定されたマスタデバイスのみが、指定したスレーブデバイスと適切に通信することができる。したがって、複数のマスタバスを備え、それらマスタバスにそれぞれマスタデバイスが接続される構成に適切に対応することができる。
【００８１】
また、送信可能なマスタバスと接続するスレーブバスとして任意のスレーブバスを選択した場合でも、送信可能なマスタバスに接続されたマスタデバイスからマスタバス上に、選択したスレーブバスのバス番号に対応した回数だけ開始条件信号５５および終了条件信号５６を送信することにより、マスタバスを上記任意のスレーブバスに接続することができる。したがって、スレーブアドレスおよびバス番号を指定することによってマスタバスと接続するスレーブバスを切り替えるような従来の構成と比較して、マスタバスをいずれかのスレーブバス３１〜３４と接続するまでの速度を速くすることができる。
【００８２】
また、終了条件信号５６によって送信可能なマスタバスと接続するスレーブバスを切り替えることができるので、同じスレーブアドレスのスレーブデバイスであっても、異なるスレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。
【００８３】
また、スレーブアドレスは７ビットであるので、Ｉ２Ｃバスでは、仕様上、アドレスの組み合せは１２８個しか存在しない。しかしながら、バス制御装置１では、スレーブバス３１〜３４を切り替えることにより、７ビットのアドレスにて１２８個を超えるスレーブデバイスとの通信が可能になる。
【００８４】
〔実施の形態２〕
本発明の他の実施の形態を図面に基づいて以下に説明する。
本実施の形態において、図１に示したマスタデバイス２１〜２４のうちの送信可能なマスタデバイスは、特定のスレーブデバイスを選択せずに、各スレーブデバイス４１〜４４を巡回し、順次各スレーブデバイス４１〜４４と通常の通信（データをやり取りする通信）を行うようになっている。この場合のバス制御装置１の動作を図３に基づいて説明する。図３は、本実施の形態におけるバス制御装置１の動作の一例を示すタイミングチャートである。
【００８５】
バス制御装置１では、初期状態（初期設定）として、スレーブバス３１（バス番号０）に接続されたスイッチ８１のみがオンされているものとする。スイッチ８１がオンされていることにより、マスタバス１１〜１４のうちの送信可能なマスタバスはスレーブバス３１と接続される。図３の例では、まず、マスタバス１１（バス番号０）が送信可能なマスタバス１１となっている。
【００８６】
すなわち、まずマスタデバイス２１からマスタバス１１（バス番号０）に開始条件信号５５が送信されており、この開始条件信号５５が通信検出回路９１によって検出される。したがって、優先順位判定回路９２は、マスタバス１１を送信可能なマスタバスに決定する。
【００８７】
この場合、スイッチ制御回路９３は、マスタバス１１以外のマスタバス１２〜１４を送信不可のマスタバスとし、プルダウン回路６２〜６４はマスタバス１２〜１４をＬレベルにする。また、マスタバススイッチ７１〜７４のうち、マスタバススイッチ７１のみがオンとなり、マスタバススイッチ７２〜７４はオフ状態に維持される。また、スイッチ制御回路９３は、送信可能なマスタバス１１のバス番号０を終了条件カウンタ９５へ送信する。
【００８８】
これにより、マスタバス１１がスレーブバス３１と接続され、マスタデバイス２１とスレーブデバイス４１とのデータの通信が可能となる。また、終了条件カウンタ９５では、バス番号０に対応したバス対応カウンタがアクティブとなる。
【００８９】
その後、マスタデバイス２１とスレーブデバイス４１との通信が終了し、マスタデバイス２１から終了条件信号５６がマスタバス１１上に送信されると、終了条件検出回路９４はその終了条件信号５６を検出し、終了条件カウンタ９５のバス番号０に対応したバス対応カウンタは終了条件信号５６のカウント値を１増加させて１とする。
【００９０】
したがって、スイッチ制御回路９６は、スイッチ８１をオフにさせ、かつスイッチ８２をオンにさせるスイッチ制御信号を出力する。この結果、マスタバス１１の接続先がスレーブバス３１からスレーブバス３２に切り替わり、マスタデバイス２１とスレーブデバイス４２との通信が可能となる。
【００９１】
その後、マスタデバイス２１とスレーブデバイス４２との通信が終了し、マスタデバイス２１から終了条件信号５６がマスタバス１１上に送信されると、終了条件検出回路９４はその終了条件信号５６を検出し、終了条件カウンタ９５のバス番号０に対応したバス対応カウンタは終了条件信号５６のカウント値を１増加させて２とする。
【００９２】
したがって、スイッチ制御回路９６は、スイッチ８２をオフにさせ、かつスイッチ８３をオンにさせるスイッチ制御信号を出力する。この結果、マスタバス１１の接続先がスレーブバス３２からスレーブバス３３に切り替わり、マスタデバイス２１とスレーブデバイ４３との通信が可能となる。
【００９３】
以下、同様にして、マスタデバイス２１とスレーブデバイスとの通信が終了し、マスタデバイス２１から終了条件信号５６がマスタバス１１上に送信される毎に、マスタバス１１の接続先のスレーブバスが順次切り替えられ、順次、マスタデバイス２１と各スレーブデバイスとの通信が可能となる。
【００９４】
なお、例えば各スレーブバス３１〜３４にそれぞれ複数のスレーブデバイスが接続されている場合、マスタデバイス２１と通信可能となるスレーブデバイスの順序は次のように設定されている。
【００９５】
１．スレーブバス３１（バス番号０）に接続の１番目のスレーブデバイス
２．スレーブバス３２（バス番号１）に接続の１番目のスレーブデバイス
３．スレーブバス３３（バス番号２）に接続の１番目のスレーブデバイス
４．スレーブバス３４（バス番号３）に接続の１番目のスレーブデバイス
５．スレーブバス３１（バス番号０）に接続の２番目のスレーブデバイス
６．スレーブバス３２（バス番号１）に接続の２番目のスレーブデバイス
…………………………………………………
本実施の形態のバス制御装置１では、マスタバス１１（バス番号０）および各スレーブバス３１〜３４によるマスタデバイス２１と各スレーブデバイス４１〜４４との通信が終了した後、例えばマスタデバイス２２からマスタバス１２に開始条件信号５５が送信されて、マスタデバイス２２が送信可能なマスタデバイスとなった場合には、マスタバス１２（バス番号１）および各スレーブバス３１〜３４によるマスタデバイス２２と各スレーブデバイス４１〜４４との通信が行われる。この場合であっても、終了条件カウンタ９５のマスタバス１１（バス番号０）に対応したバス対応カウンタには、マスタデバイス２１と各スレーブデバイス４１〜４４とが通信した際のカウント値が保持されている。したがって、マスタデバイス２１と各スレーブデバイス４１〜４４との通信が再開された場合には、特別な操作を行うことなく、各スレーブデバイス４１〜４４を巡回する状態での通信を、先の通信終了時の順番のスレーブデバイスから適切に開始することができる。
【００９６】
また、本実施の形態のバス制御装置１では、マスタデバイス２１〜２４のうちの送信可能なマスタデバイスが１つのスレーブバスとのデータの通信を終了して終了条件信号５６を対応するマスタバスに出力する毎に、自動的に、送信可能なマスタバスと接続されるスレーブバスが順次切り替えられ、かつ送信可能なマスタデバイスと通信可能となるスレーブデバイスが順次切り替えられる。
【００９７】
したがって、送信可能なマスタデバイスがスレーブバス３１〜３４と接続されている全てのスレーブデバイス４１〜４４を巡回するように通信する場合には、１つのスレーブデバイスとの通信の終了後に、送信可能なマスタデバイスが、対応するマスタバスと接続するスレーブバスのバス番号を指定する処理、および送信可能なマスタデバイスと通信するスレーブデバイスのスレーブアドレスを指定する処理が不要となる。これにより、送信可能なマスタデバイスがスレーブバス３１〜３４と接続されている全てのスレーブデバイス４１〜４４を巡回するように通信する場合の通信速度を向上することができる。
【００９８】
〔実施の形態３〕
本発明のさらに他の実施の形態を図面に基づいて以下に説明する。
本実施の形態のバス制御装置は、図４に示す構成を備えている。図４は、本発明の実施の形態におけるバス制御装置２の構成を示すブロック図である。
【００９９】
図４に示すように、バス制御装置２は、マスタバス１１〜１４、マスタデバイス２１〜２４、複数本のスレーブバス（第１スレーブバス）３１〜３４、複数本のスレーブバス（第２スレーブバス）３１ａ〜３１ｄ，３２ａ〜３２ｄ，３３ａ〜３３ｄ，３４ａ〜３４ｄ、複数のスレーブデバイス、第１バス制御回路（第１バス制御手段）１５１および第２バス制御回路（第１バス制御手段）１４１〜１４４を備えている。なお、図４には複数のスレーブデバイスの一例として、スレーブデバイス１０１ａ〜１０１ｅ，１０２ａ〜１０２ｅ，１０３ａ〜１０３ｅ，１０４ａ〜１０４ｅを記載している。
【０１００】
第１バス制御回路１５１は、図１に示したバス制御回路５１と同一の構成である。したがって、ここでの詳細な説明は省略する。
【０１０１】
第２バス制御回路１４１〜１４４は、互いに同一の構成であり、図５に示す構成を備えている。図５は、第２バス制御回路１４１〜１４４の構成を示すブロック図である。なお、図５では、便宜上、第２バス制御回路１４３の構成を示している。
【０１０２】
第２バス制御回路１４３は、アドレスデコードテーブル１１１、アドレスデコード回路１１２、スイッチ制御回路（接続制御部）１１３、終了条件制御回路（接続制御部）１１４、スイッチ（第２スイッチ）１２１〜１２４および終了条件発生回路１３１〜１３４を備えている。
【０１０３】
スイッチ１２１〜１２４および終了条件発生回路１３１〜１３４はそれぞれスレーブバス３３ａ〜３３ｄに対応して設けられている。すなわち、スイッチ１２１および終了条件発生回路１３１はスレーブバス３３ａに対応し、スイッチ１２２および終了条件発生回路１３２はスレーブバス３３ｂに対応し、スイッチ１２３および終了条件発生回路１３３はスレーブバス３３ｃに対応し、スイッチ１２４および終了条件発生回路１３４はスレーブバス３３ｄに対応している。
【０１０４】
アドレスデコード回路１１２は、マスタデバイス２１〜２４からマスタバス１１〜１４を介して送信されるスレーブデバイスの論理アドレスを、スレーブデバイスの実アドレスに変換するとともに、アドレスデコードテーブル１１１に基づき、スレーブバスのバス番号を生成する。また、アドレスデコード回路１１２は、アドレス変換後の実アドレスを全てのスレーブバス３３ａ〜３３ｄに対して、スレーブバス３３ａ〜３３ｄ上に設けられたスイッチ１２１〜１２４を介して送信するように制御される。
【０１０５】
ここで、図６には、バス制御装置２の第２バス制御回路１４３において適用可能な論理アドレスとスレーブデバイスの実アドレス、および当該スレーブデバイスと接続するスレーブバス３３ａ〜３３ｄの何れかを特定するためのバス番号との対応関係の一例を示す。図６に示すように、７ビットのアドレスデータのうち、実アドレスの上位４ビットは論理アドレスおよびスレーブバスのバス番号に拘らず固定であるのに対し、論理アドレスの上位４ビットはスレーブバスのバス番号に応じて異なっている。言い換えると、論理アドレスの上位４ビットにスレーブバスのバス番号の情報がエンコードされている。一方、実アドレスの下位３ビットは、対応する論理アドレスの下位３ビットと完全に一致している。
【０１０６】
この場合、アドレスデコード回路１１２は、マスタバス１１〜１４に論理アドレスの上位４ビットが送信されているときには、全てのスレーブバス３３ａ〜３３ｄに所定の固定アドレス（ここでは、“０１０１”）を送信し、マスタバス１１〜１４に論理アドレスの下位３ビットが送信されているときには、当該論理アドレスの下位３ビットをそのまま、全てのスレーブバス３３ａ〜３３ｄに対して、実アドレスの下位３ビットとして送信する。さらに、アドレスデコード回路１１２は、論理アドレスの下位３ビットを送信している間に、アドレスデコードテーブル１１１を参照して、論理アドレスの上位４ビットから、スレーブバスのバス番号をデコードする。
【０１０７】
図７には、バス制御装置２で用いられるアドレスデコードテーブル１１１の一例を示す。アドレスデコードテーブル１１１には、スレーブバス３３ａ〜３３ｄのそれぞれにつき、その論理アドレスの上位４ビットと、当該スレーブデバイスと接続するスレーブバス３３ａ〜３３ｄの何れかを特定するためのバス番号との対応関係が記述されている。バス制御装置２では、スレーブデバイスの実アドレスは、アドレスデコードテーブル１１１を用いることなく、論理アドレスの簡単なアドレス変換により求めるので、論理アドレスの送信と同時に実アドレスを送信することが可能になる。
【０１０８】
スイッチ制御回路１１３は、スレーブバス３３ａ〜３３ｄ毎に１つずつ設けられるスイッチ１２１〜１２４のオンオフを制御し、マスタバス１１〜１４とスレーブバス３３ａ〜３３ｄとの接続を個別に制御する。
【０１０９】
具体的には、スイッチ制御回路１１３は、アドレスデコード回路１１２が実アドレスを送信する際、全てのスレーブバス３３ａ〜３３ｄに対して実アドレスが送信されるように、全てのスイッチ１２１〜１２４をオンする。その後、アドレスデコード回路１１２からスレーブバスのバス番号を受け取ると、当該バス番号により特定されるスレーブバスに設けられたスイッチのみをオンにし、他のスイッチをオフにする。これにより、当該バス番号により特定されるスレーブバスに対してのみ、マスタバス１１〜１４との接続を維持する。
【０１１０】
終了条件制御回路１１４は、スレーブバス３３ａ〜３３ｄのそれぞれに対し、スレーブデバイスとの通信の終了を示す信号の送信を個別に制御する。これにより、当該スレーブバスに接続する全てのスレーブデバイスとマスタデバイス２１〜２４との通信を終了させる。具体的には、終了条件制御回路１１４は、スレーブバス３３ａ〜３３ｄ毎に１つずつ設けられる終了条件発生回路１３１〜１３４に対し、終了条件発生のためのトリガ信号を個別に送信する。これにより、終了条件発生回路１１４が接続するスレーブバスを介したスレーブデバイスとマスタデバイス２１〜２４との通信を終了させる。
【０１１１】
さらに具体的には、終了条件制御回路１１４は、アドレスデコード回路１１２からスレーブバスのバス番号を受け取ると、当該バス番号により特定されるスレーブバスを除く全てのスレーブバスと接続する終了条件発生回路に対して、終了条件発生のためのトリガ信号を送信する。終了条件発生回路１３１〜１３４のそれぞれは、当該トリガ信号を受け取ると、自身が接続するスレーブバスに対して終了条件を送信し、当該スレーブバスを介したスレーブデバイスとマスタデバイス２１〜２４との通信を終了させる。
【０１１２】
上記の構成において、本実施の形態におけるバス制御装置２の動作について以下に説明する。図８は、バス制御装置２の動作の一例を示すタイミングチャートである。図８では、マスタバス１１（バス番号０）に接続されているマスタデバイス２１が送信可能なマスタデバイスとなっており、マスタデバイス２１がスレーブバス３３ａ（バス番号２０）に接続されているスレーブデバイス１０３ａと通信する場合のバス制御装置２の動作を示す。
【０１１３】
マスタデバイス２１は、スレーブバス３３ａ（バス番号２０）に接続されているスレーブデバイス１０３ａと通信する場合に、スレーブバス３３ａ〜３３ｄが接続されている第２バス制御回路１４３にマスタバス１１を接続させる。
【０１１４】
このために、マスタバス１１のシリアルデータライン（ＳＤＡ）およびシリアルクロックライン（ＳＣＬ）上に開始条件信号５５を送信する。次に、マスタバス１２のシリアルデータライン（ＳＤＡ）およびシリアルクロックライン（ＳＣＬ）上に終了条件信号５６を送信する。その後、開始条件信号５５の送信動作および終了条件信号５６の送信動作を続けて１回繰り返し、合計２回行う。この間、データの送信はしない。
【０１１５】
バス制御装置２の第１バス制御回路１５１（図１のバス制御回路５１）では、マスタデバイス２１からマスタバス１１に送信された開始条件信号５５が通信検出回路９１によって検出される。したがって、優先順位判定回路９２は、マスタバス１１を送信可能なマスタバスに決定する。
【０１１６】
この場合、スイッチ制御回路９３は、マスタバス１１以外のマスタバス１２〜１４を送信不可のマスタバスとし、プルダウン回路６２〜６４はマスタバス１２〜１４をＬレベルにする。また、マスタバススイッチ（第１側第１スイッチ）７１〜７４のうち、マスタバススイッチ７１のみがオンとなり、マスタバススイッチ７２〜７４はオフ状態に維持される。また、スイッチ制御回路９３は、送信可能なマスタバス１１のバス番号０を終了条件カウンタ９５へ送信する。これにより、終了条件カウンタ９５では、バス番号０に対応したバス対応カウンタがアクティブとなる。
【０１１７】
また、上記の合計２回の開始条件信号５５および終了条件信号５６の送信動作において、終了条件カウンタ９５のバス番号０に対応するバス対応カウンタは、終了条件信号５６の回数をカウントする。したがって、上記の各開始条件信号５５および終了条件信号５６の送信動作に応じてスイッチ（第１スチッチ）８１〜８３が動作し、マスタバス１１に接続される第２バス制御回路が、第２バス制御回路１４１（スレーブバス３１）から、順次、第２バス制御回路１４２（スレーブバス３２）、第２バス制御回路１４３（スレーブバス３３）に切り替えられる。これにより、マスタバス１１は最終的に第２バス制御回路１４３（スレーブバス３３（バス番号２））と接続される。
【０１１８】
次に、第２バス制御回路１４３は、論理アドレスを設定して、マスタバス１１をスレーブバス３３ａ（バス番号２０）に接続させ、さらにマスタデバイス２１をスレーブバス３３ａ（バス番号２０）に接続されているスレーブデバイス１０３ａと通信可能にする。
【０１１９】
この場合、第２バス制御回路１４３は、第１バス制御回路１５１から送られてくるデータを全てのスレーブバス３３ａ〜３３ｄ(バス番号２０〜２３）へ送信する。そして、論理アドレスに従って、通信しないスレーブバス３３ｂ〜３３ｄ(バス番号２１〜２３）へは終了条件信号を送信して通信を終了させる。
【０１２０】
その後、マスタデバイス２１は、スレーブバス３３ａ(バス番号２０）との通信が終了すると、マスタバス１１に終了条件信号５６を出力する。これにより、第１バス制御回路１５１の終了条件カウンタ９５のバス番号０に対応するバス対応カウンタのカウント値が１増加され、マスタバス１１の接続が第２バス制御回路１４３（スレーブバス３３（バス番号２））から第２バス制御回路１４４（スレーブバス３４（バス番号３））に切り替わる。
【０１２１】
次に、上記のようにマスタデバイス２１がスレーブデバイス１０３ａと通信する場合の第２バス制御回路１４３の動作について詳細に説明する。図９はマスタデバイス２１がスレーブデバイス１０３ａと通信する場合の第２バス制御回路１４３の動作を示すタイミングチャートである。
【０１２２】
先ず、データの送受信が行われていない状態を初期状態として、スイッチ制御回路１１３は、マスタバス１２と全てのスレーブバス３３ａ〜３３ｄが接続されるように、全てのスイッチ１２１〜１２４をオンにする。
【０１２３】
次に、マスタバス１２のシリアルデータライン（ＳＤＡ）とマスタバス１２のシリアルクロックライン（ＳＣＬ）上に開始条件信号５５を送信する。即ち、マスタバス１２のシリアルクロックライン（ＳＣＬ）を高レベルに維持した状態で、マスタバス１２のシリアルデータライン（ＳＤＡ）を高レベルから低レベルに変化させる。このとき、全てのスイッチ１２１〜１２４がオンであるので、全てのスレーブバス３３ａ〜３３ｄ上にも開始条件信号５５が送信される。
【０１２４】
次に、マスタデバイス２１からマスタバス１２のシリアルデータライン上に、開始条件信号５５に続く７ビットとして、データ送受信の対象となるスレーブデバイス１０３ａを示す論理アドレス１４４（ここでは、“０１０００００”）を送信する。アドレスデコード回路１１２は、マスタデバイス２１から送信された論理アドレスを受信すると、論理アドレス１４４を実アドレス１４５に変換し、アドレス変換後の実アドレス１４５を、全てのスレーブバス３３ａ〜３３ｄ上に送信する。
【０１２５】
具体的には、例えば、論理アドレスの所定のビット幅の上位ビット（例えば、上位４ビット）を固定アドレスのビット列（ここでは、“０１０１”）で置換し、当該置換されたアドレス（“０１０１０００”）を実アドレスとしてスレーブバスに送信する。このとき、全てのスイッチ１２１〜１２４がオンであるので、全てのスレーブバス３３ａ〜３３ｄ上に実アドレスが送信される。さらに、アドレスデコード回路１１２は、マスタデバイス２１から送信された論理アドレス１４４の所定の上位ビット（“０１００”）に基づいて、アドレスデコードテーブル１１１を参照して、スレーブバス３３ａのバス番号（“００”）を生成し、スイッチ制御回路１１３と終了条件制御回路１１４に送信する。
【０１２６】
当該バス番号（“００”）を受信すると、スイッチ制御回路１１３は、スレーブバス３３ａと接続するスイッチ１２１をオンとし、他の全てのスイッチ１２２〜１２４をオフとするように、各スイッチ１２１〜１２４の制御を行う。この結果、スイッチ制御タイミング１４７において、マスタバス１２とデータ送受信の対象であるスレーブバス３３ａとの接続のみが維持され、データ送受信の対象ではない他の全てのスレーブバス３３ｂ〜３３ｄとの接続は切断される。
【０１２７】
一方、終了条件制御回路１１４は、当該バス番号（“００”）を受信すると、データ送受信の対象ではないスレーブバス３３ｂ〜３３ｄのいずれかと接続する終了条件発生回路１３１〜１３４のそれぞれに、終了条件発生のためのトリガ信号を送信する。終了条件発生回路１３１〜１３４は、当該トリガ信号を受信すると、自身が接続するスレーブバスに終了条件信号を送信し、データの送受信を終了させる。即ち、終了条件発生回路１３２〜１３４は、トリガ信号を受信すると、各スレーブバス３３ｂ〜３３ｄのシリアルクロックライン（ＳＣＬ）を高レベルに維持した状態で、シリアルデータライン（ＳＤＡ）を低レベルから高レベルに変化させ、スレーブバス３３ｂ〜３３ｄの何れかと接続するスレーブデバイスとのデータ送受信を終了させる。
【０１２８】
これにより、スレーブバス３３ｂ〜３３ｄに接続されているスレーブデバイスのそれぞれは、スレーブバス上に送信された実アドレスと自分のアドレスが一致していれば応答しようとするところ、終了条件信号５６により強制的に終了させることができる。
【０１２９】
一方、データ送受信の対象であるスレーブバス３３ａと接続する終了条件発生回路１３１には、当該トリガ信号は送信されず、データの送受信を継続させる。スレーブバス３３ａ上のスレーブデバイス１０３ａは、アドレスデコード回路１１２から送信された実アドレス（“０１０１０００”）に基づいて、データの送受信対象が自分であることを認識し、マスタデバイス２１とスレーブデバイス１０３ａとの間でデータの送受信処理を開始する。
【０１３０】
その後、マスタデバイス２１とスレーブデバイス１０３ａとの間で、データの送受信が終了すると、マスタデバイス２１はマスタバス１２を介して終了条件信号５６を送信する。アドレスデコード回路１１２は、マスタデバイス２１からの終了条件信号５６を受信すると、データの送受信が終了したと判断して、スイッチ制御回路１１３にトリガ信号を送信する。即ち、スイッチ制御回路１１３は、マスタバス１２と全てのスレーブバス３３ａ〜３３ｄが接続されるように、全てのスイッチ１２１〜１２４をオンにし、初期状態に戻す制御を行う。
【０１３１】
次に、マスタデバイス２１からマスタバス１２上にスレーブアドレスが送信され、スレーブバス１６に接続されているスレーブデバイス２３，２４のうち、そのスレーブアドレスのスレーブデバイスとマスタデバイス２１との通信が可能となる。
【０１３２】
なお、マスタバス１２がスレーブバス１６（バス番号３）と接続されている状態から、さらに開始条件信号５５および終了条件信号５６の送信動作が行われた場合、初期状態（初期設定）に戻り、マスタバス１２はスレーブバス１３（バス番号０）と接続される。
【０１３３】
上記のように、バス制御装置１では、マスタバス１２と接続するスレーブバスとして任意のスレーブバスを選択した場合でも、開始条件信号５５および終了条件信号５６により、マスタバス１２を上記任意のスレーブバスに接続することができる。したがって、スレーブアドレスおよびバス番号を指定することによってマスタバス１２と接続する場合を切り替えるような従来の構成と比較して、マスタバス１２をいずれかのスレーブバス３１〜１６と接続するまでの速度を速くすることができる。
【０１３４】
また、終了条件信号５６によってマスタバス１２と接続するスレーブバスを切り替えることができるので、同じスレーブアドレスのスレーブデバイスであっても、異なるスレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。
【０１３５】
また、スレーブアドレスは７ビットあるので、Ｉ２Ｃバスでは、仕様上、アドレスの組み合せは１２８個しか存在しない。しかしながら、バス制御装置１では、スレーブバス３１〜１６を切り替えることにより、７ビットのアドレスにて１２８個を超えるスレーブデバイスとの通信が可能になる。
【０１３６】
上記のように、本実施の形態のバス制御装置２では、第１バス制御回路７１と第２バス制御回路１４１〜１４４とを備え、第１バス制御回路７１では、終了条件信号５６の回数によりマスタバス１２と接続する第２バス制御回路１４１〜１４４を選択し、第２バス制御回路１４１〜１４４では、マスタデバイス２１が通信するスレーブデバイスのスレーブアドレスに基づいて、スレーブバス（スレーブバス３１ａ〜３１ｄ，３２ａ〜３２ｄ，３３ａ〜３３ｄ，３４ａ〜３４ｄ）を選択し、かつ目標のスレーブデバイスとの通信を可能にしている。
【０１３７】
これにより、マスタデバイス２１は１２８個を超えるスレーブデバイス（例えば１２８×４＝５１２個のスレーブデバイス）と通信可能であり、かつその通信において高い通信速度を維持することができる。
【０１３８】
すなわち、図１に示したバス制御装置１では、スレーブバスの数が多くなると、スレーブバスを切り替えるための開始条件信号５５および終了条件信号５６の送信回数が多くなる。このため、スレーブバスの数の増加に伴って、通信速度が低下し、従来技術に対して通信速度が速いという優位性が低下していく。しかしながら、バス制御装置２では、スレーブバスの数の増加に伴う通信速度の低下を抑制でき、スレーブバスの数が増加した場合であっても、従来技術に対して通信速度の点において高い優位性を維持することができる。
【０１３９】
ここで、バス制御回路５１、第１バス制御回路１５１および第２バス制御回路１４１〜１４４の各ブロック、特に、プルダウン回路６１〜６４、通信検出回路９１、優先順位判定回路９２、スイッチ制御回路９３、終了条件検出回路９４、終了条件カウンタ９５、スイッチ制御回路９６、アドレスデコード回路１１２、スイッチ制御回路１１３および終了条件制御回路１１４は、終了条件発生回路１３１は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１４０】
すなわち、バス制御回路５１、第１バス制御回路１５１および第２バス制御回路１４１〜１４４は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるバス制御回路５１、第１バス制御回路１５１および第２バス制御回路１４１〜１４４の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記バス制御回路５１、第１バス制御回路１５１および第２バス制御回路１４１〜１４４に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１４１】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ（登録商標）／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１４２】
また、バス制御回路５１、第１バス制御回路１５１および第２バス制御回路１４１〜１４４を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１４３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１４４】
本発明は、マスタバスと複数のスレーブバスを介して通信の制御を行うバス制御装置に利用可能であり、特にＩ２Ｃバスを介したデータ送受信において、１つのマスタデバイスと接続可能なスレーブデバイスの数の制限をなくしたバス制御装置に利用可能である。
【符号の説明】
【０１４５】
１      バス制御装置
２      バス制御装置
11〜14      マスタバス
21〜24      マスタデバイス
31〜31      スレーブバス（第１スレーブバス）
31a〜31d    スレーブバス（第２スレーブバス）
32a〜32d    スレーブバス（第２スレーブバス）
33a〜33d    スレーブバス（第２スレーブバス）
34a〜34d    スレーブバス（第２スレーブバス）
41〜44      スレーブデバイス
５１      バス制御回路
５５      開始条件信号
５６      終了条件信号
61〜64      プルダウン回路（プルダウン処理部）
71〜74      マスタバススイッチ（第１スイッチ、第１側第１スイッチ）
81〜84      スイッチ（第２スイッチ、第１側第２スイッチ）
９１      通信検出回路（通信検出部）
９２      優先順位判定回路（優先順位決定部）
９３      スイッチ制御回路（第１スイッチ制御部、第１側第１スイッチ制御部）
９４      終了条件検出回路（終了条件検出部）
９５      終了条件カウンタ（終了条件カウント部）
９６      スイッチ制御回路（第２スイッチ制御部、第１側第２スイッチ制御部）
９７      内部バス
101a〜101e  スレーブデバイス
102a〜102e  スレーブデバイス
103a〜103e  スレーブデバイス
104a〜104e  スレーブデバイス
１１１      アドレスデコードテーブル
１１２      アドレスデコード回路（デコード部）
１１３      スイッチ制御回路（接続制御部）
１１４      終了条件制御回路（接続制御部）
121〜124    スイッチ（第２スイッチ）
131〜134    終了条件発生回路
141〜144    第２バス制御回路
【図１】
2014035709.tif 000003
【図２】
2014035709.tif 000004
【図３】
2014035709.tif 000005
【図４】
2014035709.tif 000006
【図５】
2014035709.tif 000007
【図６】
2014035709.tif 000008
【図７】
2014035709.tif 000009
【図８】
2014035709.tif 000010
【図９】
2014035709.tif 000011
【図１０】
2014035709.tif 000012
【図１１】
2014035709.tif 000013