(57)【要約】【課題】デバイスへの確実なアクセスを実現する。【解決手段】接続制御部３０８が第１のバスと第２のバスとを接続する前に、第２のバスに対して、バスアクセス開始通知を発行する通知発行部３０７を備える【選択図】図２
2017091048.tif 000002
【特許請求の範囲】
【請求項１】
バスコントローラに接続される第１のバスとデバイスに接続される第２のバスとを中継する中継装置であって、
前記第１のバスと前記第２のバスとの接続および切断を制御する接続制御部と、
前記接続制御部が前記第１のバスと前記第２のバスとを接続する前に、前記第２のバスに対して、バスアクセス開始通知を発行する通知発行部と
を備えることを特徴とする、中継装置。
【請求項２】
前記バスコントローラから送信される、当該中継装置のアドレスを含む第１送信データが入力され、
前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較する比較部を備え、
前記比較部による比較の結果、前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記接続制御部が、前記第１のバスと前記第２のバスとを接続させる
ことを特徴とする、請求項１記載の中継装置。
【請求項３】
前記第２のバスにおけるデータ信号レベルを確認する確認部と、
前記データ信号レベルがＬｏｗレベルである場合に、前記第１のバスに対して否定応答通知を発行する応答処理部と
を備えることを特徴とする、請求項１または２記載の中継装置。
【請求項４】
バスコントローラに接続される第１のバスとデバイスに接続される第２のバスとを中継する中継装置において、
前記第２のバスに対して、バスアクセス開始通知を発行し、
前記第１のバスと前記第２のバスとを接続する
ことを特徴とする、中継方法。
【請求項５】
バスコントローラに接続される第１のバスとデバイスに接続される第２のバスとを中継する中継機能をコンピュータに実行させるための中継制御プログラムであって、
前記第２のバスに対して、バスアクセス開始通知を発行し、
前記第１のバスと前記第２のバスとを接続する
処理を前記コンピュータに実行させることを特徴とする、中継制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法および中継制御プログラムに関する。
【背景技術】
【０００２】
例えばＩ２Ｃ（Inter-Integrated Circuit）インタフェースに類する２線式シリアルバスにおいては、バスコントローラ（マスタ）から、バスに接続されているスレーブデバイスにアクセスする際に、スレーブデバイスに付与されたスレーブアドレスをバス上に送信する。
スレーブアドレスは、スレーブデバイス毎に割り振られた固有のアドレスである。スレーブアドレスが７ｂｉｔで指定される場合では、部品によってはスレーブアドレス７ｂｉｔの内の少なくとも一部のｂｉｔ（例えば下位３ｂｉｔ）が任意に変更可能である。
【０００３】
７ｂｉｔのスレーブアドレスの内の下位３ｂｉｔを変更する場合には、例えば、デバイス・ピンの内の３ピンを、スレーブアドレスの下位３ｂｉｔに対応させ、これらの各ピンに外付け抵抗を用いたプルアップまたはプルダウンを行なうことで、各ｂｉｔに“１”または“０”を設定する。
Ｉ２Ｃインタフェースに類する２線式シリアルバスにおいては、同じスレーブアドレスを持つデバイスが接続されることによってスレーブアドレスが重複すると、これらの同じスレーブアドレスを持つ複数のデバイスが同時に応答する。これにより、正常にスレーブデバイスに対してリードおよびライトを行なうことが出来ない。従って、バス内において、スレーブアドレスが重複することは許されない。
【０００４】
そこで、システム内において、複数の同じデバイスを使用する必要がある場合において、デバイスが、スレーブアドレスの例えば下位３ｂｉｔを変更可能である場合は、各デバイスのスレーブアドレスの下位３ｂｉｔの値を重複しないように変更する。これにより、同一バス上に８（＝２３）個までは同じデバイスを接続することが可能となる。
これに対して、デバイスアドレスが固定であり変更不可のデバイスを複数使用する場合、または、下位３ｂｉｔの変更が可能なデバイスを９個以上使用する場合は、バスマルチプレクサを用いることが行なわれている。
【０００５】
図７は従来のバスシステムを例示する図である。
この図７に示すバスシステム５００は、Ｉ２Ｃバスシステムであって、バスマルチプレクサ５０３を備え、このバスマルチプレクサ５０３に、２つのシリアルバス５１０ａ，５１０ｂが接続されている。より具体的には、バスマルチプレクサ５０３は、２つのチャネル（ｃｈ）１，２を備え、ｃｈ１にシリアルバス５１０ａが、ｃｈ２にシリアルバス５１０ｂが、それぞれ接続されている。
【０００６】
シリアルバス５１０ａ，５１０ｂは、それぞれクロック信号ＳＣＬを伝送する信号線５０４と、データ信号ＳＤＡを伝送する信号線５０５とを備える。
なお、以下、シリアルバスを示す符号としては、複数のシリアルバスのうち１つを特定する必要があるときには符号５１０ａ，５１０ｂを用いるが、任意のシリアルバスを指すときには符号５１０を用いる。
【０００７】
また、バスマルチプレクサ５０３には２つのバスコントローラ５０１ａ，５０１ｂが接続されている。バスコントローラ５０１ａ，５０１ｂは、それぞれバスマルチプレクサ５０３を介してスレーブデバイス５０２にアクセスして処理を行なわせる。
なお、以下、バスコントローラを示す符号としては、複数のバスコントローラのうち１つを特定する必要があるときには符号５０１ａ，５０１ｂを用いるが、任意のバスコントローラを指すときには符号５０１を用いる。また、以下、バスコントローラをバスマスタという場合がある。
【０００８】
図７に示すバスシステム５００は、複数のバスマスタ５０１を備えるマルチマスタ構成を有する。
シリアルバス５１０ａには符号１Ａ，１Ｂ，１Ｃ，１Ｄで表されるスレーブデバイス５０２が、シリアルバス５１０ｂには符号２Ａ，２Ｂ，２Ｃ，２Ｄで表されるスレーブデバイス５０２がそれぞれ接続されている。
【０００９】
この図７に示すバスシステム５００において、バスマルチプレクサ５０３は、バスをツリー構造として２つのシリアルバス５１０ａ，５１０ｂに分割している。バスコントローラ５０１ａ，５０１ｂは、バスマルチプレクサ５０３のチャネルを選択してバスを切り替えることで、任意のスレーブデバイス１Ａ，１Ｂ，１Ｃ，１Ｄ，２Ａ，２Ｂ，２Ｃ，２Ｄにアクセスし、これにより同一のスレーブデバイスの複数使用を可能としている。
【００１０】
さて、この図７に示すような、バスマルチプレクサ５０３を備えたマルチマスタ構成の従来のバスシステム５００において、一のバスコントローラ５０１が例えばスレーブデバイス１Ａにアクセスするには、以下の手順で行なう。
すなわち、バスコントローラ５０１は、１回目のバス獲得によるアクセスでバスマルチプレクサ５０３にアクセスし、ｃｈ１を選択して切り替えた後、２回目のバス獲得によるアクセスで対象のスレーブデバイス１Ａにアクセスする。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−２６８２６７号公報
【特許文献２】特開２００２−２１５５６６号公報
【特許文献３】特開平１１−９６０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従来のマルチマスタのバスシステム５００において、例えば、一のバスコントローラ５０１（例えばバスコントローラ５０１ａ）がスレーブデバイス１Ａにアクセスするために１回目のアクセスでバスマルチプレクサ５０３のｃｈ１を選択して切り替えたとする。その後、バスコントローラ５０１ａが２回目のアクセスでスレーブデバイス１Ａにアクセスする前に、他のバスコントローラ５０１ｂがバスを獲得し、スレーブデバイス２Ａにアクセスするために、バスマルチプレクサ５０３にアクセスしてｃｈ２を選択し切り替えてしまう場合がある。
【００１３】
この場合、バスコントローラ５０１ａはバスマルチプレクサ５０３をｃｈ１に切替えたつもりでいても、実際にはバスコントローラ５０１ｂによりバスマルチプレクサ５０３はｃｈ２に切替えられている。従って、バスコントローラ５０１ａがスレーブデバイス１Ａにアクセスしようとしてもスレーブデバイス１Ａにはアクセス出来ない。
また、１つのバスコントローラを備えるシングルマスタ構成のバスシステムにおいても、ファームウェアがマルチタスクで動いている場合、一のタスクがスレーブデバイス１Ａにアクセスし、他のタスクがスレーブデバイス２Ａにアクセスする場合に、同様の現象が起こり得る。
【００１４】
従って、従来のバスシステム５００においては、他のバスコントローラやタスクの処理によりバスマルチプレクサ５０３のチャネルが切り替えられることを防止するための排他処理が必要とされる。
１つの側面では、本発明は、デバイスへの確実なアクセスを実現できるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
このため、この中継装置は、バスコントローラに接続される第１のバスとデバイスに接続される第２のバスとを中継する中継装置であって、前記第１のバスと前記第２のバスとの接続および切断を制御する接続制御部と、前記接続制御部が前記第１のバスと前記第２のバスとを接続する前に、前記第２のバスに対して、バスアクセス開始通知を発行する通知発行部とを備える。
【発明の効果】
【００１６】
一実施形態によれば、デバイスへの確実なアクセスを実現できる。
【図面の簡単な説明】
【００１７】
【図１】実施形態の一例としてのバスシステムの構成を例示する図である。
【図２】実施形態の一例としてのバスシステムのバス接続制御回路の機能構成を示すブロック図である。
【図３】（ａ）〜（ｄ）は実施形態の一例としてのバスシステムにおけるクロック信号とデータ信号とを例示するタイミングチャートである。
【図４】実施形態の一例としてのバスシステムの接続構成例を示す図である。
【図５】実施形態の一例としてのバスシステムの他の接続構成例を示す図である。
【図６】実施形態の一例としてのバスシステムのバス接続制御回路による処理を説明するためのフローチャートである。
【図７】従来のバスシステムを例示する図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本中継装置、中継方法および中継制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１９】
（Ａ）構成
図１は実施形態の一例としてのバスシステム１の構成を例示する図である。
バスシステム１は、図１に示すように、シリアルバス４０ａとシリアルバス４０ｂとを備える。シリアルバス４０ａ，４０ｂは、それぞれクロック信号線４１とデータ信号線４２とを備える２線式のバスシステムである。以下、本バスシステム１がＩ２Ｃバスである例について示す。
【００２０】
クロック信号線４１はプルアップ抵抗４３により、また、データ信号線４２はプルアップ抵抗４４により、それぞれＨ（Ｈｉｇｈ）レベルに引き上げられ（プルアップされ）ている。クロック信号線４１はクロック信号ＳＣＬを伝送し、データ信号線４２はデータ信号ＳＤＡを伝送する。
シリアルバス４０ａの一端側（図１中の左側）にはバスコントローラ１０ａ，１０ｂが接続されている。
【００２１】
バスコントローラ１０ａ，１０ｂは、本バスシステム１に接続されたスレーブデバイス２０（後述）にアクセスして各種処理を行なわせる制御装置である。
以下、バスコントローラを示す符号としては、複数のバスコントローラのうち１つを特定する必要があるときには符号１０ａ，１０ｂを用いるが、任意のバスコントローラを指すときには符号１０を用いる。また、バスコントローラをバスマスタまたはマスタという場合がある。
【００２２】
バスコントローラ１０は、バス接続制御回路３０を介してシリアルバス４０ｂに接続されたスレーブデバイス２０にアクセスする場合に、第１送信データ，第２送信データおよび第３送信データを送信する。
第１送信データは、後述するバス接続制御回路３０に設定されたスレーブアドレスとライトを指定することを示すコマンド（＋Write）とを備える。
【００２３】
第２送信データは、バスコントローラ１０がアクセスするスレーブデバイス２０のスレーブアドレスと、リードを行なうことを示すコマンド（+Read）またはライトを行なうことを示すコマンド（+Write）とを備える。なお、リードを行なうことを示すコマンドまたはライトを行なうことを示すコマンドを、+R/Wと表す場合がある。
【００２４】
第３送信データは、アクセスするスレーブデバイス２０に対して送信されるデータ（処理対象データ）である。
また、バスコントローラ１０は、シリアルバス４０ａに接続されたスレーブデバイス２０にアクセスする場合に、第２送信データおよび第３送信データを送信する。
シリアルバス４０ａにおける他端側（図１中の右側）には、複数（図１に示す例では４つ）のスレーブデバイス２０が接続されている。以下、シリアルバス４０ａにおいて、バスコントローラ１０ａ，１０ｂが接続されている側を上流側といい、スレーブデバイス２０が接続されている側を下流側という。また、以下、シリアルバス４０ａに接続されたこれらのスレーブデバイス２０を符号１Ａ，１Ｂ，１Ｃ，１Ｄで表す場合がある。
【００２５】
シリアルバス４０ａにおける、複数のスレーブデバイス２０よりも上流側位置には、このシリアルバス４０ａから分岐するようにシリアルバス４０ｂが接続されている。このシリアルバス４０ｂにおいても、シリアルバス４０ａに接続された側とは反対側に、複数（図１に示す例では４つ）のスレーブデバイス２０が接続されている。シリアルバス４０ｂにおいて、バスコントローラ１０ａと接続されている側を上流側といい、スレーブデバイス２０が接続されている側を下流側という。以下、シリアルバス４０ｂに接続されたスレーブデバイス２０を符号２Ａ，２Ｂ，２Ｃ，２Ｄで表す場合がある。
【００２６】
スレーブデバイス２０は、例えば不揮発性メモリやＬＥＤ（Light Emitting Diode），各種センサ，ログ格納ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等であり、バスコントローラ１０ａ，１０ｂによる制御に従って各種機能を実現する。
また、シリアルバス４０ｂにおいて、スレーブデバイス２０よりも上流側には、バス接続制御回路３０が配置されている。
【００２７】
バス接続制御回路３０は、シリアルバス４０ｂにおいて、当該バス接続制御回路３０よりも上流側の部分と下流側の部分との接続を制御する。
これにより、シリアルバス４０ｂにおいて、スレーブデバイス２Ａ，２Ｂ，２Ｃ，２Ｄは、バス接続制御回路３０を介してバスコントローラ１０ａ，１０ｂと接続されている。
以下、シリアルバス４０ｂにおいて、バス接続制御回路３０の上流側（第１のバス）を前段といい、また、バス接続制御回路３０の下流側（第２のバス）を後段という場合がある。バス接続制御回路３０は、シリアルバス４０ｂにおける当該バス接続制御回路３０の前段と後段との接続を制御するものである。このバス接続制御回路３０は、シリアルバス４０ｂにおける当該バス接続制御回路３０の前段である第１のバスと後段である第２のバスとを中継する中継装置として機能する。
【００２８】
バス接続制御回路３０には、クロック発振器３１から発振されるクロック信号が入力され、バス接続制御回路３０はこのクロック信号に同期して動作する。
図２は実施形態の一例としてのバスシステム１のバス接続制御回路３０の機能構成を示すブロック図である。
また、図３（ａ）〜（ｄ）は本バスシステム１におけるクロック信号ＳＣＬとデータ信号ＳＤＡとを例示するシーケンス図である。図３（ａ）はバス接続制御回路３０の前段におけるクロック信号ＳＣＬを、図３（ｂ）はバス接続制御回路３０の前段におけるデータ信号ＳＤＡを、それぞれ示す。また、図３（ｃ）はバス接続制御回路３０の後段におけるクロック信号ＳＣＬを、図３（ｄ）はバス接続制御回路３０の後段におけるデータ信号ＳＤＡを、それぞれ示す。
【００２９】
バス接続制御回路３０は、図２に示すように、アドレス入力回路３０１，ＢＦＴ（Bus Free Time）検出回路３０２，スタートコンディション検出回路３０３，スレーブアドレス比較回路３０４，データ信号Ｈｉｇｈ検出回路３０５，応答回路３０６，スタートコンディション発生回路３０７，バス接続ＯＮ／ＯＦＦ回路３０８，ストップコンディション検出回路３０９およびスイッチ（Ｓ／Ｗ）３１０，３１１を備える。
【００３０】
バス接続制御回路３０には、予め当該バス接続制御回路３０が使用するアドレス（スレーブアドレス）が設定される。このスレーブアドレスは、本バスシステム１における他のスレーブデバイス２０等と重複することがないユニークな値として設定される。
バス接続制御回路３０は、例えば、ｂｉｔ０〜ｂｉｔ６の７ビットの外部入力ピンを備え、これらの各外部入力ピンを２値（０／１）で表したスレーブアドレスに対応させて、それぞれプルアップまたはプルダウンすることによりスレーブアドレスが設定される。
【００３１】
例えば、スレーブアドレスとして“５５（１６進数）”が設定される場合には、この“５５”を２進数で表した７ビットの値“1010101”がスレーブアドレス設定入力値としてｂｉｔ０〜ｂｉｔ６に設定される。
なお、この外部入力ピンによるスレーブアドレスの設定は、バスコントローラ１０等が行なってもよく、また、オペレータやサービスエンジニア等が行なってもよく、種々変形して実施することができる。
【００３２】
アドレス入力回路３０１は、当該バス接続制御回路３０の電源投入時に、外部入力ピンによって設定されたスレーブアドレスの値（スレーブアドレス設定入力値）を取り込む。
ＢＦＴ検出回路３０２は、クロック信号線４１およびデータ信号線４２の各電圧レベルを監視する。ＢＦＴ検出回路３０２は、クロック信号線４１およびデータ信号線４２の両方の電圧レベルが一定時間（Ｔｂｕｆ：Bus free time between STOP and START conditions）、Ｈレベル状態であることを検出（ＢＦＴ検出）することで、バスアクセスとバスアクセスとの合間であることを検出する。
【００３３】
スタートコンディション検出回路３０３は、Ｉ２Ｃバスのスタートコンディションを検出する。Ｉ２Ｃバスのスタートコンディション（START CONDITION）は、Ｉ２Ｃバスアクセスの開始を表す。
スタートコンディション検出回路３０３は、クロック信号ＳＣＬがＨレベルの状態時に、データ信号ＳＤＡがＨレベルからＬレベルに落ちる状態（図３（ａ），（ｂ）の符号Ｐ１参照）を検知すると、Ｉ２Ｃバスのスタートコンディションとして検出する。
【００３４】
スタートコンディション検出回路３０３は、ＢＦＴ検出回路３０２がバスアクセスとバスアクセスとの合間であることを検出すると、スタートコンディションの発生を検出することで、バスコントローラ１０によるＩ２Ｃバスアクセスの開始を検知する。このスタートコンディションは、バスコントローラ１０から出力されると言える。
ストップコンディション検出回路３０９は、Ｉ２Ｃバスのストップコンディションを検出する。Ｉ２Ｃバスのストップコンディション（STOP CONDITION）は、Ｉ２Ｃバスアクセスの終了を表す。
【００３５】
ストップコンディション検出回路３０９は、クロック信号ＳＣＬがＨレベルの状態時に、データ信号ＳＤＡがＬレベルからＨレベルに上がる状態（図３（ｃ），（ｄ）の符号Ｐ２参照）をストップコンディションとして検出する。このストップコンディションは、バスコントローラ１０から出力されるといえる。
バスコントローラ１０からスレーブデバイス２０へのアクセスが終わり、バスコントローラ１０の制御によりストップコンディションが発生すると、ストップコンディション検出回路３０９は、このストップコンディションを検出する。
【００３６】
スレーブアドレス比較回路３０４は、クロック信号ＳＣＬおよびデータ信号ＳＤＡを監視し、バスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。すなわち、スレーブアドレス比較回路３０４は、第１送信データに含まれるアドレスと、バス接続制御回路３０に設定されたアドレスとを比較する比較部として機能する。
【００３７】
このスレーブアドレス比較回路３０４は、スタートコンディション検出回路３０３がスタートコンディションを検出した後に、第１送信データのスレーブアドレスと、スレーブアドレス設定入力により設定されたアドレスとの比較を行なう。
データ信号Ｈｉｇｈ検出回路３０５は、バス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルになっているかを検知する。
【００３８】
このデータ信号Ｈｉｇｈ検出回路３０５は、スレーブアドレス比較回路３０４が第１送信データのスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとが一致したと判断した場合に、データ信号ＳＤＡがＨレベルであるかを判断する。すなわち、データ信号Ｈｉｇｈ検出回路３０５は、第２のバスにおけるデータ信号レベルを確認する確認部として機能する。
【００３９】
応答回路３０６は、データ信号Ｈｉｇｈ検出回路３０５がバス接続制御回路３０の後段のデータ信号ＳＤＡがＬレベルであると判断した場合に、バスコントローラ１０に対してＮＡＣＫ信号（否定応答通知）を出力（応答）する。
すなわち、応答回路３０６は、バス接続制御回路３０の後段のシリアルバス４０のデータ信号線４２におけるデータ信号レベルがＬｏｗレベルである場合に、前段のシリアルバス（第１のバス）４０に対して否定応答通知を発行する応答処理部として機能する。
【００４０】
バスコントローラ１０は、応答回路３０６からＮＡＣＫ信号を受信した場合に、バス接続制御回路３０の後段のスレーブデバイス２０へのアクセスを終了する。これにより、バスコントローラ１０がＬレベルに落ちたシリアルバス４０に接続されることを阻止することができ、バスコントローラ１０からスレーブデバイス２０を制御ができなくなることを防止することができる。
【００４１】
また、応答回路３０６は、データ信号Ｈｉｇｈ検出回路３０５がバス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルであると判断した場合に、バスコントローラ１０に対してＡＣＫ信号を出力（応答）する。
スタートコンディション発生回路３０７は、バス接続制御回路３０の後段のスレーブデバイス２０側にスタートコンディションを発生させる。このスタートコンディション検出回路３０３は、以下の条件（１）〜（３）が満たされた場合に、後述するバス接続ＯＮ／ＯＦＦ回路３０８がバス接続制御回路３０の前段のシリアルバス（第１のバス）４０と後段のシリアルバス（第２のバス）４０とを接続する前に、バス接続制御回路３０の後段のスレーブデバイス２０側にスタートコンディションを発生させる。
【００４２】
条件（１）：スレーブアドレス比較回路３０４が第１送信データのスレーブアドレスがスレーブアドレス設定入力によりバス接続制御回路３０に設定されたアドレスと一致していると判断した。
条件（２）：データ信号Ｈｉｇｈ検出回路３０５がバス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルであることを検知した。
【００４３】
条件（３）：応答回路３０６がバスコントローラ１０側にＡＣＫ信号を応答した。
これにより、バス接続制御回路３０の後段のスレーブデバイス２０は、バスコントローラ１０からＩ２Ｃバスアクセスが開始されることを知ることができる。
すなわち、スタートコンディション発生回路３０７は、バス接続ＯＮ／ＯＦＦ回路３０８がバス接続制御回路３０の前段のシリアルバス（第１のバス）４０と後段のシリアルバス（第２のバス）４０とを接続する前に、バス接続制御回路３０の後段のスレーブデバイス２０側にスタートコンディションを発行する通知発行部として機能する。
【００４４】
スイッチ（Ｓ／Ｗ）３１０は、バス接続制御回路３０の前段のクロック信号線４１と後段のクロック信号線４１とを、接続した状態と切断した状態とで任意に切り替える。
スイッチ（Ｓ／Ｗ）３１１は、バス接続制御回路３０の前段のデータ信号線４２と後段のデータ信号線４２とを、接続した状態と切断した状態とで任意に切り替える。これらのスイッチ３１０，３１１は、後述するバス接続ＯＮ／ＯＦＦ回路３０８による制御に従って、信号線４１，４２の接続／切断をそれぞれ切り替える。
【００４５】
バス接続ＯＮ／ＯＦＦ回路３０８は、スイッチ３１０を制御して、バス接続制御回路３０の前段のクロック信号線４１と後段のクロック信号線４１との接続および切断を切り替える。また、バス接続ＯＮ／ＯＦＦ回路３０８は、スイッチ３１１を制御して、バス接続制御回路３０の前段のデータ信号線４２と後段のデータ信号線４２との接続および切断を切り替える。
【００４６】
すなわち、バス接続ＯＮ／ＯＦＦ回路３０８は、バス接続制御回路３０の前段のシリアルバス（第１のバス）４０と後段のシリアルバス（第２のバス）４０との接続および切断を制御する接続制御部として機能する。
バス接続ＯＮ／ＯＦＦ回路３０８は、スタートコンディション発生回路３０７がバス接続制御回路３０の後段のスレーブデバイス２０側にスタートコンディションを発生させた後に、バス接続制御回路３０の前段と後段とのクロック信号線４１およびデータ信号線４２をそれぞれ接続させる。
【００４７】
また、バス接続ＯＮ／ＯＦＦ回路３０８は、ストップコンディション検出回路３０９がストップコンディションの発生を検知すると、バス接続制御回路３０における前段と後段の各クロック信号線４１およびデータ信号線４２を、それぞれ接続断とする。
図４は実施形態の一例としてのバスシステム１の接続構成例を示す図である。
この図４に例示する情報処理装置５０は、サーバコンピュータとして用いられ、複数（図４に示す例では２つ）の監視制御ユニット８０−１，８０−２と、バックプレーン（Back Plane）７０と、複数（図４に示す例では３つ）のＩＯ（Input Output）ユニット６０−１〜６０−３とを備える。
【００４８】
なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
この図４に示す情報処理装置５０においては、複数の監視制御ユニット８０−１，８０−２を備えることで、負荷分散と冗長性の確保が実現されている。監視制御ユニット８０−１には、ＣＰＵ（Central Processing Unit）８１およびバスコントローラ１０ａが、監視制御ユニット８０−２には、ＣＰＵ８１およびバスコントローラ１０ｂが、それぞれ備えられている。
【００４９】
バックプレーン７０は、監視制御ユニット８０−１，８０−２のそれぞれに対して、ＩＯユニット６０−１〜６０−３のそれぞれを通信可能に接続する。
ＩＯユニット６０−１〜６０−３は互いに同様の構成を有する。すなわち、図４に示す情報処理装置５０は、複数の同様の構成を有するＩＯユニット６０が１つの装置に実装された構成例を示す。このように、各ＩＯユニット６０−１〜６０−３の構成を共通化することで装置の製造コストや管理コストを低減することができる。
【００５０】
なお、ＩＯユニット６０−１はシリアルバス４０ａを備え、このシリアルバス４０ａには符号１Ａ，１Ｂ，１Ｃ，１Ｄで表されるスレーブデバイス２０が接続されている。また、ＩＯユニット６０−２はシリアルバス４０ｂを備え、このシリアルバス４０ｂには符号２Ａ，２Ｂ，２Ｃ，２Ｄで表されるスレーブデバイス２０が接続されている。さらに、ＩＯユニット６０−３はシリアルバス４０ｃを備え、このシリアルバス４０ｃには符号３Ａ，３Ｂ，３Ｃ，３Ｄで表されるスレーブデバイス２０が接続されている。
【００５１】
なお、ＩＯユニット６０−１に備えられたバス接続制御回路３０をバス接続制御回路＃１という場合がある。同様に、ＩＯユニット６０−２に備えられたバス接続制御回路３０をバス接続制御回路＃２といい、ＩＯユニット６０−３に備えられたバス接続制御回路３０をバス接続制御回路＃３という場合がある。
この図４に例示する情報処理装置５０においては、バスコントローラ１０ａ，１０ｂが直接つながるＩ２Ｃバスに、バス接続制御回路＃１，バス接続制御回路＃２およびバス制御回路＃３がパラレルに接続されている。
【００５２】
ＩＯユニット６０−１〜６０−３に搭載されるスレーブデバイス２０は、例えば、電圧モニタ，温度センサ，ログ格納ＥＥＰＲＯＭ等である。
この図４に例示する情報処理装置５０において、例えば、バスコントローラ１０がスレーブデバイス１Ａにデータをライト（WRITE）する場合は、バスコントローラ１０は、以下の順序（１）〜（５）に従ってデータ送信を行なう。
【００５３】
（１）START CONDITION
（２）第１送信データ：バス接続制御回路＃１のスレーブアドレス＋WRITE
（３）第２送信データ：スレーブデバイス１Ａのスレーブアドレス＋WRITE
（４）第３送信データ：スレーブデバイス１Ａへの書き込みデータ
（５）STOP CONDITION
また、例えば、バスコントローラ１０がスレーブデバイス２ＡにデータをWRITEする場合は、バスコントローラ１０は、以下の順序（１）〜（５）に従ってデータ送信を行なう。
【００５４】
（１）START CONDITION
（２）第１送信データ：バス接続制御回路＃２のスレーブアドレス＋WRITE
（３）第２送信データ：スレーブデバイス２Ａのスレーブアドレス＋WRITE
（４）第３送信データ：スレーブデバイス２Ａへの書き込みデータ
（５）STOP CONDITION
また、例えば、バスコントローラ１０がスレーブデバイス３ＡにデータをWRITEする場合は、バスコントローラ１０は、以下の順序（１）〜（５）に従ってデータ送信を行なう。
【００５５】
（１）START CONDITION
（２）第１送信データ：バス接続制御回路＃３のスレーブアドレス＋WRITE
（３）第２送信データ：スレーブデバイス３Ａのスレーブアドレス＋WRITE
（４）第３送信データ：スレーブデバイス３Ａへの書き込みデータ
（５）STOP CONDITION
なお、一のバスコントローラ１０（例えば、バスコントローラ１０ａ）がシリアルバス４０を使用しているSTART CONDITIONからSTOP CONDITIONの間は、他のバスコントローラ１０（例えば、コントローラ１０ｂ）はシリアルバス４０を使用できない。このため、情報処理装置５０において、マルチマスタ構成およびマルチタスクに起因する誤アクセスは発生しない。
【００５６】
図５は実施形態の一例としてのバスシステム１の他の接続構成例を示す図である。
この図５に例示する情報処理装置５０′も、サーバコンピュータとして用いられ、複数（図５に示す例では２つ）の監視制御ユニット８０−１，８０−２と、バックプレーン７０と、システムユニット６０−１１，ＩＯユニット６０−１２および子ＩＯユニット６０−１３を備える。
【００５７】
なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
この図５に示す情報処理装置５０′においても、複数の監視制御ユニット８０−１，８０−２を備えることで、負荷分散と冗長性の確保が実現されている。
バックプレーン７０は、監視制御ユニット８０−１，８０−２のそれぞれに対して、ＩＯユニット６０−１１，６０−１２のそれぞれを通信可能に接続する。
【００５８】
なお、システムユニット６０−１１はシリアルバス４０ｄを備え、このシリアルバス４０ｄには符号１Ａ，１Ｂ，１Ｃ，１Ｄで表されるスレーブデバイス２０が接続されている。また、ＩＯユニット６０−１２はシリアルバス４０ｅを備え、このシリアルバス４０ｅには符号２Ａ，２Ｂ，２Ｃ，２Ｄで表されるスレーブデバイス２０が接続されている。さらに、子ＩＯユニット６０−１３はシリアルバス４０ｆを備え、このシリアルバス４０ｆには符号３Ａ，３Ｂで表されるスレーブデバイス２０が接続されている。
【００５９】
なお、ＩＯユニット６０−１２に備えられたバス接続制御回路３０をバス接続制御回路＃１１という場合がある。同様に、子ＩＯユニット６０−１３に備えられたバス接続制御回路３０をバス接続制御回路＃１２という場合がある。
なお、システムユニット６０−１１にはバス接続制御回路３０は備えられていない。
サーバなどの情報処理装置において、ＩＯユニットにドータカードのような子ＩＯユニットが実装される構成が知られている。
【００６０】
この図５に示す情報処理装置５０′においては、子ＩＯユニット６−１３がＩＯユニット６−１２の子ＩＯユニット（ドータカード）として構成されている。
これにより、バスコントローラ１０ａ，１０ｂが直接つながるシリアルバス４０ｄにバス接続制御回路＃１１がつながり、バス接続制御回路＃１１の後段のシリアルバス４０ｅにバス接続制御回路＃１２がつながっている。すなわち、バス接続制御回路＃１１とバス接続制御回路＃１２とがシリアルにつながった接続構成を有している。
【００６１】
システムユニット６０−１１，ＩＯユニット６０−１２および子ＩＯユニット６０−１３に搭載される各スレーブデバイス２０は、例えば、電圧モニタ，温度センサ，ログ格納ＥＥＰＲＯＭ等である。
この図５に例示する情報処理装置５０′において  例えば、バスコントローラ１０がスレーブデバイス２Ａにデータをライト（WRITE）する場合は、バスコントローラ１０は、以下の順序（１）〜（５）に従ってデータ送信を行なう。
【００６２】
（１）START CONDITION
（２）第１送信データ：バス接続制御回路＃１１のスレーブアドレス＋WRITE  
（３）第２送信データ：スレーブデバイス２Ａのスレーブアドレス＋WRITE
（４）第３送信データ：スレーブデバイス２Ａへの書き込みデータ
（５）STOP CONDITION
また、例えば、バスコントローラ１０がスレーブデバイス３ＡにデータをWRITEする場合は、バスコントローラ１０は、以下の順序（１）〜（６）に従ってデータ送信を行なう。
【００６３】
（１）START CONDITION
（２）第１送信データ（その１）：バス接続制御回路＃１１のスレーブアドレス＋WRITE
（３）第１送信データ（その２）：バス接続制御回路＃１２のスレーブアドレス＋WRITE
（４）第２送信データ：スレーブデバイス３Ａのスレーブアドレス＋WRITE
（５）第３送信データ：スレーブデバイス３Ａへの書き込みデータ
（６）STOP CONDITION
なお、この情報処理装置５０′においても、一のバスコントローラ１０（例えば、バスコントローラ１０ａ）がシリアルバス４０を使用しているSTART CONDITIONからSTOP CONDITIONの間は、他のバスコントローラ１０（例えば、コントローラ１０ｂ）はシリアルバス４０を使用できない。このため、情報処理装置５０′においても、マルチマスタ構成およびマルチタスクに起因する誤アクセスは発生しない。
【００６４】
（Ｂ）動作
上述の如く構成された実施形態の一例としてのバスシステム１のバス接続制御回路３０によるバス接続制御を、図３（ａ）〜（ｄ）に示すタイミングチャートを用いて説明する。
スタートコンディション検出回路３０３は、クロック信号ＳＣＬがＨレベルの状態時に、データ信号ＳＤＡがＨレベルからＬ（Ｌｏｗ）レベルに落ちる状態を、Ｉ２Ｃバスのスタートコンディションとして検出する（時刻Ｔ１参照）。
【００６５】
スレーブアドレス比較回路３０４は、バスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスと、スレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。
また、データ信号Ｈｉｇｈ検出回路３０５が、バス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルになっているかを検知する。
【００６６】
スレーブアドレス比較回路３０４が、バスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスを取得する。
なお、この図３（ａ）〜（ｄ）においては、バス接続制御回路３０にスレーブアドレスとして“55（１６進数）”が設定されている例を示す。
図３（ａ），（ｂ）に示す例においては、第１送信データの受信に際して、クロック信号ＳＣＬにおいて、“６ｂｉｔ”〜“０ｂｉｔ”で表される各クロックの立ち上がりのタイミングで、データ信号ＳＤＡからスレーブアドレス値“1010101”が読み取られる。また、クロック信号ＳＣＬにおいて、“Ｒ／Ｗ”で表されるタイミングで、データ信号ＳＤＡからWriteを表す“0”が読み取られる。
【００６７】
スレーブアドレス比較回路３０４は、このようにバスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスと、スレーブアドレス設定入力により設定されたアドレスとを比較して一致するかを判断する。
そして、これらのアドレスが一致する場合において、データ信号Ｈｉｇｈ検出回路３０５が、バス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルになっていることを検知すると、応答回路３０６は、バスコントローラ１０に対してＡＣＫ信号を応答する。
【００６８】
このＡＣＫ信号の応答は、図３（ａ）に示すクロック信号ＳＣＬにおいて、“ａｃｋ”で表されるタイミングで行なわれる（時刻Ｔ２参照）。
その後、バス接続制御回路３０の後段においてスタートコンディションが検出され（時刻Ｔ３参照）、バス接続制御回路３０の前段と後段との間でクロック信号線４１およびバス接続制御回路３０がそれぞれ接続される（時刻Ｔ４参照）。
【００６９】
バスコントローラ１０とスレーブデバイス２０との間でデータの送受信等が行なわれる。
その後、ストップコンディション検出回路３０９がストップコンディションの発生を検知する。すなわち、クロック信号ＳＣＬおよびデータ信号ＳＤＡがそれぞれＨレベルとなると、バス接続ＯＮ／ＯＦＦ回路３０８が、バス接続制御回路３０における前段と後段の各クロック信号線４１およびデータ信号線４２を、それぞれ接続断とする（時刻Ｔ５参照）。これにより、バス接続制御回路３０の前段と後段との間でバス接続断の状態となる。
【００７０】
そして、本バスシステム１においては、時刻Ｔ１におけるスタートコンディションの検出から時刻Ｔ５のストップコンディションの検出までが１回のバスサイクルで行なわれる。
次に、実施形態の一例としてのバスシステム１のバス接続制御回路３０による処理を、図６に示すフローチャート（ステップＳ１〜Ｓ９）に従って説明する。
【００７１】
アドレス入力回路３０１は、本バスコントローラ１０（バス接続制御回路３０，情報処理装置５０，５０′）の電源投入時に、バス接続制御回路３０の外部入力ピンによって設定されたスレーブアドレスの値（スレーブアドレス設定入力値）を取り込む（ステップＳ１）。
ステップＳ２において、ＢＦＴ検出回路３０２は、クロック信号線４１およびデータ信号線４２の両方の電圧レベルが一定時間（Ｔｂｕｆ）、Ｈレベル状態となったかを判断する。
【００７２】
クロック信号線４１およびデータ信号線４２の両方の電圧レベルが一定時間（Ｔｂｕｆ）、Ｈレベル状態となっていない場合には（ステップＳ２のＮｏルート参照）、ステップＳ２を繰り返し実行する。
ＢＦＴ検出回路３０２が、クロック信号線４１およびデータ信号線４２の両方の電圧レベルが一定時間（Ｔｂｕｆ）、Ｈレベル状態となったことを検知すると（ステップＳ２のＹｅｓルート参照）、ステップＳ３に移行する。
【００７３】
ステップＳ３において、スタートコンディション検出回路３０３は、Ｉ２Ｃバスのスタートコンディションを検出したかを確認する。スタートコンディションが検出されない場合には（ステップＳ３のＮｏルート参照）、ステップＳ３を繰り返し実行する。
スタートコンディション検出回路３０３がスタートコンディションを検出すると（ステップＳ３のＹｅｓルート参照）、ステップＳ４に移行する。
【００７４】
ステップＳ４において、スレーブアドレス比較回路３０４は、バスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスとアドレス入力回路３０１によって取り込まれたスレーブアドレスとを比較し、これらのアドレス値が同じであるかを判断する。
バスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスとアドレス入力回路３０１によって取り込まれたスレーブアドレスとが不一致である場合には（ステップＳ４のＮｏルート参照）、ステップＳ２に戻る。
【００７５】
バスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスとアドレス入力回路３０１によって取り込まれたスレーブアドレスとが一致する場合には（ステップＳ４のＹｅｓルート参照）、ステップＳ５に移行する。
ステップＳ５において、データ信号Ｈｉｇｈ検出回路３０５が、バス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルであるかを確認する。バス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルでない場合、すなわち、Ｌレベルである場合には（ステップＳ５のＮｏルート参照）、ステップＳ６に移行する。
【００７６】
ステップＳ６において、応答回路３０６は、バスコントローラ１０に対してＮＡＣＫ信号を応答し、ステップＳ２に戻る。
また、データ信号Ｈｉｇｈ検出回路３０５がバス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルであると判断した場合に（ステップＳ５のＹｅｓルート参照）、ステップＳ７に移行する。
【００７７】
ステップＳ７において、応答回路３０６は、バスコントローラ１０に対してＡＣＫ信号を応答する。また、スタートコンディション発生回路３０７は、バス接続制御回路３０の後段のスレーブデバイス２０側にスタートコンディションを発生させる。
さらに、バス接続ＯＮ／ＯＦＦ回路３０８が、バス接続制御回路３０の前段のシリアルバス４０と後段のシリアルバス４０とを接続させる。
【００７８】
これ以降、バスコントローラ１０と、バス接続制御回路３０の下流側のスレーブデバイス２０との間で通信が可能となる。すなわち、バスコントローラ１０から送信される第２送信データに含まれるアクセス先のスレーブデバイス２０に対して、第３送信データに含まれる処理対象データが送信され、スレーブデバイス２０において処理が行なわれる。
その後、ステップＳ８において、ストップコンディション検出回路３０９は、Ｉ２Ｃバスのストップコンディションを検出したかを判断する。
【００７９】
ストップコンディションが検出されない場合には（ステップＳ８のＮｏルート参照）、ストップコンディション検出回路３０９は、ストップコンディションが検出されるまでステップＳ８を繰り返し行なう。
ストップコンディション検出回路３０９がストップコンディションを検出すると（ステップＳ８のＹｅｓルート参照）、ステップＳ９に移行する。
【００８０】
ステップＳ９において、バス接続ＯＮ／ＯＦＦ回路３０８は、バス接続制御回路３０における前段と後段の各クロック信号線４１およびデータ信号線４２を、それぞれ接続断とすることで、シリアルバス４０ｂを切断する。その後、ステップＳ２に戻る。
（Ｃ）効果
バスコントローラ１０は、バス接続制御回路３０を介してシリアルバス４０ｂに接続されたスレーブデバイス２０にアクセスする場合に、第１送信データ，第２送信データおよび第３送信データを送信する。
【００８１】
第１送信データには、バス接続制御回路３０に設定されたスレーブアドレスが含まれ、バス接続制御回路３０においては、スレーブアドレス比較回路３０４が、スコントローラ１０から送信される第１送信データに含まれるスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。
【００８２】
これらのアドレスが一致した場合に、スタートコンディション発生回路３０７から下流側にスタートコンディションの発行が行なわれ、バス接続ＯＮ／ＯＦＦ回路３０８によるバス接続が行なわれ、バス接続制御回路３０の前段と後段とでバス通信が可能となる。
そして、第２送信データおよび第３送信データを用いてバスコントローラ１０からスレーブデバイス２０に対する処理が行なわれる。
【００８３】
すなわち、バスコントローラ１０から第１送信データ，第２送信データおよび第３送信データを送信するだけで、１回のバスサイクルでスレーブデバイス２０にアクセス出来る。
従って、バスマルチプレクサを用いる従来手法のように、バスコントローラからバスマルチプレクサのチャネル選択（１回目のアクセス）とスレーブデバイスへのアクセス（２回目のアクセス）との２段階のアクセスを行なう必要がない。
【００８４】
実施形態の一例としてのバスシステム１においては、バスコントローラ１０に、バス接続制御回路３０を介してスレーブデバイス２０が接続される。
そして、バス接続制御回路３０において、バス接続ＯＮ／ＯＦＦ回路３０８が当該バス接続制御回路３０の前段のシリアルバス４０と後段のシリアルバス４０とを接続する前に、スタートコンディション発生回路３０７が、バス接続制御回路３０の後段のシリアルバス４０にスタートコンディションを発生させる。
【００８５】
これにより、スレーブデバイス２０に対してストップコンディションが発行されずに１回のバスサイクルでバスコントローラ１０がスレーブデバイス２０にアクセス出来る。
バスコントローラ１０から１回のバスサイクルでスレーブデバイス２０にアクセス出来ることで、バスコントローラ１０が複数あるマルチマスタの構成で、バスマルチプレクサのチャネル制御に起因するスレーブデバイス２０への誤アクセスの発生を阻止することができる。
【００８６】
一のバスコントローラ１０（例えば、バスコントローラ１０ａ）がシリアルバス４０を使用しているSTART CONDITIONからSTOP CONDITIONの間、すなわち、１回のバスサイクルの間は、他のバスコントローラ１０（例えば、コントローラ１０ｂ）はシリアルバス４０を使用できない。このため、マルチマスタの構成において、一のバスコントローラ１０がスレーブデバイス２０にアクセスしようとしている途中での、他のバスコントローラ１０によるバスアクセスは阻止され、誤アクセスの発生を防止することができる。
【００８７】
また、バスコントローラ１０が１つのシングルマスタの場合でも、ファームがマルチタスクで動いている場合に、マルチマスタの場合と同様に、複数のタスク間でのチャネル制御に起因するスレーブデバイス２０への誤アクセスの発生を阻止することができる。
すなわち、一のタスクがスレーブデバイス２０にアクセスしようとしている途中での、他のタスクによるバスアクセスは阻止され、誤アクセスの発生を防止することができる。
【００８８】
スレーブアドレス比較回路３０４が、バスコントローラ１０から送信される第１送信データに含まれるスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。これにより、バスコントローラ１０から送信されたデータが、自身の配下のスレーブデバイス２０に対するものであるかを判断することができる。
【００８９】
また、バス接続制御回路３０において、バス接続ＯＮ／ＯＦＦ回路３０８が当該バス接続制御回路３０の前段のシリアルバス４０と後段のシリアルバス４０とを接続する前に、データ信号Ｈｉｇｈ検出回路３０５が、バス接続制御回路３０の後段のデータ信号ＳＤＡがＨレベルになっているかを検知する。
そして、バス接続制御回路３０の後段のデータ信号ＳＤＡがＬレベルの場合に、応答回路３０６がバスコントローラ１０側に対してＮＡＣＫ信号を応答する。バスコントローラ１０は、応答回路３０６からＮＡＣＫ信号を受信した場合に、バス接続制御回路３０の後段のスレーブデバイス２０へのアクセスを終了する。これにより、バスコントローラ１０がＬレベルに落ちたシリアルバス４０に接続されることを阻止することができ、バスコントローラ１０からスレーブデバイス２０を制御ができなくなることを防止することができる。
【００９０】
（Ｄ）その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、バスシステム１がＩ２Ｃバスである例について示したが、これに限定されるものではなく、他の規格のバスシステムであってもよい。
【００９１】
また、図４に示した情報処理装置５０において、ＩＯユニット６０−１〜６０−３が同様の構成を有し、各ＩＯユニット６０−１〜６０−３のそれぞれにバス接続制御回路３０が備えられているが、これに限定されるものではない。例えば、ＩＯユニット６０−１のバス接続制御回路３０を省略してもよい。
また、上述したバス接続制御回路３０における、アドレス入力回路３０１，ＢＦＴ検出回路３０２，スタートコンディション検出回路３０３，スレーブアドレス比較回路３０４，データ信号Ｈｉｇｈ検出回路３０５，応答回路３０６，スタートコンディション発生回路３０７，バス接続ＯＮ／ＯＦＦ回路３０８およびストップコンディション検出回路３０９としての機能の少なくとも一部を、プログラムによって実現してもよい。
【００９２】
なお、これらのアドレス入力回路３０１，ＢＦＴ検出回路３０２，スタートコンディション検出回路３０３，スレーブアドレス比較回路３０４，データ信号Ｈｉｇｈ検出回路３０５，応答回路３０６，スタートコンディション発生回路３０７，バス接続ＯＮ／ＯＦＦ回路３０８およびストップコンディション検出回路３０９としての機能を実現するためのプログラム（中継制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００９３】
アドレス入力回路３０１，ＢＦＴ検出回路３０２，スタートコンディション検出回路３０３，スレーブアドレス比較回路３０４，データ信号Ｈｉｇｈ検出回路３０５，応答回路３０６，スタートコンディション発生回路３０７，バス接続ＯＮ／ＯＦＦ回路３０８およびストップコンディション検出回路３０９としての機能を実現する際には、内部記憶装置（例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory））に格納されたプログラムがコンピュータのマイクロプロセッサ（例えば、ＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００９４】
そして、プロセッサは、マルチプロセッサであってもよい。プロセッサ１１は、例えばＣＰＵ，ＭＰＵ（Micro Processing Unit），ＤＳＰ（Digital Signal Processor），ＡＳＩＣ（Application Specific Integrated Circuit），ＰＬＤ（Programmable Logic Device），ＦＰＧＡ（Field Programmable Gate Array）のいずれか一つであってもよい
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【００９５】
（Ｅ）付記
（付記１）
バスコントローラに接続される第１のバスとデバイスに接続される第２のバスとを中継する中継装置であって、
前記第１のバスと前記第２のバスとの接続および切断を制御する接続制御部と、
前記接続制御部が前記第１のバスと前記第２のバスとを接続する前に、前記第２のバスに対して、バスアクセス開始通知を発行する通知発行部と
を備えることを特徴とする、中継装置。
【００９６】
（付記２）
前記バスコントローラから送信される、当該中継装置のアドレスを含む第１送信データが入力され、
前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較する比較部を備え、
前記比較部による比較の結果、前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記接続制御部が、前記第１のバスと前記第２のバスとを接続させる
ことを特徴とする、付記１記載の中継装置。
【００９７】
（付記３）
前記第２のバスにおけるデータ信号レベルを確認する確認部と、
前記データ信号レベルがＬｏｗレベルである場合に、前記第１のバスに対して否定応答通知を発行する応答処理部と
を備えることを特徴とする、付記１または２記載の中継装置。
【００９８】
（付記４）
バスコントローラに接続される第１のバスとデバイスに接続される第２のバスとを中継する中継装置において、
前記第２のバスに対して、バスアクセス開始通知を発行し、
前記第１のバスと前記第２のバスとを接続する
ことを特徴とする、中継方法。
【００９９】
（付記５）
前記バスコントローラから送信される、当該中継装置のアドレスを含む第１送信データが入力され、
前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較し、
前記比較の結果、前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記第１のバスと前記第２のバスとを接続させる
ことを特徴とする、付記４記載の中継方法。
【０１００】
（付記６）
前記第２のバスにおけるデータ信号レベルを確認し、
前記データ信号レベルがＬｏｗレベルである場合に、前記第１のバスに対して否定応答通知を発行する
ことを特徴とする、付記４または５記載の中継方法。
【０１０１】
（付記７）
バスコントローラに接続される第１のバスとデバイスに接続される第２のバスとを中継する中継機能をコンピュータに実行させるための中継制御プログラムであって、
前記第２のバスに対して、バスアクセス開始通知を発行し、
前記第１のバスと前記第２のバスとを接続する
処理を前記コンピュータに実行させることを特徴とする、中継制御プログラム。
【０１０２】
（付記８）
前記バスコントローラから送信される、当該中継装置のアドレスを含む第１送信データを受信し、
前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較し、
前記比較の結果、前記第１送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記第１のバスと前記第２のバスとを接続させる
処理を前記コンピュータに実行させることを特徴とする、付記７記載の中継制御プログラム。
【０１０３】
（付記９）
前記第２のバスにおけるデータ信号レベルを確認し、
前記データ信号レベルがＬｏｗレベルである場合に、前記第１のバスに対して否定応答通知を発行する
処理を前記コンピュータに実行させることを特徴とする、付記７または８記載の中継制御プログラム。
【符号の説明】
【０１０４】
１    バスシステム
１０ａ，１０ｂ，１０    バスコントローラ
２０    スレーブデバイス
３０    バス接続制御回路
３０１    アドレス入力回路
３０２    ＢＦＴ検出回路
３０３    スタートコンディション検出回路
３０４    スレーブアドレス比較回路
３０５    データ信号Ｈｉｇｈ検出回路
３０６    応答回路
３０７    スタートコンディション発生回路
３０８    バス接続ＯＮ／ＯＦＦ回路
３０９    ストップコンディション検出回路
３１０，３１１    スイッチ
３１    クロック発信器
４０ａ，４０ｂ，４０ｃ，４０ｄ，４０ｅ，４０ｆ，４０    シリアルバス
４１    クロック信号線
４２    データ信号線
６０−１，６０−２，６０−３，６−１１，６−１２，６−１３    情報処理装置
７０    バックプレーン
８０−１，８０−２    監視制御ユニット
８１    ＣＰＵ
【図１】
2017091048.tif 000003
【図２】
2017091048.tif 000004
【図３】
2017091048.tif 000005
【図４】
2017091048.tif 000006
【図５】
2017091048.tif 000007
【図６】
2017091048.tif 000008
【図７】
2017091048.tif 000009