(57)【要約】      （修正有）【課題】二線シリアルバスにおける回路の可用性を上げる。【解決手段】情報処理装置が、二線シリアルバスシステム１００により構成され、複数のマスタ装置１０と、１つ以上のスレーブ装置２０と、分割後の各バス上に少なくとも１つのマスタ装置１０が存在するように、バスを複数のバスに分割するスイッチ３０とを備え、分割後の各バス上で、マスタ装置１０がマスタとして動作することで、マルチマスタとして並列動作する。また、スイッチ３０はマスタ装置またはスレーブ装置の機能をエミュレートする。【選択図】図１
2014170361.tif 000002
【特許請求の範囲】
【請求項１】
二線シリアルバスシステムにより構成される情報処理装置であって、
複数のマスタ装置と、
１つ以上のスレーブ装置と、
分割後の各バス上に少なくとも１つのマスタ装置が存在するように、前記バスを複数のバスに分割するスイッチとを備え、
分割後の各バス上で、前記マスタ装置がマスタとして動作することで、マルチマスタとして並列動作する
ことを特徴とする情報処理装置。
【請求項２】
前記スイッチが、
通信速度の遅い前記スレーブ装置を、選択的に別のバスに切り離す
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
二線シリアルバスシステムにより構成される情報処理装置であって、
１つ以上のマスタ装置と、
１つ以上のスレーブ装置と、
バスを複数に分割するスイッチとを備え、
前記スイッチは、
マスタ装置又はスレーブ装置として機能するエミュレート手段を含む
ことを特徴とする情報処理装置。
【請求項４】
前記スイッチが、
前記マスタ装置から他のバス上の前記スレーブ装置への読み取り要求を受信する受信手段と、
前記読み取り要求の対象のスレーブ装置のアドレスを判定する判定手段と、
データを格納するメモリとを備え、
前記エミュレート手段が、
前記スレーブ装置が存在するバス上において仮想的なマスタ装置として機能し、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得し、
取得したデータを前記マスタ装置に送信するとともに、当該アドレスとセットにして前記メモリに格納する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記エミュレート手段が、
前記判定手段により判定したアドレスとセットで保存されているデータが前記メモリにない場合に、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記エミュレート手段が、
前記判定手段により判定したアドレスとセットで保存されているデータが前記メモリにある場合、前記マスタ装置が存在するバス上において仮想的なスレーブ装置として機能し、前記メモリに格納されている当該データを前記マスタ装置に送信する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
二線シリアルバスシステムにより構成され、複数のマスタ装置と、１つ以上のスレーブ装置と、スイッチとを備える情報処理装置におけるバス分割方法であって、
前記スイッチが、分割後の各バス上に少なくとも１つのマスタ装置が存在するように、前記バスを複数のバスに分割するステップと、
分割後の各バス上で、前記マスタ装置がマスタとして動作することで、マルチマスタとして並列動作するステップと
を有することを特徴とするバス分割方法。
【請求項８】
二線シリアルバスシステムにより構成され、１つ以上のマスタ装置と、１つ以上のスレーブ装置と、バスを複数に分割するスイッチとを備える情報処理装置におけるバス分割方法であって、
前記スイッチが備えるエミュレート手段が、仮想的なマスタ装置又はスレーブ装置として機能するエミュレートステップを有する
ことを特徴とするバス分割方法。
【請求項９】
二線シリアルバスシステムにより構成され、複数のマスタ装置と、１つ以上のスレーブ装置と、スイッチとを備える情報処理装置を構成するコンピュータ上で動作するバス分割プログラムであって、
前記スイッチに、分割後の各バス上に少なくとも１つのマスタ装置が存在するように、前記バスを複数のバスに分割する処理を実行させ、
分割後の各バス上で、前記マスタ装置がマスタとして動作することで、マルチマスタとして並列動作する処理を実行させる
を有することを特徴とするバス分割プログラム。
【請求項１０】
二線シリアルバスシステムにより構成され、１つ以上のマスタ装置と、１つ以上のスレーブ装置と、バスを複数に分割するスイッチとを備える情報処理装置におけるバス分割プログラムであって、
前記スイッチが備えるエミュレート手段に、仮想的なマスタ装置又はスレーブ装置として機能するエミュレート処理を実行させる
ことを特徴とするバス分割プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二線シリアルバスシステムに関し、特に、バスの分割技術に関する。
【背景技術】
【０００２】
デバイス間の情報伝達を行うためのインタフェースとして、Ｉ２Ｃ（Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バスなどが知られている。Ｉ２Ｃとはデータ線とクロック線の二本で通信が可能となる通信方式で、シンプルで製造コストを抑えることが出来るため、当初あまり速度が必要とされない場合に多く用いられてきた。さらに、配線本数が少なくてすむメリットから近年では多様な用途で使われるようになっており、今では規格における通信速度も拡張され徐々に通信速度も高速化されてきている。
【０００３】
しかし、Ｉ２Ｃでは、配線長による波形なまりなども発生するため、長配線には向いておらず、実際には高速通信を使う制約も厳しい。またマルチマスタをサポートしているものの、デイジーチェーンで繋がれるために、同時に複数のデバイスがマスタになるのではなく、同時に通信を始めようとした場合には衝突検出機能とアービトレーション機能によりデータ破壊を防いで共存させているものである。Ｉ２Ｃによる通信方式では時間的に区切って見ると、一対一、あるいは一対複数の通信しか出来ない。
【０００４】
ここで、関連技術として、ＭＢＵＳとＳＢＵＳとを分割し、何れのバスでもバスマスターを搭載してマルチバスマスター構成とする技術が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−０６００１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図９において、背景技術において既知の二線シリアルバスシステムの概略図を示す。このような一般的なマルチマスタの場合、片方がマスタ装置として動作し、同時にマスタ装置として動作は出来ない。
【０００７】
ここで、二線シリアルバスによる通信の基本動作のタイミングチャートを図１０に示す。図１０において、まずマスタ装置がSTART状態で通信開始を宣言し、引き続きデータを送信する。その後、受信側からのアクノリッジを受け、マスタ装置がSTOP状態で通信を終了する。背景技術において既知の二線シリアルバスシステムでは、通信中は、この状態がバスのラインを占有するため、デバイスが一対一対応でしか通信することが出来ない。
【０００８】
（発明の目的）
本発明の目的は、上述の課題を解決し、二線シリアルバスにおける回路の可用性を上げることが可能な情報処理装置、バス分割方法、及びバス分割プログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の情報処理装置は、二線シリアルバスシステムにより構成される情報処理装置であって、複数のマスタ装置と、１つ以上のスレーブ装置と、分割後の各バス上に少なくとも１つのマスタ装置が存在するように、バスを複数のバスに分割するスイッチとを備え、分割後の各バス上で、マスタ装置がマスタとして動作することで、マルチマスタとして並列動作する。
【００１０】
本発明の第２の情報処理装置は、二線シリアルバスシステムにより構成される情報処理装置であって、１つ以上のマスタ装置と、１つ以上のスレーブ装置と、バスを複数に分割するスイッチとを備え、スイッチは、マスタ装置又はスレーブ装置として機能するエミュレート手段を含む。
【００１１】
本発明の第１のバス分割方法は、二線シリアルバスシステムにより構成され、複数のマスタ装置と、１つ以上のスレーブ装置と、スイッチとを備える情報処理装置におけるバス分割方法であって、スイッチが、分割後の各バス上に少なくとも１つのマスタ装置が存在するように、バスを複数のバスに分割するステップと、分割後の各バス上で、マスタ装置がマスタとして動作することで、マルチマスタとして並列動作するステップとを有する。
【００１２】
本発明の第２のバス分割方法は、二線シリアルバスシステムにより構成され、１つ以上のマスタ装置と、１つ以上のスレーブ装置と、バスを複数に分割するスイッチとを備える情報処理装置におけるバス分割方法であって、スイッチが備えるエミュレート手段が、仮想的なマスタ装置又はスレーブ装置として機能するエミュレートステップを有する。
【００１３】
本発明の第１のバス分割プログラムは、二線シリアルバスシステムにより構成され、複数のマスタ装置と、１つ以上のスレーブ装置と、スイッチとを備える情報処理装置を構成するコンピュータ上で動作するバス分割プログラムであって、スイッチに、分割後の各バス上に少なくとも１つのマスタ装置が存在するように、バスを複数のバスに分割する処理を実行させ、分割後の各バス上で、マスタ装置がマスタとして動作することで、マルチマスタとして並列動作する処理を実行させる。
【００１４】
本発明の第２のバス分割プログラムは、二線シリアルバスシステムにより構成され、１つ以上のマスタ装置と、１つ以上のスレーブ装置と、バスを複数に分割するスイッチとを備える情報処理装置におけるバス分割プログラムであって、スイッチが備えるエミュレート手段に、仮想的なマスタ装置又はスレーブ装置として機能するエミュレート処理を実行させる。
【発明の効果】
【００１５】
本発明によれば、二線シリアルバスにおける回路の可用性を上げることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態による二線シリアルバスシステムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態によるスイッチの内部構成を示すブロック図である。
【図３】本発明の第１の実施の形態によるスイッチのデータ受信フローを示すフローチャートである。
【図４】本発明の第１の実施の形態によるスイッチのデータ送信フローを示すフローチャートである。
【図５】本発明の第１の実施の形態によるバス分割の状態を示す図である。
【図６】本発明の第１の実施の形態によるマルチマスタでの動作地民具を示す図である。
【図７】本発明の第１の実施の形態によるバス分割の状態を示す図である。
【図８】本発明の情報処理装置のハードウェア構成例を示すブロック図である。
【図９】背景技術による二線シリアルバスシステムの構成を示すブロック図である。
【図１０】背景技術による二線シリアルバスシステムによる通信のタイミングチャートを示す図である。
【発明を実施するための形態】
【００１７】
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１８】
（第１の実施の形態）
本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１９】
図１は、本発明の第１の実施の形態による二線シリアルバスシステム１００の構成を示すブロック図である。図示は省略するが、二線シリアルバスシステム１００は、情報処理装置２００上で構成される。
【００２０】
本実施の形態による二線シリアルバスシステム１００は、マスタ装置１０−１と、マスタ／スレーブ装置４０と、スレーブ装置２０−２〜２０−４と、スイッチ３０とを備える。マスタ／スレーブ装置４０は、マスタ装置１０−２又はスレーブ装置２０−１として機能する。なお、図１は例示であって、システム構成を制限するものではない。
【００２１】
本実施の形態による二線シリアルバスシステム１００は、背景技術による既知の二線シリアルバスシステムに加えて、伝送路の通信状態をモニタし、データの入出力を制御するスイッチ３０を備えることを特徴とする。
【００２２】
スイッチ３０は、回路を分断または接続する機能を有する。また、スイッチ３０は、シリアルバスでのマスタ装置、スレーブ装置の動作をエミュレートする機能を有する。スイッチ３０により分割されたバス間の通信をおこなうときはこのスイッチを経由する。スイッチ３０自身の制御もシリアルバス経由で行う。
【００２３】
スイッチ３０の内部構成を図２に示す。スイッチ３０はメモリ３１と、各バスにおいて、マスタ装置１０あるいはスレーブ装置２０としての役割を果たすエミュレート手段３２と、スイッチ３０の状態を切り替えるためのスイッチ切り替え手段３３とを備える。
【００２４】
メモリ３１は、シリアルバス上のマスタ装置１０から受信した又はチェーン接続されたシリアルバス上のスレーブ装置２０から受信したデータを保存または提供する。
【００２５】
スイッチ切り替え手段３３は、エミュレート手段３２のマスタ装置及びスレーブ装置としての動作を、オンにするかオフにするか切り替える機能を有する。
【００２６】
このスイッチ３０をバスに組み込むことで、図５のように各バスを分離し、マルチマスタとして並列動作させることが可能となる。またスイッチ３０の状態を切り替えるため、スイッチ切り替え手段３３を、シリアルバス上におけるスレーブ装置として備える。
【００２７】
スイッチ３０によりバスは二分割あるいはそれ以上に分割され、それぞれが独自のバスとしてマスタをもつことが可能となる。
【００２８】
本発明は、上述の構成を有し、シリアルバスを使用するときに、同時に複数のマスタをアクティブとして使用できるようにメモリと任意のマスタ装置１０あるいはスレーブ装置２０をエミュレートするスイッチ３０を挿入することで、回路の可用性を高める。すなわち、伝送路の通信状態をモニタし、データの入出力を制御し、回路を分断または接続するスイッチ３０を挿入し、マスタ毎にそれぞれバスを構築する。スイッチ３０はそれぞれのバスとチェーン接続されたシリアルバス上でマスタ装置１０又はスレーブ装置２０の何れとしても動作可能なデジタル状態機械である。
【００２９】
（第１の実施の形態の動作の説明）
次に、本実施の形態による二線シリアルバスシステム１００の動作について、図面を参照して詳細に説明する。
【００３０】
スイッチ３０の状態は、二形態あり、シリアルバス通信によって状態を変化させることが出来る。これは、スイッチ３０内のスイッチ切り替え手段３３がシリアルバス上のアドレスを持っており、これがバス上においてスレーブ装置２０として動作し、図２に示すように、スイッチ切り替え手段３３からEnb信号をエミュレート手段３２送ることで、切り替えを可能とする。
【００３１】
本発明における二線式シリアルバスは、バス上の公称電圧が、High（論理１）であり、装置が電圧をLow（論理０）側に引き込むオープンドレインシステムで、回路またはバスは各種抵抗などによるプルアップ抵抗器を用いて電圧源に接続される。プルアップ抵抗器は二線シリアルバス上のマスタ装置１０、スレーブ装置２０によってプルダウンされていない時、これらの回路がHigh（論理１）状態を維持するのを補助している。
【００３２】
この二線式シリアルバスのトランザクション動作は、ＳＴＡＲＴ状態の発行に伴って始まる。マスタ装置１０はアドレス、ＲＥＡＤ／ＷＲＩＴＥ（Ｒ／Ｗ）信号を伝送可能とする。アドレスを有するスレーブ装置２０は、アクノリッジ信号によって応答する。次いで、データワードが伝送され、ＲＥＡＤトランザクションにおいては、スレーブ装置２０がデータワードをマスタ装置１０に対して送信する。データワードは、８ビットワードなどの任意の数のビットでもよい。
【００３３】
ＷＲＩＴＥトランザクションにおいては、マスタ装置１０がデータワードを送信し、スレーブ装置２０がアクノリッジ信号を送信することができる。すべてのデータが伝送されるまで、更なるデータワード及びアクノリッジ信号は反復可能とする。その他の実施例においては、データワードは、別個のパケットに分割されていないデータストリームともできる。
【００３４】
データが伝送された後に、マスタ装置１０は、ＳＴＯＰ状態を発行する。具体的な動作としてＳＴＡＲＴ状態の後に、クロックラインがクロックの伝送を開始する。まず、マスタ装置１０がアドレスを送信し、スレーブ装置２０が、このアドレスを受信し、このアドレスをその独自のアドレスと比較する。アドレスがマッチングしない場合には、スレーブ装置２０は、ＳＴＯＰ状態にて待つ。アドレスがマッチングした場合には、スレーブ装置２０は、データを受信する準備を実行する。
【００３５】
次に、マスタ装置１０は、信号を送信することにより、そのトランザクションがＷＲＩＴＥ動作であってＲＥＡＤ動作ではないことをスレーブ装置２０に対して通知する。一実施例においては、ＲＥＡＤ／ＷＲＩＴＥ信号は、単一ビットの通知である。アドレスを受信した後に、スレーブ装置２０は、アクノリッジ信号を送信する。
【００３６】
次いで、マスタ装置１０は、バイトサイズのデータワードのスレーブ装置２０に対する伝送を開始することができる。スレーブ装置２０は、それぞれのデータワードの後に、アクノリッジ信号を送信することができる。データワードの伝送は、すべてのデータがマスタ装置１０からスレーブ装置２０に送信されるまで継続可能である。
【００３７】
データ伝送が成功裏に完了した際に、マスタ装置１０は、ＳＴＯＰ状態を発行することになる。一実施例においては、ＳＴＯＰ状態は、クロックがＨｉｇｈである時にデータラインがＨｉｇｈになることをマスタ装置が許容した際に実現する。この時点において、シリアルバスが解放され、すべての装置は、更なるＳＴＡＲＴ状態の発行を待つことになる。
【００３８】
ＲＥＡＤ動作においては、マスタ装置１０は、ＲＥＡＤビットを送信することができる。スレーブ装置２０は、バイトサイズのデータワードをマスタ装置１０に対して送信する。マスタ装置１０は、それぞれのデータワードの後に、アクノリッジ信号を送信する。すべてのデータの受信が完了した際に、マスタ装置はＳＴＯＰ状態を発行する。
【００３９】
以上のマスタ装置、スレーブ装置の動作をエミュレートすることができる特殊なスイッチをシリアルバス内に挿入する。このスイッチによりバスは二分割あるいはそれ以上に分割され、それぞれが独自のバスとしてマスタをもつことが可能となる。
【００４０】
分割されたバス内において、１つ又は複数のスレーブ装置２０から受信したデータは、図３のフローチャートに沿って同一のアドレス、オフセット、及びその他のフォーマットを使用してスイッチ３０内のメモリ３１に保存される。メモリ３１の更新は、任意のタイミングであり、メモリ３１が１つ又は複数のバスに保存されているデータを正確に反映することを保証する任意のインターバルにおいて実行可能とする。
【００４１】
あるバスのマスタ装置１０からその隣のバスのスレーブ装置２０へアクセスする際には、スイッチ３０が装置アドレスを受信し、このアドレスをメモリに保存されているアドレスと比較する。アドレスがメモリ３１内のアドレスとマッチングした場合には、スイッチ３０は、アクノリッジ信号を送信する。次いで、スイッチ３０は、定期的に更新されているメモリ３１から適切なデータを判読し、このデータをマスタ装置１０に対して送信を開始する。このフローチャートを図４に示す。
【００４２】
図４を参照すると、まず、エミュレート手段３２が、マスタ装置１０から、当該マスタ装置１０とは別のバス上に存在するスレーブ装置２０への読み取り要求を受信する（ステップＳ４０１）。
【００４３】
次いで、エミュレート手段３２は、読み取り対象のスレーブ装置２０のアドレスを判定する（ステップＳ４０２）。
【００４４】
次いで、エミュレート手段３２は、要求されたデータのメモリ３１内での格納場所を検索する（ステップＳ４０３）。
【００４５】
次いで、メモリ３１から該当データを抽出し（ステップＳ４０４）、データをマスタ装置１０に送信する（ステップＳ４０５）。メモリ３１にデータが存在しない場合は、図３に示す動作によることとなる。
【００４６】
上記の動作においては、エミュレート手段３２は、マスタ装置１０が存在するバス上において、仮想的なスレーブ装置２０’として機能している。
【００４７】
この結果、マスタ装置１０は、目的のスレーブ装置２０と相互運用するのと同一の方式によってスイッチ３０と通信することで目的のデータを得る。以上の動作によって、このスイッチ３０は、二線式シリアルバスのトランザクションをエミュレートしている。
【００４８】
次に、本実施の形態による二線シリアルバスシステム１００の動作例を説明する。
【００４９】
動作例１：スイッチ３０の機能をオフにし二系統間で直接的に、マスタ-スレーブ間のやりとりをする場合には、通信状態をそのまま通過させることでこれを実現する。回路全体としてみるとスイッチがない通常の結線された状態と同じ動作となる。
【００５０】
動作例２：図５で示すようにスイッチをオンにすることで回路が分断され、バスAとバスBでそれぞれのマスタ装置１０がそれぞれ独立した系統でマスタとして動作する。つまり、点線で囲ったそれぞれの系統においてそれぞれマスタ装置１０がアクティブになることが可能となる。
【００５１】
動作例３：図１において、スイッチ３０の機能をオンにし二系統間を分断した状態で、バスA、バスB間の通信を行う。この時、スイッチ３０のバスB側での動作はマスタ装置１０−１と同等の動作となり、スイッチ３０内のマスタ装置１０−１´（仮想的に再現されたマスタ装置１０−１）がバスBのスレーブ装置２０−１と通信することになる。
【００５２】
この場合、バスＢでのマスタはマスタ装置１０−１´となっており、マスタ／スレーブ装置４０は、スレーブ装置２０−１として機能する。マスタ装置１０−１´が得たデータをマスタ装置１０−１が受け取ることにより、バス間での通信が可能となる。
【００５３】
バスA、バスBを逆にした場合の動作も可能であり、この場合はバスAにおいてマスタ装置１０−２´としてスイッチ３０（エミュレート手段３２）が動作する。
【００５４】
図３に、スイッチ３０のデータ受信時のフローチャートを示す。
【００５５】
まず、エミュレート手段３２は、マスタ装置１０から、当該マスタ装置１０とは別のバス上に存在するスレーブ装置２０への読み取り要求を受信する（ステップＳ３０１）。
【００５６】
次いで、エミュレート手段３２は、読み取り対象スレーブ装置２０のアドレスを判定する（ステップＳ３０２）。
【００５７】
次いで、エミュレート手段３２は、仮想的なマスタ装置１０’として、対象のスレーブ装置２０にデータの読み取り要求を送信し、その結果受信したデータをマスタ装置１０に送信するとともに、受信データ及び対象スレーブ装置２０のアドレスをメモリ３１に保存する（ステップＳ３０３、Ｓ３０４）。
【００５８】
上記の動作においては、エミュレート手段３２は、対象スレーブ装置２０が存在するバス上では仮想的なマスタ装置１０’として機能する。
【００５９】
マルチマスタとして並列動作が可能になると、図６に示すように、マスタ装置１０−１とスレーブ装置２０−２、そしてマスタ装置１０−２とスレーブ装置２０−３が通信する場合、シリアルバス占有時間をt1+t2から最大でt1（t1>t2とすると）まで短縮することができ、装置のアイドル時間が減り、同時に動作できることがわかる。
【００６０】
（第１の実施の形態による効果）
本実施の形態によれば、単純なバススイッチやアイソレータでは不可能な双方向通信かつ、同時に並列回路として機能させることが出来る。シリアルバスのメリットである配線本数の少なさをほぼそのままに、バスごとに通信が可能となるため動作例３で説明したように二線シリアルバスにおける回路の可用性を上げることが可能となる。
【００６１】
また、本実施の形態によれば、一つのバスの系統でポーリングなど行われていても、他方の系統において、バスをビジーとすることなく使用可能とできる。
【００６２】
また、すべてのデバイスをつなぐデイジーチェーンであると、通信速度はもっとも遅いデバイスに律速されるが、本実施の形態によれば、ひとつのマスタにおけるI2Cの回路規模を小さくできるため、図７のように遅いデバイスを選択的に別のバスに切り離すことができる。点線で囲まれた部分は別系統となるため、この範囲内で線長制限なども緩和され、高速通信なども可能となる。
【００６３】
さらに、上記に加え、大型の装置では長配線になりがちで使いづらい高速通信も、回路規模を小さくすることで使用しやすくなる。
【００６４】
ここで、本発明の課題を解決できる最小限の構成を説明する。図１に示すように、情報処理装置２００が、二線シリアルバスシステム１００により構成され、複数のマスタ装置１０と、１つ以上のスレーブ装置２０と、分割後の各バス上に少なくとも１つのマスタ装置１０が存在するように、バスを複数のバスに分割するスイッチ３０とを備え、分割後の各バス上で、マスタ装置１０がマスタとして動作することで、マルチマスタとして並列動作することで、上述した本発明の課題を解決することができる。
【００６５】
次に、本発明の二線シリアルバスシステム１００を構成する情報処理装置２００のハードウェア構成例について、図８を参照して説明する。
【００６６】
図８を参照すると、本発明の情報処理装置２００は、一般的なコンピュータ装置と同様のハードウェア構成であり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部８０２、ネットワークを介してデータの送受信を行う通信部８０３、入力装置８０５や出力装置８０６及び記憶装置８０７と接続してデータの送受信を行う入出力インタフェース部８０４、上記各構成要素を相互に接続するシステムバス８０８を備えている。記憶装置８０７は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
【００６７】
本発明の情報処理装置２００の各機能は、プログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置８０７に格納し、そのプログラムを主記憶部８０２にロードしてＣＰＵ８０１で実行することにより、ソフトウェア的に実現することも可能である。
【００６８】
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００６９】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００７０】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００７１】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００７２】
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００７３】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【００７４】
（付記１）
二線シリアルバスシステムにより構成される情報処理装置であって、
複数のマスタ装置と、
１つ以上のスレーブ装置と、
分割後の各バス上に少なくとも１つのマスタ装置が存在するように、前記バスを複数のバスに分割するスイッチとを備え、
分割後の各バス上で、前記マスタ装置がマスタとして動作することで、マルチマスタとして並列動作する
ことを特徴とする情報処理装置。
【００７５】
（付記２）
前記スイッチが、
通信速度の遅い前記スレーブ装置を、選択的に別のバスに切り離す
ことを特徴とする付記１に記載の情報処理装置。
【００７６】
（付記３）
二線シリアルバスシステムにより構成される情報処理装置であって、
１つ以上のマスタ装置と、
１つ以上のスレーブ装置と、
バスを複数に分割するスイッチとを備え、
前記スイッチは、
マスタ装置又はスレーブ装置として機能するエミュレート手段を含む
ことを特徴とする情報処理装置。
【００７７】
（付記４）
前記スイッチが、
前記マスタ装置から他のバス上の前記スレーブ装置への読み取り要求を受信する受信手段と、
前記読み取り要求の対象のスレーブ装置のアドレスを判定する判定手段と、
データを格納するメモリとを備え、
前記エミュレート手段が、
前記スレーブ装置が存在するバス上において仮想的なマスタ装置として機能し、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得し、
取得したデータを前記マスタ装置に送信するとともに、当該アドレスとセットにして前記メモリに格納する
ことを特徴とする付記３に記載の情報処理装置。
【００７８】
（付記５）
前記エミュレート手段が、
前記判定手段により判定したアドレスとセットで保存されているデータが前記メモリにない場合に、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得する
ことを特徴とする付記４に記載の情報処理装置。
【００７９】
（付記６）
前記エミュレート手段が、
前記判定手段により判定したアドレスとセットで保存されているデータが前記メモリにある場合、前記マスタ装置が存在するバス上において仮想的なスレーブ装置として機能し、前記メモリに格納されている当該データを前記マスタ装置に送信する
ことを特徴とする付記５に記載の情報処理装置。
【００８０】
（付記７）
前記スイッチが、
前記バスを分割するか否かを切り替えるスイッチ切り替え手段を備える
ことを特徴とする付記１から付記６の何れか１項に記載の情報処理装置。
【００８１】
（付記８）
二線シリアルバスシステムにより構成され、複数のマスタ装置と、１つ以上のスレーブ装置と、スイッチとを備える情報処理装置におけるバス分割方法であって、
前記スイッチが、分割後の各バス上に少なくとも１つのマスタ装置が存在するように、前記バスを複数のバスに分割するステップと、
分割後の各バス上で、前記マスタ装置がマスタとして動作することで、マルチマスタとして並列動作するステップと
を有することを特徴とするバス分割方法。
【００８２】
（付記９）
前記スイッチが、通信速度の遅い前記スレーブ装置を、選択的に別のバスに切り離すステップを有する
ことを特徴とする付記８に記載のバス分割方法。
【００８３】
（付記１０）
二線シリアルバスシステムにより構成され、１つ以上のマスタ装置と、１つ以上のスレーブ装置と、バスを複数に分割するスイッチとを備える情報処理装置におけるバス分割方法であって、
前記スイッチが備えるエミュレート手段が、仮想的なマスタ装置又はスレーブ装置として機能するエミュレートステップを有する
ことを特徴とするバス分割方法。
【００８４】
（付記１１）
前記スイッチが備える受信手段が、前記マスタ装置から他のバス上の前記スレーブ装置への読み取り要求を受信する受信ステップと、
前記スイッチが備える判定手段が、前記読み取り要求の対象のスレーブ装置のアドレスを判定する判定ステップとを有し、
前記エミュレートステップで、
前記スレーブ装置が存在するバス上において仮想的なマスタ装置として機能し、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得し、
取得したデータを前記マスタ装置に送信するとともに、当該アドレスとセットにして前記スイッチ内のメモリに格納する
ことを特徴とする付記１０に記載のバス分割方法。
【００８５】
（付記１２）
前記エミュレートステップで、
前記判定手段により判定したアドレスとセットで保存されているデータが前記メモリにない場合に、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得する
ことを特徴とする付記１１に記載のバス分割方法。
【００８６】
（付記１３）
前記エミュレートステップで、
前記判定ステップにより判定したアドレスとセットで保存されているデータが前記メモリにある場合、前記マスタ装置が存在するバス上において仮想的なスレーブ装置として機能し、前記メモリに格納されている当該データを前記マスタ装置に送信する
ことを特徴とする付記１２に記載のバス分割方法。
【００８７】
（付記１４）
前記スイッチが備えるスイッチ切り替え手段が、前記バスを分割するか否かを切り替えるスイッチ切り替えステップを有する
ことを特徴とする付記８から付記１３の何れか１項に記載のバス分割方法。
【００８８】
（付記１５）
二線シリアルバスシステムにより構成され、複数のマスタ装置と、１つ以上のスレーブ装置と、スイッチとを備える情報処理装置を構成するコンピュータ上で動作するバス分割プログラムであって、
前記スイッチに、分割後の各バス上に少なくとも１つのマスタ装置が存在するように、前記バスを複数のバスに分割する処理を実行させ、
分割後の各バス上で、前記マスタ装置がマスタとして動作することで、マルチマスタとして並列動作する処理を実行させる
を有することを特徴とするバス分割プログラム。
【００８９】
（付記１６）
前記スイッチに、通信速度の遅い前記スレーブ装置を、選択的に別のバスに切り離す処理を実行させる
ことを特徴とする付記１５に記載のバス分割プログラム。
【００９０】
（付記１７）
二線シリアルバスシステムにより構成され、１つ以上のマスタ装置と、１つ以上のスレーブ装置と、バスを複数に分割するスイッチとを備える情報処理装置におけるバス分割プログラムであって、
前記スイッチが備えるエミュレート手段に、仮想的なマスタ装置又はスレーブ装置として機能するエミュレート処理を実行させる
ことを特徴とするバス分割プログラム。
【００９１】
（付記１８）
前記スイッチが備える受信手段に、前記マスタ装置から他のバス上の前記スレーブ装置への読み取り要求を受信する受信処理を実行させ、
前記スイッチが備える判定手段に、前記読み取り要求の対象のスレーブ装置のアドレスを判定する判定処理を実行させ、
前記エミュレート処理で、
前記スレーブ装置が存在するバス上において仮想的なマスタ装置として機能し、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得し、
取得したデータを前記マスタ装置に送信するとともに、当該アドレスとセットにして前記スイッチ内のメモリに格納する
ことを特徴とする付記１７に記載のバス分割プログラム。
【００９２】
（付記１９）
前記エミュレート処理で、
前記判定手段により判定したアドレスとセットで保存されているデータが前記メモリにない場合に、読み取り対象の前記スレーブ装置に対し読み取り要求を送信し、データを取得する
ことを特徴とする付記１８に記載のバス分割プログラム。
【００９３】
（付記２０）
前記エミュレート処理で、
前記判定ステップにより判定したアドレスとセットで保存されているデータが前記メモリにある場合、前記マスタ装置が存在するバス上において仮想的なスレーブ装置として機能し、前記メモリに格納されている当該データを前記マスタ装置に送信する
ことを特徴とする付記１９に記載のバス分割プログラム。
【００９４】
（付記２１）
前記スイッチが備えるスイッチ切り替え手段に、前記バスを分割するか否かを切り替えるスイッチ切り替え処理を実行させる
ことを特徴とする付記１５から付記２０の何れか１項に記載のバス分割プログラム。
【産業上の利用可能性】
【００９５】
何枚もの基板を連なって接続するような大型装置の場合、本来I2Cの対象ではないがその利便性から用いられることも多く、またその用途も診断系などの重要な箇所の場合がある。そのようなシリアルバスを用いて、何度も高速に信号を伝達するような大規模高速通信を行う回路構成において本発明は非常に効果的に使うことが出来る。たとえば、大規模装置における多数の温度センサICなどをスレーブ装置としてもつ時に、I2Cでポーリングする場合、一系統ではバスを占有することによるタイムロスを、本発明によるスイッチでバスを分けることによってバスの規模を小さくすることができ、ポーリング時間を大幅に縮小することができる。
【符号の説明】
【００９６】
１０、１０−１、１０−２、１０’、１０−１’、：マスタ装置
２０、２０−１〜２０−４、２０’：スレーブ装置
３０：スイッチ
３１：メモリ
３２：エミュレート手段
３３：スイッチ切り替え手段
４０：マスタ／スレーブ装置
１００：二線シリアルバスシステム
２００：情報処理装置
８０１：ＣＰＵ
８０２：主記憶部
８０３：通信部
８０４：入出力インタフェース部
８０５：入力装置
８０６：出力装置
８０７：記憶装置
８０８：システムバス
【図１】
2014170361.tif 000003
【図２】
2014170361.tif 000004
【図３】
2014170361.tif 000005
【図４】
2014170361.tif 000006
【図５】
2014170361.tif 000007
【図６】
2014170361.tif 000008
【図７】
2014170361.tif 000009
【図８】
2014170361.tif 000010
【図９】
2014170361.tif 000011
【図１０】
2014170361.tif 000012