(57)【要約】  バス（３２）に対するデバイス（２１）の接続制御を行なう接続制御装置（１０）であって、前記バス（３２）に含まれる複数の信号線（３２ａ，３２ｂ）の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部（１３）と、前記バス（３２）と前記デバイス（２１）との間に介装され前記複数の信号線（３２ａ，３２ｂ）の各々と前記デバイス（２１）との間の接続の切り替えを行なう切替部（４）に対して、前記判定部（１３）により前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線（３２ａ，３２ｂ）を前記デバイス（２１）に接続させるように切替制御を行なう切替制御部（１４）と、をそなえる。
2014155721.tif 000002
【特許請求の範囲】
【請求項１】
バスに対するデバイスの接続制御を行なう接続制御装置であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記判定部により前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえたことを特徴とする、接続制御装置。
【請求項２】
前記判定部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行なうことを特徴とする、請求項１記載の接続制御装置。
【請求項３】
所定期間の計時を行なうタイマー部をさらにそなえ、
前記判定部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、請求項２記載の接続制御装置。
【請求項４】
前記バスは、２線式シリアルバスであり、
前記判定部は、前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であるか否かの判定を行なうことを特徴とする、請求項２又は請求項３記載の接続制御装置。
【請求項５】
前記デバイスが前記切替部に接続されたことを検知する検知部をさらにそなえ、
前記判定部は、前記検知部により前記デバイスが前記切替部に接続されたことが検知された場合に、前記他のデバイスにより前記バスが使用されていない状態の検出を開始することを特徴とする、請求項２〜４のいずれか１項記載の接続制御装置。
【請求項６】
前記切替部は、前記複数の信号線について個別に前記デバイスとの間の接続の切り替えを行なう複数のスイッチをそなえ、
前記切替制御部は、前記判定部により検出された信号線に対応するスイッチに対して、前記切替制御を行なうことを特徴とする、請求項１〜５のいずれか１項記載の接続制御装置。
【請求項７】
前記判定部及び前記切替制御部のうちの少なくとも一方は、一以上の論理回路をそなえることを特徴とする、請求項１〜６のいずれか１項記載の接続制御装置。
【請求項８】
バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記バスに接続するデバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部と、
前記切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえることを特徴とする、情報処理装置。
【請求項９】
前記判定部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行なうことを特徴とする、請求項８記載の情報処理装置。
【請求項１０】
所定期間の計時を行なうタイマー部をさらにそなえ、
前記判定部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、請求項９記載の情報処理装置。
【請求項１１】
前記バスは、２線式シリアルバスであり、
前記判定部は、前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であるか否かの判定を行なうことを特徴とする、請求項９又は請求項１０記載の情報処理装置。
【請求項１２】
前記デバイスが前記切替部に接続されたことを検知する検知部をさらにそなえ、
前記判定部は、前記検知部により前記デバイスが前記切替部に接続されたことが検知された場合に、前記他のデバイスにより前記バスが使用されていない状態の検出を開始することを特徴とする、請求項９〜１１のいずれか１項記載の情報処理装置。
【請求項１３】
前記切替部は、前記複数の信号線について個別に前記デバイスとの間の接続の切り替えを行なう複数のスイッチをそなえ、
前記切替制御部は、前記判定部により検出された信号線に対応するスイッチに対して、前記切替制御を行なうことを特徴とする、請求項８〜１２のいずれか１項記載の情報処理装置。
【請求項１４】
前記判定部及び前記切替制御部のうちの少なくとも一方は、一以上の論理回路をそなえることを特徴とする、請求項８〜１３のいずれか１項記載の情報処理装置。
【請求項１５】
バスに対するデバイスの接続制御を行なう接続制御装置における接続制御方法であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定し、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう、
ことを特徴とする、接続制御方法。
【請求項１６】
前記判定する処理において、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行なうことを特徴とする、請求項１５記載の接続制御方法。
【請求項１７】
前記判定する処理において、前記複数の信号線の各々から入力される信号の電圧レベルが、所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、請求項１６記載の接続制御方法。
【請求項１８】
前記バスは、２線式シリアルバスであり、
前記判定する処理において、前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であるか否かの判定を行なうことを特徴とする、請求項１６又は請求項１７記載の接続制御方法。
【請求項１９】
前記デバイスが前記切替部に接続されたことを検知し、
前記判定する処理において、前記デバイスが前記切替部に接続されたことが検知された場合に、前記他のデバイスにより前記バスが使用されていない状態の検出を開始することを特徴とする、請求項１６〜１８のいずれか１項記載の接続制御方法。
【請求項２０】
前記切替部は、前記複数の信号線について個別に前記デバイスとの間の接続の切り替えを行なう複数のスイッチをそなえ、
前記切替制御を行なう処理において、前記判定する処理により検出された信号線に対応するスイッチに対して、前記切替制御を行なうことを特徴とする、請求項１５〜１９のいずれか１項記載の接続制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続制御装置、情報処理装置、及び接続制御方法に関する。
【背景技術】
【０００２】
サーバやパーソナルコンピュータ等の情報処理装置では、Ｉ２Ｃ（登録商標）バスに類する２線式シリアルバスが用いられることがある。２線式シリアルバスは、例えば比較的低速な周辺機器等のデバイスを接続するために用いられる。
２線式シリアルバスへデバイスを有するユニットを活線挿入する場合、ユニット内部の信号線のコンデンサ成分（浮遊容量）により、ごく短い時間（例えば数ｎｓ）ではあるが、バス線からユニットの端子側に電流が流れるという現象が発生することがある。【０００３】
図１４は、バス線へユニットを活線挿入したときのユニット内部の浮遊容量によるバス線への影響を説明する図である。図１４に示すように、ユニットは、内部回路に依存した浮遊容量を有する。バス線は、プルアップ抵抗により所定の電圧レベルに維持されるが、バス線にユニットが活線挿入されると、バス線からユニットの浮遊容量に対するチャージ電流ｉが流れる。このとき、バス線からユニットへの電流ｉの流出により瞬間的にバス線の電圧レベルが低下するため、２線式シリアルバスに接続された他のデバイスが誤動作する可能性がある。【０００４】
２線式シリアルバスへのユニットの追加による他のデバイスの誤動作を防ぐため、例えば以下の手法が知られている。
図１５及び図１６は、Ｉ２Ｃバスを有する情報処理装置１００及び１００′の構成例を示す図である。
はじめに、図１５に示す例を説明する。図１５に示すように、情報処理装置１００は、ＭＰＵ（Micro Processing Unit）１２０、Ｉ２Ｃバスコントローラ１３０、ＩＯ＿ＰＯＲＴ入力１１０、ＩＯ＿ＰＯＲＴ出力１１１、並びに、バススイッチ１４０ａ及び１４０ｂを備える。また、情報処理装置１００は、プルアップ抵抗１５０及び１６０、コネクタ１７０、電源供給部１８０、並びに、Ｉ２Ｃデバイス２１０−２及び２１０−３を備える。さらに、追加ユニット２００は、Ｉ２Ｃデバイス２１０−１、電源部２２０、及び、コネクタ２３０を備える。【０００５】
ＭＰＵ１２０は、Ｉ２Ｃデバイス２１０−１〜２１０−３（以下、Ｉ２Ｃデバイス２１０−１〜２１０−３を区別しない場合には、単にＩ２Ｃデバイス２１０という）の監視及び制御を行なうプロセッサである。ＭＰＵ１２０は、ローカルバス３１０を介してＩＯ＿ＰＯＲＴ入力１１０、ＩＯ＿ＰＯＲＴ出力１１１、及び、Ｉ２Ｃバスコントローラ１３０に接続される。【０００６】
ＩＯ＿ＰＯＲＴ入力１１０は、情報処理装置１００に追加ユニット２００が実装されたことを検出する。ここで、ＩＯ＿ＰＯＲＴ入力１１０は、プルアップ抵抗１６０により所定の電圧レベルに維持された実装信号線３４０を介して、コネクタ１７０に接続される。また、追加ユニット２００のコネクタ２３０には、ＧＮＤ接続（接地）された実装信号線４２０が接続される。コネクタ１７０がコネクタ２３０に接続されると、実装信号線３４０が実装信号線４２０を介してＧＮＤ接続する。このため、ＩＯ＿ＰＯＲＴ入力１１０は、実装信号線３４０の電圧が低下した場合に、情報処理装置１００に追加ユニット２００が実装されたことを検出する。【０００７】
Ｉ２Ｃバスコントローラ１３０は、プルアップ抵抗１５０により所定の電圧レベルに維持されたシリアルバス（Ｉ２Ｃバス）３２０を介してＩ２Ｃデバイス２１０と接続され、Ｉ２Ｃデバイス２１０との間でデータ信号及びクロック信号の通信制御を行なう。
ＢＵＳ−ＳＷ（バススイッチ）１４０ａ及び１４０ｂは、それぞれ、シリアルバス３２０に含まれるデータ信号線（ＳＤＡ）３２０ａ及びクロック信号線（ＳＣＬ）３２０ｂとコネクタ１７０との間に介装されるスイッチである。バススイッチ１４０ａ及び１４０ｂは、対応する信号線とコネクタ１７０及び２３０を介して接続された追加ユニット２００のＩ２Ｃデバイス２１０−１との間の接続を切り替える。なお、バススイッチ１４０ａ及び１４０ｂは、コネクタ１７０に追加ユニット２００が接続されるときにはいずれもディセーブル状態になり、シリアルバス３２０とＩ２Ｃデバイス２１０−１との間の接続を開放、つまり切り離された状態にする。【０００８】
ＩＯ＿ＰＯＲＴ出力１１１は、ＭＰＵ１２０からの制御に応じて、制御線３３０ａ及び３３０ｂを介してバススイッチ１４０ａ及び１４０ｂにおける接続の切り替えを行なう。
なお、電源供給部１８０は、コネクタ１７０に追加ユニット２００のコネクタ２３０が接続されると、電源部２２０に対して電力を供給する。
上述の如く構成された情報処理装置１００では、追加ユニット２００が実装されると、ＩＯ＿ＰＯＲＴ１１０は、実装信号線３４０の実装信号がＨｉｇｈからＬｏｗに変化したことを通じて追加ユニット２００の接続を検知する（図１５の矢印（１）参照）。【０００９】
ＭＰＵ１２０は、ＩＯ＿ＰＯＲＴ入力１１０を参照して追加ユニット２００が接続されたことを認識すると、Ｉ２Ｃバスコントローラ１３０に対して、シリアルバス３２０のバスアクセスの動作を一旦停止させる（図１５の矢印（２）参照）。
また、ＭＰＵ１２０は、シリアルバス３２０が停止している間に、ＩＯ＿ＰＯＲＴ出力１１１を制御してバススイッチ１４０ａ及び１４０ｂをイネーブルに切り替える（図１５の矢印（３）参照）。これにより、バススイッチ１４０ａ及び１４０ｂが閉じて、ＳＤＡ３２０ａと追加ユニット２００のＳＤＡ４１０ａとが導通するとともに、ＳＣＬ３２０ｂと追加ユニット２００のＳＣＬ４１０ｂとが導通する。【００１０】
バススイッチ１４０ａ及び１４０ｂがイネーブルに切り替えられると、Ｉ２Ｃバスコントローラ１３０は、バスアクセスの動作を再開し、追加ユニット２００のＩ２Ｃデバイス２１０−１へのバスアクセスを実施する（図１５の矢印（４）参照）。
以上の動作により、ＭＰＵ１２０は、シリアルバス３２０のバスアクセスを一旦停止させて、シリアルバス３２０へ追加ユニット２００を接続させる。これにより、追加ユニット２００の信号線のコンデンサ成分（浮遊容量）による、バス線への追加ユニット２００の接触時のノイズ（電圧低下）の影響を抑えることができる。つまり、追加ユニット２００をコネクタ１７０に接続した際に発生する電圧低下のノイズは、ディセーブル状態のバススイッチ１４０ａ及び１４０ｂにより分離されるため、シリアルバス３２０には影響を及ぼさない。【００１１】
次に、図１６に示す例を説明する。図１６に示すように、情報処理装置１００′は、図１５に示す情報処理装置１００と同様の構成を備えるが、ＩＯ＿ＰＯＲＴ出力１１１、並びに、バススイッチ１４０ａ及び１４０ｂの代わりに、Ｉ２Ｃバスマルチプレクサ１１２を備える点が異なる。
Ｉ２Ｃバスマルチプレクサ１１２は、シリアルバス３２０とＩ２Ｃデバイス２１０及びコネクタ１７０との間に介装されるＩ２Ｃデバイスである。なお、Ｉ２Ｃバスマルチプレクサ１１２としては、ＮＸＰ製ＰＣＡ９５４２等が挙げられる。【００１２】
Ｉ２Ｃバスマルチプレクサ１１２は、情報処理装置１００′内部のＩ２Ｃデバイス２１０−２及び２１０−３用のチャネル１と、追加ユニット２００のＩ２Ｃデバイス２１０−１用のチャネル２との間で、シリアルバス３２０のチャネル切替を行なう。具体的には、Ｉ２Ｃバスマルチプレクサ１１２は、バスがビジー状態でないタイミングでチャネル切替を行なう。なお、Ｉ２Ｃバスマルチプレクサ１１２は、内部にレジスタを備え、Ｉ２Ｃコントローラ１３０を介してＭＰＵ１２０によりチャネル切替を示す値がレジスタに書き込まれると、バスがビジー状態でないタイミングの検出を開始する。【００１３】
上述の如く構成された情報処理装置１００′では、追加ユニット２００が実装されると、ＩＯ＿ＰＯＲＴ１１０は、情報処理装置１００と同様に追加ユニット２００の接続を検知する（図１６の矢印（１）参照）。
ＭＰＵ１２０は、追加ユニット２００の接続の検出後、追加ユニット２００へのアクセに先立ち、シリアルバス３２０を介して、Ｉ２Ｃバスマルチプレクサ１１２の内部レジスタに対してチャネル切替制御を行なう（図１６の矢印（２′）参照）。【００１４】
Ｉ２Ｃバスマルチプレクサ１１２は、内部レジスタの値に基づき、バスがビジー状態でないタイミングでチャネル１からチャネル２への切り替えを行なう（図１６の矢印（３′）参照）。
Ｉ２Ｃバスマルチプレクサ１１２によりチャネルが切り替えられると、Ｉ２Ｃバスコントローラ１３０は、追加ユニット２００のＩ２Ｃデバイス２１０−１へのバスアクセスを実施する（図１６の矢印（４）参照）。【００１５】
以上の動作により、Ｉ２Ｃバスマルチプレクサ１１２は、バスがビジー状態でないときに、チャネルを切り替えてシリアルバス３２０へ追加ユニット２００を接続させる。これにより、図１５に示す例と同様に、追加ユニット２００の信号線のコンデンサ成分（浮遊容量）による、バス線への追加ユニット２００の接触時のノイズ（電圧低下）の影響を抑えることができる。つまり、追加ユニット２００をコネクタ１７０に接続した際に発生する電圧低下のノイズは、Ｉ２Ｃバスマルチプレクサ１１２により分離されるため、シリアルバス３２０には影響を及ぼさない。【００１６】
なお、関連する技術として、システムのオンライン稼働中でのモジュールの交換手法が知られている（例えば、特許文献１参照）。この技術では、モジュールの挿入／抜去のときに発生するノイズをバスに接続された他のモジュールが受信しても誤動作しないタイミングで、バススイッチがモジュールの接続／切り離しを行なう。
ここで、ノイズを他のモジュールが受信しても誤動作しないタイミングとしては、図１７に示す例が挙げられる。図１７は、バスへのモジュールの接続又は切り離しのタイミングを説明する図である。例えばパラレルバスでは、他のモジュールは、バスクロックの立ち上がりのタイミングでデータを受け取る。換言すれば、他のモジュールは、追加モジュールをバスへ接続した際にノイズが発生したとしても、バスクロックに同期してデータを受け取るときにこのノイズが消滅していれば、ノイズの影響を受けずにデータ（図１７のデータ“Ｂ”）を受け取ることができる。【００１７】
また、関連する他の技術として、バスとユニットとの間に介装されたスイッチにより、バス又はユニットの状態に応じて、バス及びユニットの接続状態を切り替える技術が知られている（例えば、特許文献２及び３参照）。
さらに、コンピュータ本体のバスの電位レベルを制御し、拡張ユニット側のバスと等しい電位レベルにすることで、バスサイクルが実行状態のときに、拡張ユニットとのバス接続を可能とする技術が知られている（例えば、特許文献４参照）。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開平９−４４２８０号公報
【特許文献２】特開２００８−１９７７５２号公報
【特許文献３】特表２００４−５２８６２７号公報
【特許文献４】特開平９−２３７１４０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
図１５に示す情報処理装置１００では、ＭＰＵ１２０は、Ｉ２Ｃバスコントローラ１３０に対するソフトウェアによる制御により、Ｉ２Ｃバス３２０の動作を停止させる。本来、Ｉ２Ｃバス３２０のような共有バスは、常にデバイスへアクセスできる状態であることが望ましいが、情報処理装置１００においては、共有バスへの追加ユニット２００の接続の際に、他のデバイス２１０に対して継続アクセスができなくなる。【００２０】
また、図１６に示す情報処理装置１００′では、Ｉ２Ｃバスマルチプレクサ１１２が備えられることでＩ２Ｃバス３２０が分岐しバス構成が複雑になる。ＭＰＵ１２０は、複雑なバス構成へ追加ユニット２００を追加するために、Ｉ２Ｃバスマルチプレクサ１１２に対してソフトウェアによるチャネル切替制御を行なう。従って、情報処理装置１００′では、図１５に示す情報処理装置１００と同様の問題に加え、ＭＰＵ１２０によるチャネル切替制御において処理の遅延が発生するという問題もある。【００２１】
さらに、図１７を参照して説明した技術は、パラレルバスに適用されるものである。仮に、当該技術をＩ２Ｃ（シリアル）バスに適用したとしても、追加するモジュールの接続に伴いクロック信号にノイズが発生した場合には、他のモジュールは誤ってデータを取りこんでしまう可能性がある。
なお、上述した、バス又はユニットの状態に応じてスイッチによりバス及びユニットの接続状態を切り替える技術では、ユニットを接続する際に発生するノイズの影響を抑えることについては考慮されていない。【００２２】
また、コンピュータ本体のバスの電位レベルを制御し、拡張ユニット側のバスと等しい電位レベルにする技術では、ソフトウェアによる複雑な制御が行なわれるため、拡張ユニットの接続処理の遅延が発生するという問題がある。
以上のように、上述した技術では、デバイスの接続の際にバスは種々の影響を受ける。
１つの側面では、本発明は、デバイスの接続の際にバスが受ける影響を低減させることを目的とする。【００２３】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００２４】
本件の接続制御装置は、バスに対するデバイスの接続制御を行なう接続制御装置であって、前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記判定部により前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、をそなえる。
【発明の効果】
【００２５】
第１又は第２実施形態によれば、デバイスの接続の際にバスが受ける影響を低減させることができる。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態に係る情報処理装置の構成例を示す図である。
【図２】図１に示すＩ２Ｃコントローラの構成例を示す図である。
【図３】図２に示すＢＵＳ−ＳＷ制御部の構成例を示す図である。
【図４】図２に示すシリアルバスへ追加ユニットを活線挿入したときのシリアルバスの電圧レベルを説明する図である。
【図５】図２に示すシリアルバスへ追加ユニットを活線挿入したときのシリアルバスの電圧レベルを説明する図である。
【図６】図２に示すシリアルバスの通信状態の遷移を説明する図である。
【図７】図２に示すＢＵＳ−ＳＷ制御部の詳細な構成例を示す図である。
【図８】図７に示すＢＵＳ−ＳＷ制御部における各部の状態の一例を示すタイムチャートである。
【図９】図１に示すＩ２Ｃコントローラの動作例を説明するフローチャートである。
【図１０】図１に示すＩ２Ｃコントローラの動作例を説明する図である。
【図１１】図２に示すシリアルバス、実装信号線、及びＢＵＳ−ＳＷ  ＥＮＡＢＬＥの状態の一例を示すタイムチャートである。
【図１２】第２実施形態に係る情報処理装置の構成例を示す図である。
【図１３】図１２に示すＩ２Ｃコントローラの構成例を示す図である。
【図１４】バス線へユニットを活線挿入したときのユニット内部の浮遊容量によるバス線への影響を説明する図である。
【図１５】Ｉ２Ｃバスを有する情報処理装置の構成例を示す図である。
【図１６】Ｉ２Ｃバスを有する情報処理装置の構成例を示す図である。
【図１７】バスへのモジュールの接続又は切り離しのタイミングを説明する図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して実施の形態を説明する。
〔１〕第１実施形態
〔１−１〕情報処理装置の説明
図１は、第１実施形態に係る情報処理装置１の構成例を示す図である。図１に示すように、情報処理装置１は、Ｉ２Ｃコントローラ５０、Central Processing Unit（ＣＰＵ）５１、メモリ５２、並びに、Ｉ２Ｃデバイス２１−２及び２１−３を備える。
【００２８】
ＣＰＵ（プロセッサ）５１は、種々の制御や演算を行なう処理装置である。ＣＰＵ５１は、メモリ５２又は図示しないRead Only Memory（ＲＯＭ）等に格納されたプログラムを実行することにより、種々の機能を実現する。なお、ＣＰＵ５１は、メモリ５２及びＩ２Ｃコントローラ５０とそれぞれシステムバスを介して接続される。
メモリ５２は、種々のデータやプログラムを一時的に格納する記憶装置であって、ＣＰＵ５１がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メモリ５２としては、例えばRandom Access Memory（ＲＡＭ）等の揮発性メモリが挙げられる。
【００２９】
Ｉ２Ｃコントローラ５０は、２線式のシリアルバスの一例であるＩ２Ｃバスを介して、Ｉ２Ｃデバイス２１−２及び２１−３に対する各種制御を行なう装置である。また、第１実施形態に係るＩ２Ｃコントローラ５０は、Ｉ２Ｃデバイス２１−１を備える追加ユニット（Ｉ２Ｃユニット）２０をＩ２Ｃバスに接続させるために、後述する各種制御を行なう。例えば、Ｉ２Ｃコントローラ５０は、Ｉ２Ｃデバイス２１を含む情報処理装置１の監視を行なう監視装置であってもよい。
【００３０】
Ｉ２Ｃデバイス２１−１〜２１−３（Ｉ２Ｃデバイス２１−１〜２１−３を区別しない場合には、単にＩ２Ｃデバイス２１という）は、情報処理装置１に対して活線接続が可能なデバイスである。例えば、Ｉ２Ｃデバイス２１としては、Hard Disk Drive（ＨＤＤ）又はSolid State Drive（ＳＳＤ）等の記憶装置のほか、ファン、センサ、電源等の制御装置、又は、監視装置等、Ｉ２Ｃに準拠した種々のデバイスが挙げられる。
【００３１】
〔１−２〕Ｉ２Ｃコントローラの説明
次に、図２を参照してＩ２Ｃコントローラ５０の構成を説明する。
図２は、図１に示すＩ２Ｃコントローラ５０の構成例を示す図である。
図２に示すように、Ｉ２Ｃコントローラ５０は、ＢＵＳ−ＳＷ（バススイッチ）制御部１０、ＭＰＵ２、Ｉ２Ｃバスコントローラ３、バススイッチ４ａ及び４ｂ、プルアップ抵抗５及び６、コネクタ７、電源供給部８、並びに、クロック発振器９を備える。
【００３２】
また、追加ユニット２０は、図１５又は図１６に示す追加ユニット２００と同様の構成であり、Ｉ２Ｃデバイス２１−１、電源部２２、及び、コネクタ２３を備える。
ＭＰＵ２は、図示しないＲＯＭ等に格納されたファームウェアを実行することにより種々の制御を実行するプロセッサである。例えば、ＭＰＵ２は、ローカルバス３１を介してＩ２Ｃバスコントローラ３に接続され、Ｉ２Ｃデバイス２１−１〜２１−３の監視及び制御を行なう。
【００３３】
Ｉ２Ｃバスコントローラ３は、プルアップ抵抗５により所定の電圧レベルに維持されたシリアルバス（バス）３２を介してＩ２Ｃデバイス２１と接続され、ＭＰＵ２からの制御を受けてＩ２Ｃデバイス２１との間でデータ信号及びクロック信号の通信制御を行なう。
つまり、図２に示すように、シリアルバス３２に含まれるデータ信号線（ＳＤＡ）３２ａ及びクロック信号線（ＳＣＬ）３２ｂは、それぞれプルアップ抵抗５に接続され、プルアップ抵抗５により各信号線の電圧が調整される。例えば、ＳＤＡ３２ａ及びＳＣＬ３２ｂの各々は、Ｉ２Ｃバスコントローラ３により印加された電圧レベルがＶｈｉｇｈ（Ｈｉｇｈ）又はＶｌｏｗ（Ｌｏｗ）で示す所定のレベルを維持するように、プルアップ抵抗５によって調整される（図４及び図５参照）。
【００３４】
なお、図２において図示を省略しているが、ＭＰＵ２及びＩ２Ｃバスコントローラ３の少なくとも一方は、システムバスを介して図１に示すＣＰＵ５１に接続され、ＣＰＵ５１からの要求に応じて、上記制御を行なうのである。
ＢＵＳ−ＳＷ（バススイッチ，スイッチ）４ａ及び４ｂは、それぞれ、ＳＤＡ３２ａ及びＳＣＬ３２ｂとコネクタ７との間に介装されるスイッチである。バススイッチ１４ａ及び１４ｂは、対応する信号線について個別に、コネクタ７及び２３を介して接続された追加ユニット２０（Ｉ２Ｃデバイス２１−１）との間の接続及び切り離しの切り替えを行なう。なお、バススイッチ４ａ及び４ｂは、コネクタ７に追加ユニット２０が接続されるときにはいずれもディセーブル状態になり、シリアルバス３２とＩ２Ｃデバイス２１−１との間の接続を開放、つまり切り離された状態にする。
【００３５】
従って、バススイッチ４ａ及び４ｂは、シリアルバス３２とＩ２Ｃデバイス２１−１との間に介装され複数の信号線（ＳＤＡ３２ａ及びＳＣＬ３２ｂ）の各々とＩ２Ｃデバイス２１との間の接続の切り替えを行なう切替部４の一例である。なお、ここでは、切替部４がバススイッチ４ａ及び４ｂである例を説明したが、これに限定されるものではなく、複数の信号線とＩ２Ｃデバイス２１との間の接続の切り替えを個別に行なうことができれば、切替部４が一のスイッチ素子により実現されてもよい。
【００３６】
コネクタ７は、追加ユニット２０のコネクタ２３と嵌合等によって接触することにより、Ｉ２Ｃコントローラ５０と追加ユニット２０とを接続する。具体的には、コネクタ７は、Ｉ２Ｃコントローラ５０側のＳＤＡ３２ａ、ＳＣＬ３２ｂ、実装信号線３４、電源供給部８と、追加ユニット２０側のＳＤＡ４１ａ、ＳＣＬ４１ｂ、実装信号線４２、電源部２２と、をそれぞれ接触（導通）させる。
【００３７】
実装信号線３４は、バススイッチ制御部１０とコネクタ７とを接続する信号線であり、プルアップ抵抗６により所定の電圧レベルに維持される。一方、追加ユニット２０のコネクタ２３には、ＧＮＤ接続（接地）された実装信号線４２が接続されている。
電源供給部８は、コネクタ７に追加ユニット２０のコネクタ２３が接続されると、電源部２２に対して電力を供給する。
【００３８】
クロック発振器９は、バススイッチ制御部１０においてサンプリングを行なうために用いられるクロック信号を生成するものである。なお、クロック発振器９が生成するクロック信号は、ＳＤＡ３２ａにおけるクロック信号よりも十分に早い（例えば十倍程度の）周波数である。なお、クロック発振器９としては、ＬＣ回路を用いた発振器や水晶発振器等が挙げられる。
【００３９】
バススイッチ制御部（接続制御装置）１０は、シリアルバス３２に対するＩ２Ｃデバイス２１の接続制御を行なう装置である。バススイッチ制御部１０は、図２に示すように、シリアルバス３２から分岐したＳＤＡ３２ａ及びＳＣＬ３２ｂ、実装信号線３４、並びに、クロック発振器９からのクロック信号線３５が接続され、各信号線からの信号を入力信号とする。また、バススイッチ制御部１０は、図２に示すように、バススイッチ４ａ及び４ｂの各々とＢＵＳ−ＳＷ  ＥＮＡＢＬＥ（バススイッチイネーブル；以下、制御線という）３３ａ及び３３ｂを介して接続され、バススイッチ４ａ及び４ｂを制御する。
【００４０】
以下、図３〜図６を参照してバススイッチ制御部１０の構成を説明する。図３は、図２に示すバススイッチ制御部１０の構成例を示す図であり、図４及び図５は、それぞれ、図２に示すシリアルバス３２へ追加ユニット２０を活線挿入したときのシリアルバス３２の電圧レベルを説明する図である。図６は、図２に示すシリアルバス３２の通信状態の遷移を説明する図である。
【００４１】
図３に示すように、バススイッチ制御部１０は、実装信号検知部１１、タイマー部１２、クロック信号／データ信号レベル判定部１３、ＢＵＳ−ＳＷ  ＥＮＡＢＬＥ（バススイッチイネーブル）設定部１４を備える。
実装信号検知部（検知部）１１は、実装信号線３４からの実装信号を入力され、Ｉ２Ｃユニット２０（Ｉ２Ｃデバイス２１）がコネクタ７（バススイッチ４ａ及び４ｂ）に接続されたことを検知する。例えば、コネクタ７がコネクタ２３に接続されると、実装信号線３４は、実装信号線４２を介してＧＮＤ接続する。実装信号検知部１１は、実装信号線４２の電圧が低下したことを検知すると、Ｉ２Ｃデバイス２１がバススイッチ４ａ及び４ｂに接続されたことを検知する。
【００４２】
タイマー部１２は、所定期間の計時を行なうものである。タイマー部１２としては、例えばカウンター回路のほか、計時が可能な種々の回路を用いることができる。
バススイッチイネーブル設定部（切替制御部）１４は、切替部４に対して、後述する信号レベル判定部１３により信号の強度（電圧レベル）が所定の閾値未満であると判定された信号線をＩ２Ｃデバイス２１に接続させるように切替制御を行なう。具体的には、バススイッチイネーブル設定部１４は、信号レベル判定部１３により検出されたＳＤＡ３２ａ又はＳＣＬ３２ｂに対応するバススイッチ４ａ又は４ｂに対して、切り離し状態から接続状態に切り替えさせる制御を行なう。
【００４３】
例えば、バススイッチイネーブル設定部１４は、追加ユニット２０がＩ２Ｃコントローラ５０に接続されたときは、制御線３３ａ及び３３ｂの電圧レベルをＬｏｗ（ディセーブル）にすることで、バススイッチ４ａ及び４ｂを開放し、切り離し状態にする。一方、バススイッチイネーブル設定部１４は、信号レベル判定部１３からの指示に応じて、制御線３３ａ又は３３ｂの電圧レベルをＨｉｇｈ（イネーブル）にすることで、バススイッチ４ａ又は４ｂを閉じ、接続状態にする。
【００４４】
クロック信号／データ信号レベル判定部（信号レベル判定部，判定部）１３は、追加ユニット２０をシリアルバス３２へ接触させる際に発生する、追加ユニット２０内の信号線のコンデンサ成分によるノイズの大きさが最小限となるタイミングを検出する。
具体的には、信号レベル判定部１３は、実装信号検知部１１によりＩ２Ｃデバイス２１がバススイッチ４ａ及び４ｂに接続されたことが検知されると、ＳＤＡ３２ａ及びＳＣＬ３２ｂの各々から入力される信号の電圧レベルを監視する。そして、信号レベル判定部１３は、ＳＤＡ３２ａ及びＳＣＬ３２ｂの各々から入力される信号の電圧レベルが所定の閾値（Ｖｔｈｒｅｓｈｏｌｄ）未満であるか否かを判定する。より具体的に、信号レベル判定部１３は、クロック発振器９から入力されるクロック信号を用いて、ＳＤＡ３２ａ及びＳＣＬ３２ｂから入力される信号をそれぞれサンプリングする。そして、信号レベル判定部１３は、サンプリング結果から、各信号の電圧レベルがＨｉｇｈ及びＬｏｗのいずれの状態であるかを判別する。
【００４５】
以下、図４及び図５を参照して、シリアルバス３２へ追加ユニット２０を活線挿入するタイミングと、シリアルバス３２の電圧レベルとの関係を説明する。
図４に示すように、シリアルバス３２のうちのＳＤＡ３２ａ又はＳＣＬ３２ｂの信号の電圧レベルがＶｈｉｇｈである場合、図４中“接触”のタイミングでシリアルバス３２に追加ユニット２０が接続されると、浮遊容量による電圧低下の振れが大きい。図４に示す例では、ＳＤＡ３２ａ又はＳＣＬ３２ｂの電圧レベルは、閾値（Ｖｔｈｒｅｓｈｏｌｄ）の近傍にまで降下しているため、システムバス３２に接続された他のＩ２Ｃデバイス２１が誤動作する可能性がある。
【００４６】
これに対し、図５に示すように、ＳＤＡ３２ａ又はＳＣＬ３２ｂの信号の電圧レベルがＶｌｏｗである場合、もともと電圧レベルがＬｏｗの状態であるため、浮遊容量に起因する電圧低下が発生しても他のＩ２Ｃデバイス２１で誤動作は生じない。つまり、バス線の電圧レベルがＬｏｗの状態のときに、システムバス３２に追加ユニット２０を接続することで、追加ユニット２０のコンデンサ成分によるノイズの影響を抑えることができる。
【００４７】
そこで、信号レベル判定部１３は、上述のようにバス線の電圧レベルがＬｏｗになったタイミングを判定し、Ｌｏｗになったバス線（ＳＤＡ３２ａ又はＳＣＬ３２ｂ）について、バススイッチイネーブル設定部１４に切替制御を指示する。
ここで、シリアルバス３２の一例としてのＩ２Ｃバスは、図６に示すように、通信の過程で、バスアクセスとバスアクセスとの合間であるバスフリータイム（Bus free time between STOP and START conditions；以下、Ｔｂｕｆという）の状態に遷移する。Ｔｂｕｆは、ＳＴＯＰコンディションとＳＴＡＲＴコンディションとの間の時間であり、この間、シリアルバス３２に接続されたＩ２Ｃデバイス２１−２及び２１−３は、シリアルバス３２を使用しない。
【００４８】
Ｉ２ＣバスのＳＴＡＲＴコンディションは、図６に示すように、ＳＣＬ３２ｂがＨｉｇｈの状態のときに、ＳＤＡ３２ａがＨｉｇｈの状態からＬｏｗに落ちるときの状態であり、Ｉ２Ｃバスにおけるバスアクセスの開始を表す。一方、Ｉ２ＣバスのＳＴＯＰコンディションは、図６に示すように、ＳＣＬ３２ｂがＨｉｇｈの状態のときに、ＳＤＡ３２ａがＬｏｗの状態からＨｉｇｈに上がるときの状態であり、Ｉ２Ｃバスにおけるバスアクセスの終了を表す。
【００４９】
図６に示すように、ＳＤＡ３２ａ及びＳＣＬ３２ｂは、ＳＴＡＲＴコンディションにおいて、順にＨｉｇｈの状態からＬｏｗに落ちる。
そこで、信号レベル判定部１３は、Ｔｂｕｆを検出し、その後のＳＴＡＲＴコンディションを検出することで、ＳＤＡ３２ａ及びＳＣＬ３２ｂの電圧レベルについて、ＨｉｇｈからＬｏｗへの切り替わりを、順に検出することができる。そして、信号レベル判定部１３は、Ｌｏｗへの切り替わりを検出したＳＤＡ３２ａ及びＳＣＬ３２ｂについて、個別にバススイッチ４ａ及び４ｂ（バススイッチイネーブル設定部１４）に対して切替制御を行なうことができる。
【００５０】
すなわち、信号レベル判定部１３は、ＳＤＡ３２ａ及びＳＣＬ３２ｂの各々から入力される信号の電圧レベルが、タイマー部１２による所定期間の計時の間、いずれも所定の閾値（Ｖｔｈｒｅｓｈｏｌｄ）以上である場合に、Ｔｂｕｆの期間であると判定する。ここで、Ｔｂｕｆは、Ｉ２Ｃバス固有の期間であり、ＳＣＬ３２ｂのクロック信号におけるＨｉｇｈの期間よりも長い。従って、タイマー部１２には、計時する期間として、予めＴｂｕｆと同一或いは略同一、又はＴｂｕｆ以上の期間が設定されることが好ましい。
【００５１】
〔１−３〕バススイッチ制御部の詳細な構成例
次に、図７及び図８を参照して、バススイッチ制御部１０の詳細な構成例を説明する。図７は、図２に示すバススイッチ制御部１０の詳細な構成例を示す図であり、図８は、図７に示すバススイッチ制御部１０における各部の状態の一例を示すタイムチャートである。図７に示すように、バススイッチ制御部１０は、例えば複数の回路素子を用いて、ハードウェアにより実現される。
【００５２】
実装信号検知部１１は、実装信号線３４に接続される抵抗１１ａ、増幅器１１ｂ、及びコンデンサ１１ｃを備える。
タイマー部１２は、カウンター回路１２ａ及びＯＲ回路１０ｃを備える。
信号レベル判定部１３は、プルアップ抵抗１０ａ、１０ｅ、及び１０ｋ、ＡＮＤ回路１０ｂ、１０ｆ、及び１０ｌ、ＯＲ回路１０ｉ、ＮＡＮＤ回路１０ｊ、並びにＤｅｌａｙ−Ｆｌｉｐ  Ｆｌｏｐ（ディレイフリップフロップ；Ｄ−ＦＦ）１３ａ〜１３ｆを備える。
【００５３】
バススイッチイネーブル設定部１４は、プルアップ抵抗１０ｈ及び１０ｎ、ＯＲ回路１０ｇ及び１０ｍ、並びにＤ−ＦＦ１４ａ及び１４ｂを備える。
なお、図７において、“ＲＥＳＥＴ”は、例えばＭＰＵ２から送信されるリセット信号線３６であり、実装信号線３４がＬｏｗに落ちると、Ｈｉｇｈに維持される。
以下、クロック発振器９からのクロック信号線３５、実装信号検知部１１からの実装信号線３４、リセット信号線３６、ＳＣＬ３２ｂ、ＳＤＡ３２ａ、図７に示す（１）〜（１１）の各部、並びに制御線３３ａ及び３３ｂの状態の一例を、図８を参照して説明する。なお、図８においては、制御線３３ａを“ＢＵＳ−ＳＷ１＿ＥＮＡＢＬＥ”と表記し、制御線３３ｂを“ＢＵＳ−ＳＷ２＿ＥＮＡＢＬＥ”と表記する。
【００５４】
なお、クロック発振器９からのクロック信号線３５は、サンプリング用のクロック信号を出力し、バススイッチ制御部１０内の各回路素子は、クロック信号に同期して動作を行なう。
タイミングｔ１において、実装信号線３４がＬｏｗ、つまり追加ユニット２０がシステムバス３２に接続されると、リセット信号線３６がＨｉｇｈに維持される（タイミングｔ２）。また、タイミングｔ３において、Ｄ−ＦＦ１３ｅの出力（９）がＨｉｇｈからＬｏｗに遷移するとともに、Ｄ−ＦＦ１３ｆの出力（１０）がＬｏｗからＨｉｇｈに遷移する。
【００５５】
タイミングｔ４において、ＳＤＡ３２ａの電圧レベルがＬｏｗからＨｉｇｈに遷移すると、Ｄ−ＦＦ１３ａの出力（２）がＨｉｇｈになるとともに、Ｄ−ＦＦ１３ｃ及び１３ｅの出力（６）及び（１０）がそれぞれＬｏｗになる（タイミングｔ５）。なお、Ｄ−ＦＦ１３ａ、１３ｃ、及び１３ｅは、それぞれＳＤＡ３２ａの電圧レベルを監視するＤ−ＦＦである。
【００５６】
次いで、タイミングｔ６において、ＳＣＬ３２ｂの電圧レベルがＬｏｗからＨｉｇｈに遷移すると、Ｄ−ＦＦ１３ｂの出力（１）がＨｉｇｈになる（タイミングｔ７）。また、タイミングｔ７において、Ｄ−ＦＦ１３ａ及び１３ｂの出力のＡＮＤをとるＡＮＤ回路１０ｂの出力（３）がＨｉｇｈになる（タイミングｔ７）。なお、Ｄ−ＦＦ１３ｂ、１３ｄ、及び１３ｆは、それぞれＳＣＬ３２ｂの電圧レベルを監視するＤ−ＦＦである。
【００５７】
なお、タイミングｔ６において、ＳＤＡ３２ａの電圧レベルがＨｉｇｈの状態で、ＳＣＬ３２ｂの電圧レベルがＨｉｇｈに遷移したため（ＳＴＯＰコンディション）、システムバス３２はバスフリータイムの状態になっている。
カウンター回路１２ａでは、ＡＮＤ回路１０ｂの出力（３）がＨｉｇｈになったことで、“＊ＬＯＡＤ”端子にＨｉｇｈが入力される。そして、カウンター回路１２ａは、タイミングｔ７において、Ｔｂｕｆの期間のカウントを開始する。
【００５８】
カウンター回路１２ａによる所定期間の計時が終了し、ＡＮＤ回路１０ｂの出力（３）がＨｉｇｈである時間がＴｂｕｆ以上であった場合には、カウンター回路１２ａの出力（４）がＨｉｇｈに遷移する（タイミングｔ８）。また、出力（４）がＨｉｇｈになったことにより、カウンター回路１２ａの後段のＤ−ＦＦ１３ｄの出力（５）がＨｉｇｈに遷移する（タイミングｔ９）。
【００５９】
ここで、タイミングｔ１０において、ＳＤＡ３２ａの電圧レベルがＨｉｇｈからＬｏｗに遷移すると、つまりＳＴＡＲＴコンディションになると、Ｄ−ＦＦ１３ａ及びＡＮＤ回路１０ｂの出力（２）及び（３）がＬｏｗになる（タイミングｔ１１）。また、タイミングｔ１１において、Ｄ−ＦＦ１３ｃ及び１３ｅの出力（６）及び（１０）がＨｉｇｈになるとともに、Ｄ−ＦＦ１３ｃ及び１３ｄのＡＮＤをとるＡＮＤ回路１０ｆの出力（７）がＨｉｇｈになる。
【００６０】
また、ＡＮＤ回路１０ｆの出力（７）がＨｉｇｈになったことで、Ｄ−ＦＦ１４ａの出力（８）がＨｉｇｈになり、制御線３３ａの電圧レベルがＨｉｇｈになる（タイミングｔ１２）。すなわち、バススイッチイネーブル設定部１４によりバススイッチ４ａが接続状態に切替制御され、Ｉ２Ｃデバイス２１−１のＳＤＡ４２ａがシリアルバス３２のＳＤＡ３２ａに接続される。
【００６１】
次いで、タイミングｔ１３において、ＳＣＬ３２ｂの電圧レベルがＨｉｇｈからＬｏｗに遷移すると、Ｄ−ＦＦ１３ｂ及び１３ｄの出力（１）及び（５）がＬｏｗに遷移する（タイミングｔ１４）。また、タイミングｔ１４において、Ｄ−ＦＦ１３ｃ及び１３ｄのＡＮＤをとるＡＮＤ回路１０ｆの出力（７）がＬｏｗになる。さらに、タイミングｔ１４において、Ｄ−ＦＦ１３ｆの出力（９）がＨｉｇｈに遷移するとともに、Ｄ−ＦＦ１３ｅ及び１３ｆのＡＮＤをとるＡＮＤ回路１０ｌの出力（１１）がＨｉｇｈになる。
【００６２】
また、ＡＮＤ回路１０ｌの出力（１１）がＨｉｇｈになったことで、Ｄ−ＦＦ１４ｂの出力がＨｉｇｈになり、制御線３３ｂの電圧レベルがＨｉｇｈになる（タイミングｔ１４）。すなわち、バススイッチイネーブル設定部１４によりバススイッチ４ｂが接続状態に切替制御され、Ｉ２Ｃデバイス２１−１のＳＣＬ４１ｂがシリアルバス３２のＳＣＬ３２ｂに接続される。
【００６３】
以上のように、第１実施形態に係るバススイッチ制御部１０によれば、信号レベル判定部１３及びバススイッチイネーブル設定部１４が論理回路により実現される。従って、Ｉ２Ｃバスの動作の中で、追加ユニット２０をシリアルバス３２に接続する機会をハードウェアによって高速に検出し接続を行なうため、図１５を参照して説明したソフトウェアによる制御と比べ、Ｉ２Ｃバスコントローラ３の動作を停止しなくてよい。さらに、図１６を参照して説明したＩ２Ｃバスマルチプレクサ１１２のように、バス分岐がなくなるため、バス構成が複雑になることを抑止できる。また、ハードウェアによる制御は、ＭＰＵ２の性能や負荷に依存するソフトウェアによる制御と比べて、安定した動作を実現することができる。
【００６４】
なお、図１７を参照して説明したパラレルバスに関する技術をＩ２Ｃバスに適用した場合、Ｉ２Ｃバスにはバス制御信号がないため、Ｉ２Ｃデバイス２１は、発生したノイズが原因でＳＴＡＲＴコンディション又はＳＴＯＰコンディションと誤認識する可能性がある。これに対し、第１実施形態に係るバススイッチ制御部１０によれば、バス線の電圧レベルがＬｏｗの状態のときに、システムバス３２に追加ユニット２０を接続するため、Ｉ２Ｃデバイス２１は、発生するノイズが原因でシリアルバス３２の状態を誤認識することがない。
【００６５】
なお、図７では、信号レベル判定部１３及びバススイッチイネーブル設定部１４の双方が論理回路により実現される例を示したが、これに限定されるものではない。例えば、信号レベル判定部１３及びバススイッチイネーブル設定部１４のうちの少なくとも一方が論理回路をそなえる構成としてもよい。この場合でも、信号レベル判定部１３及びバススイッチイネーブル設定部１４の双方がソフトウェアによる制御により実現される場合と比べて、安定した動作を実現することができる。
【００６６】
〔１−４〕第１実施形態の動作例
次に、上述の如く構成された第１実施形態に係るＩ２Ｃコントローラ５０における、シリアルバス３２への追加ユニット２０（Ｉ２Ｃデバイス２１−１）の接続制御の動作例を、図９〜図１１を参照して説明する。図９は、図１に示すＩ２Ｃコントローラ５０の動作例を説明するフローチャートであり、図１０は、図１に示すＩ２Ｃコントローラ５０の動作例を説明する図である。図１１は、図２に示すシリアルバス３２、実装信号線３４、及び制御線３３の状態の一例を示すタイムチャートである。なお、図９においては、制御線３３ａを“ＢＵＳ−ＳＷ１＿ＥＮＡＢＬＥ”と表記し、制御線３３ｂを“ＢＵＳ−ＳＷ２＿ＥＮＡＢＬＥ”と表記する。
【００６７】
はじめに、図９に示すように、バススイッチ制御部１０により、追加ユニット２０がコネクタ７に接続されたことに起因する実装信号が検出されたか否かが判定される（ステップＳ１）。実装信号が検出されなかったと判定された場合（ステップＳ１のＮｏルート）、実装信号が検出されるまでステップＳ１の判定が行なわれる。
一方、実装信号が検出されたと判定された場合（ステップＳ１のＹｅｓルート；図１０の矢印（１）及び図１１のタイミングＴ１参照）、バススイッチ制御部１０により、バスフリータイム（Ｔｂｕｆ）が検出されたか否かが判定される（ステップＳ２）。つまり、バススイッチ制御部１０は、シリアルバス３２のＳＤＡ３２ａ及びＳＣＬ３２ｂの電圧レベルを監視し、両方とも一定時間（Ｔｂｕｆ）Ｈｉｇｈ状態であるバスフリータイム（バスアクセスとバスアクセスとの合間）の検出が行なわれる。バススイッチ制御部１０により、Ｔｂｕｆが検出されなかったと判定された場合（ステップＳ２のＮｏルート）、Ｔｂｕｆが検出されるまでステップＳ２の判定が行なわれる。
【００６８】
一方、Ｔｂｕｆが検出されたと判定された場合（ステップＳ２のＹｅｓルート；図１０の（２）及び図１１のタイミングＴ１〜Ｔ２参照）、バススイッチ制御部１０により、ＳＤＡ３２ａの電圧レベルがＨｉｇｈからＬｏｗに遷移したことが検出されたか否かが判定される（ステップＳ３）。つまり、バススイッチ制御部１０は、バスフリータイムを検出すると、Ｉ２ＣバスのＳＴＡＲＴコンディションの発生を検出する。バススイッチ制御部１０により、ＳＤＡ３２ａの電圧レベルがＨｉｇｈからＬｏｗに遷移したことが検出されなかったと判定された場合（ステップＳ３のＮｏルート）、遷移したことが検出されるまでステップＳ３の判定が行なわれる。
【００６９】
これに対し、ステップＳ３において、ＳＤＡ３２ａの電圧レベルがＨｉｇｈからＬｏｗに遷移したことが検出されたと判定された場合（ステップＳ３のＹｅｓルート；図１０の矢印（３）及び図１１のタイミングＴ２参照）、ステップＳ４に移行する。
ステップＳ４では、バススイッチ制御部１０により、制御線３３ａがイネーブルにされ、バススイッチ４ａが閉じられることで、ＳＤＡ３２ａとＳＤＡ４１ａとが接続される（図１０の矢印（４）及び（５）並びに図１１のタイミングＴ３参照）。つまり、バススイッチ制御部１０は、ＳＤＡ３２ａがＬｏｗに維持されている状態でＩ２Ｃデバイス２１−１のＳＤＡ４１ａをシリアルバス３２に接続する。Ｉ２Ｃデバイス２１−１は、ＳＤＡ３２ａがＬｏｗに落ちた状態でシリアルバス３２に接続されるため、追加ユニット２０の端子のコンデンサ成分（浮遊容量）によるノイズの影響を抑えて接続することができる。また、これにより、Ｉ２Ｃバスのバスサイクルの途中ではなく、バスサイクルの先頭からＩ２Ｃデバイス２１−１をシリアルバス３２に接続することができる。
【００７０】
次いで、バススイッチ制御部１０により、ＳＣＬ３２ｂの電圧レベルがＨｉｇｈからＬｏｗに遷移したことが検出されたか否かが判定される（ステップＳ５）。遷移したことが検出されなかったと判定された場合（ステップＳ５のＮｏルート）、遷移したことが検出されるまでステップＳ５の判定が行なわれる。
これに対し、ステップＳ５において、ＳＣＬ３２ｂの電圧レベルがＨｉｇｈからＬｏｗに遷移したことが検出されたと判定された場合（ステップＳ５のＹｅｓルート；図１０の矢印（６）及び図１１のタイミングＴ４参照）、ステップＳ６に移行する。
【００７１】
ステップＳ６では、バススイッチ制御部１０により、制御線３３ｂがイネーブルにされ、バススイッチ４ｂが閉じられることで、ＳＣＬ３２ｂとＳＣＬ４１ｂとが接続される（図１０の矢印（７）及び（８）並びに図１１のタイミングＴ５参照）。つまり、バススイッチ制御部１０は、ＳＴＡＲＴコンディションが発生した後、ＳＣＬ３２ｂがＬｏｗに維持されている状態でＩ２Ｃデバイス２１−１のＳＣＬ４１ｂをシリアルバス３２に接続する。
【００７２】
以上の処理により、Ｉ２Ｃコントローラ５０における、シリアルバス３２への追加ユニット２０（Ｉ２Ｃデバイス２１−１）の接続制御が完了する。
〔１−５〕まとめ
このように、第１実施形態に係るＩ２Ｃコントローラ５０によれば、バススイッチイネーブル設定部１４により、切替部４に対して、信号レベル判定部１３により信号の強度（電圧レベル）が所定の閾値未満であると判定された信号線をＩ２Ｃデバイス２１−１に接続させるように切替制御が行なわれる。従って、バススイッチ制御部１０は、例えばＬｏｗに落ちた信号線ごとに個別に、Ｉ２Ｃデバイス２１−１の対応するＳＤＡ４１ａ及びＳＣＬ４１ｂと接続することができる。これにより、Ｉ２Ｃコントローラ５０は、システムバス３２を停止させることなく、追加ユニット２０の端子のコンデンサ成分によるノイズの影響を抑えることができる。つまり、Ｉ２Ｃデバイス２１−１の各信号線を、ノイズの大きさが最小限となるタイミングでシリアルバス３２に接続することができ、Ｉ２Ｃデバイス２１の接続の際にシリアルバス３２が受ける影響を低減させることができる。
【００７３】
また、上記判定は、各信号の強度（電圧レベル）に基づいて、シリアルバス３２に接続された他のＩ２Ｃデバイス２１によりシリアルバス３２が使用されていない状態が検出された場合に行なわれる。従って、バススイッチ制御部１０は、Ｉ２ＣバスがＳＴＡＲＴコンディションになったときに、ＳＤＡ３２ａ及びＳＣＬ３２ｂの電圧レベルがそれぞれＬｏｗに落ちたことを検出することができる。これにより、Ｉ２Ｃコントローラ５０は、Ｉ２Ｃバスのバスサイクルの途中ではなく先頭から、Ｉ２Ｃデバイス２１をシステムバス３２に接続することができ、バスサイクルの途中から接続されるよりもＩ２Ｃデバイス２１−１の誤作動の発生確率を低減させることができる。
【００７４】
さらに、バススイッチ制御部１０により、ＳＤＡ３２ａ及びＳＣＬ３２ｂの各々から入力される信号の強度（電圧レベル）が、タイマー部１２による所定期間の計時の間、いずれも所定の閾値以上である場合に、他のＩ２Ｃデバイス２１によりシリアルバス３２が使用されていない状態であると判定される。従って、バススイッチ制御部１０は、バスフリータイムを確実に検出することができる。
【００７５】
また、ＳＴＡＲＴコンディションのあと、ＳＤＡ３２ａ、ＳＣＬ３２ｂの順序で電圧レベルがＬｏｗに落ちるため、バススイッチ制御部１０は、毎回決まった手順で安定してＩ２Ｃデバイス２１をＩ２Ｃバスへ接続することができる。
さらに、実装信号検知部１１により、Ｉ２Ｃデバイス２１−１が切替部４に接続されたことが検知された場合に、バススイッチ制御部１０によって他のＩ２Ｃデバイス２１によりシリアルバス３２が使用されていない状態の検出が開始される。従って、Ｉ２Ｃコントローラ５０は、コネクタ７への追加ユニット２０の接続に応じて、自律でシルアルバス３２へのＩ２Ｃデバイス２１−１の接続を行なうことができ、利便性が高い。
【００７６】
また、切替部４は、ＳＤＡ３２ａ及びＳＣＬ３２ｂについて個別にＳＤＡ４１ａ及びＳＣＬ４１ｂとの切替制御を行なうバススイッチ４ａ及び４ｂを備える。従って、電圧レベルがＬｏｗに落ちた信号線から順に、Ｉ２Ｃデバイス２１−１をシルアルバス３２へ効率的に接続することができる。
〔２〕第２実施形態
第１実施形態においては、情報処理装置１が二つのＩ２Ｃデバイス２１−２及び２１−３をそなえ、情報処理装置１に一つの追加ユニット２０が接続されるものとして説明したが、これに限定されるものではない。例えば、図１２に示すように、情報処理装置１′に複数（例えば三つ）の追加ユニット２０−１〜２０−３が接続されるものとしてもよい。
【００７７】
以下、図１２及び図１３を参照して、情報処理装置１′の構成例を説明する。
図１２は、第２実施形態に係る情報処理装置１′の構成例を示す図であり、図１３は、図１２に示すＩ２Ｃコントローラ５０′の構成例を示す図である。なお、図１２及び図１３において、図１及び図２に示す符号と同一の符号は、図１及び図２に示す構成と同一又は略同一のため、重複した説明は省略する。
【００７８】
図１２に示すように、第２実施形態に係る情報処理装置１′は、図１に示すＩ２Ｃコントローラ５０に代えて、Ｉ２Ｃコントローラ５０′を備える。なお、情報処理装置１′は、Ｉ２Ｃデバイス２１を備えてもよい。
Ｉ２Ｃコントローラ５０′は、Ｉ２Ｃデバイス２１−１〜２１−３を備える追加ユニット（Ｉ２Ｃユニット）２０−１〜２０−３をＩ２Ｃバスに接続させるために、Ｉ２Ｃコントローラ５０と同様の各種制御を行なう。
【００７９】
図１３に示すように、第２実施形態に係るＩ２Ｃコントローラ５０′は、追加ユニット２０−１〜２０−３を接続するコネクタ７の数と同数のバススイッチ制御部１０、プルアップ抵抗６、切替部４、及び電源供給部８を備える。一方、Ｉ２Ｃコントローラ５０′は、複数のコネクタ７に対して共通のＭＰＵ２、Ｉ２Ｃバスコントローラ３、及びクロック発振器９を備える。
【００８０】
第２実施形態に係るＩ２Ｃコントローラ５０′は、接続される複数の追加ユニット２０−１〜２０−３の各々について、個別に、第１実施形態において説明した各種制御を行なうのである。
これにより、第２実施形態に係る情報処理装置１′（Ｉ２Ｃコントローラ５０′）によっても、第１実施形態と同様の効果を奏することができる。
【００８１】
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述した第１及び第２実施形態では、実装信号検知部１１は、実装信号線３４がＧＮＤ接続したことを検出すると、追加ユニット２０が実装されたことを検知するものとして説明したが、これに限定されるものではない。実装信号検知部１１による追加ユニット２０が実装されたことの検知は、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
【００８２】
また、上述した第１及び第２実施形態では、シリアルバス３２は、Ｉ２Ｃバスであるものとして説明したが、これに限定されるものではない。シリアルバス３２として、他の２線式シリアルバスが用いられてもよく、また、２線式以外の複数の信号線を含むシリアルバスが用いられてもよい。シリアルバス３２がいずれの場合であっても、バススイッチ制御部１０は、信号の強度（電圧レベル）が所定の閾値以下になった信号線について、個別に切替部４に対して切替制御を行なわせればよい。なお、バススイッチ制御部１０は、バスフリータイムの検出の手法については、他の２線式シリアルバス、又は複数の信号線を含むシリアルバスの規格に従って、適宜修正を加えればよい。
【００８３】
さらに、上述した第１及び第２実施形態では、信号レベル判定部１３は、Ｔｂｕｆを検出した後に各信号の電圧レベルがＬｏｗに切り替わることを検出するものとして説明したが、これに限定されるものではない。例えば、信号レベル判定部１３は、バスサイクルの途中でも、電圧レベルがＬｏｗになったことを検出した場合には、ＬｏｗになったＳＤＡ３２ａ又はＳＣＬ３２ｂについて、バススイッチ４ａ又は４ｂの接続制御を行なってもよい。これにより、Ｉ２Ｃコントローラ５０は、Ｔｂｕｆの検出を待つよりも、早いタイミングで追加ユニット２０（Ｉ２Ｃデバイス２１）をシリアルバス３２に接続することができる。
【００８４】
また、上述した第１及び第２実施形態では、一つ又は三つの追加ユニット２０が情報処理装置１又は１′に接続されるものとして説明したが、追加ユニット２０の数はこれらに限定されるものではなく、種々増減することができる。
なお、図９に示すステップＳ１〜Ｓ６の処理は、シリアルバス３２に接続された他のＩ２Ｃデバイス２１が存在する場合に行なわれればよく、他のＩ２Ｃデバイス２１が存在しない場合には、少なくともステップＳ４及びＳ６の処理（順不同）が行なわれればよい。
【符号の説明】
【００８５】
１，１′，１００，１００′    情報処理装置
２    ＭＰＵ
３    Ｉ２Ｃバスコントローラ（バス制御部）
４    切替部
４ａ，４ｃ，４ｅ    ＢＵＳ−ＳＷ１（バススイッチ，スイッチ）
４ｂ，４ｄ，４ｆ    ＢＵＳ−ＳＷ２（バススイッチ，スイッチ）
５，６，１５０，１６０    プルアップ抵抗
７，２３，１７０，２３０    コネクタ
８，１８０    電源供給部
９    クロック発振器
１０    ＢＵＳ−ＳＷ制御部（接続制御回路）
１０ａ，１０ｅ，１０ｈ，１０ｋ，１０ｎ    プルアップ抵抗
１０ｂ，１０ｄ，１０ｆ，１０ｊ，１０ｌ    ＡＮＤ回路
１０ｃ，１０ｇ，１０ｉ，１０ｍ    ＯＲ回路
１０ｊ    ＮＡＮＤ回路
１１    実装信号検知部（検知部）
１１ａ    抵抗
１１ｂ    増幅器
１１ｃ    コンデンサ
１２    タイマー部
１２ａ    カウンター回路
１３    クロック信号／データ信号レベル判定部（信号レベル判定部，判定部）
１３ａ〜１３ｆ，１４ａ，１４ｂ    Ｄ−ＦＦ
１４    ＢＵＳ−ＳＷ  ＥＮＡＢＬＥ設定部（バススイッチイネーブル設定部，切替制御部）
２０，２０−１〜２０−３，２００    追加ユニット
２１，２１−１〜２１−３    Ｉ２Ｃデバイス（デバイス）
２２，２２０    電源部
３１，３１０    ローカルバス
３２，３２０    シリアルバス
３２ａ，４１ａ，４１ｃ，４１ｅ，３２０ａ，４１０ａ    データ信号線（ＳＤＡ）
３２ｂ，４１ｂ，４１ｄ，４１ｆ，３２０ｂ，４１０ｂ    クロック信号線（ＳＣＬ）
３３ａ，３３ｃ，３３ｅ，３３０ａ    ＢＵＳ−ＳＷ１  ＥＮＡＢＬＥ（制御線）
３３ｂ，３３ｄ，３３ｆ，３３０ｂ    ＢＵＳ−ＳＷ２  ＥＮＡＢＬＥ（制御線）
３４，４２，３４０，４２０    実装信号線
３５    クロック信号線
３６    リセット信号線
５０，５０′    Ｉ２Ｃコントローラ
５１    ＣＰＵ
５２    メモリ
１１０    ＩＯ＿ＰＯＲＴ入力
１１１    ＩＯ＿ＰＯＲＴ出力
１１２    Ｉ２Ｃバスマルチプレクサ
１２０    ＭＰＵ
１３０    Ｉ２Ｃバスコントローラ
１４０ａ    ＢＵＳ−ＳＷ１（バススイッチ）
１４０ｂ    ＢＵＳ−ＳＷ２（バススイッチ）
２１０，２１０−１〜２１０−３    Ｉ２Ｃデバイス
３２，３２０    シリアルバス  
【図１】
2014155721.tif 000003
【図２】
2014155721.tif 000004
【図３】
2014155721.tif 000005
【図４】
2014155721.tif 000006
【図５】
2014155721.tif 000007
【図６】
2014155721.tif 000008
【図７】
2014155721.tif 000009
【図８】
2014155721.tif 000010
【図９】
2014155721.tif 000011
【図１０】
2014155721.tif 000012
【図１１】
2014155721.tif 000013
【図１２】
2014155721.tif 000014
【図１３】
2014155721.tif 000015
【図１４】
2014155721.tif 000016
【図１５】
2014155721.tif 000017
【図１６】
2014155721.tif 000018
【図１７】
2014155721.tif 000019
【手続補正書】
【提出日】平成27年9月2日(2015.9.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスに対するデバイスの接続制御を行なう接続制御装置であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記判定部により前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえたことを特徴とする、接続制御装置。
【請求項２】
前記判定部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行なうことを特徴とする、請求項１記載の接続制御装置。
【請求項３】
所定期間の計時を行なうタイマー部をさらにそなえ、
前記判定部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、請求項２記載の接続制御装置。
【請求項４】
前記切替部は、前記複数の信号線について個別に前記デバイスとの間の接続の切り替えを行なう複数のスイッチをそなえ、
前記切替制御部は、前記判定部により検出された信号線に対応するスイッチに対して、前記切替制御を行なうことを特徴とする、請求項１〜３のいずれか１項記載の接続制御装置。
【請求項５】
前記判定部及び前記切替制御部のうちの少なくとも一方は、一以上の論理回路をそなえることを特徴とする、請求項１〜４のいずれか１項記載の接続制御装置。
【請求項６】
バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記バスに接続するデバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部と、
前記切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえることを特徴とする、情報処理装置。
【請求項７】
バスに対するデバイスの接続制御を行なう接続制御装置における接続制御方法であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定し、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう、
ことを特徴とする、接続制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
上述の如く構成された情報処理装置１００′では、追加ユニット２００が実装されると、ＩＯ＿ＰＯＲＴ１１０は、情報処理装置１００と同様に追加ユニット２００の接続を検知する（図１６の矢印（１）参照）。
ＭＰＵ１２０は、追加ユニット２００の接続の検出後、追加ユニット２００へのアクセスに先立ち、シリアルバス３２０を介して、Ｉ２Ｃバスマルチプレクサ１１２の内部レジスタに対してチャネル切替制御を行なう（図１６の矢印（２′）参照）。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
また、上述した第１及び第２実施形態では、一つ又は三つの追加ユニット２０が情報処理装置１又は１′に接続されるものとして説明したが、追加ユニット２０の数はこれらに限定されるものではなく、種々増減することができる。
なお、図９に示すステップＳ１〜Ｓ６の処理は、シリアルバス３２に接続された他のＩ２Ｃデバイス２１が存在する場合に行なわれればよく、他のＩ２Ｃデバイス２１が存在しない場合には、少なくともステップＳ４及びＳ６の処理（順不同）が行なわれればよい。
〔４〕付記
以上の第１及び第２実施形態に関し、更に以下の付記を開示する。
（付記１）
バスに対するデバイスの接続制御を行なう接続制御装置であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記判定部により前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえたことを特徴とする、接続制御装置。
（付記２）
前記判定部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行なうことを特徴とする、付記１記載の接続制御装置。
（付記３）
所定期間の計時を行なうタイマー部をさらにそなえ、
前記判定部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、付記２記載の接続制御装置。
（付記４）
前記バスは、２線式シリアルバスであり、
前記判定部は、前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であるか否かの判定を行なうことを特徴とする、付記２又は付記３記載の接続制御装置。
（付記５）
前記デバイスが前記切替部に接続されたことを検知する検知部をさらにそなえ、
前記判定部は、前記検知部により前記デバイスが前記切替部に接続されたことが検知された場合に、前記他のデバイスにより前記バスが使用されていない状態の検出を開始することを特徴とする、付記２〜４のいずれか１項記載の接続制御装置。
（付記６）
前記切替部は、前記複数の信号線について個別に前記デバイスとの間の接続の切り替えを行なう複数のスイッチをそなえ、
前記切替制御部は、前記判定部により検出された信号線に対応するスイッチに対して、前記切替制御を行なうことを特徴とする、付記１〜５のいずれか１項記載の接続制御装置。
（付記７）
前記判定部及び前記切替制御部のうちの少なくとも一方は、一以上の論理回路をそなえることを特徴とする、付記１〜６のいずれか１項記載の接続制御装置。
（付記８）
バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記バスに接続するデバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部と、
前記切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえることを特徴とする、情報処理装置。
（付記９）
前記判定部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行なうことを特徴とする、付記８記載の情報処理装置。
（付記１０）
所定期間の計時を行なうタイマー部をさらにそなえ、
前記判定部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、付記９記載の情報処理装置。
（付記１１）
前記バスは、２線式シリアルバスであり、
前記判定部は、前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であるか否かの判定を行なうことを特徴とする、付記９又は付記１０記載の情報処理装置。
（付記１２）
前記デバイスが前記切替部に接続されたことを検知する検知部をさらにそなえ、
前記判定部は、前記検知部により前記デバイスが前記切替部に接続されたことが検知された場合に、前記他のデバイスにより前記バスが使用されていない状態の検出を開始することを特徴とする、付記９〜１１のいずれか１項記載の情報処理装置。
（付記１３）
前記切替部は、前記複数の信号線について個別に前記デバイスとの間の接続の切り替えを行なう複数のスイッチをそなえ、
前記切替制御部は、前記判定部により検出された信号線に対応するスイッチに対して、前記切替制御を行なうことを特徴とする、付記８〜１２のいずれか１項記載の情報処理装置。
（付記１４）
前記判定部及び前記切替制御部のうちの少なくとも一方は、一以上の論理回路をそなえることを特徴とする、付記８〜１３のいずれか１項記載の情報処理装置。
（付記１５）
バスに対するデバイスの接続制御を行なう接続制御装置における接続制御方法であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定し、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう、
ことを特徴とする、接続制御方法。
（付記１６）
前記判定する処理において、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行なうことを特徴とする、付記１５記載の接続制御方法。
（付記１７）
前記判定する処理において、前記複数の信号線の各々から入力される信号の電圧レベルが、所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、付記１６記載の接続制御方法。
（付記１８）
前記バスは、２線式シリアルバスであり、
前記判定する処理において、前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であるか否かの判定を行なうことを特徴とする、付記１６又は付記１７記載の接続制御方法。
（付記１９）
前記デバイスが前記切替部に接続されたことを検知し、
前記判定する処理において、前記デバイスが前記切替部に接続されたことが検知された場合に、前記他のデバイスにより前記バスが使用されていない状態の検出を開始することを特徴とする、付記１６〜１８のいずれか１項記載の接続制御方法。
（付記２０）
前記切替部は、前記複数の信号線について個別に前記デバイスとの間の接続の切り替えを行なう複数のスイッチをそなえ、
前記切替制御を行なう処理において、前記判定する処理により検出された信号線に対応するスイッチに対して、前記切替制御を行なうことを特徴とする、付記１５〜１９のいずれか１項記載の接続制御方法。
【手続補正書】
【提出日】平成28年8月10日(2016.8.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスに対するデバイスの接続制御を行なう接続制御装置であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルの組み合わせに基づき前記バスのバスサイクルの開始タイミングを検出した場合、前記複数の信号線の各々から入力される信号の電圧レベルがそれぞれ所定の閾値未満であることを検出する検出部と、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記検出部により前記信号の電圧レベルが前記所定の閾値未満であることが検出された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえたことを特徴とする、接続制御装置。
【請求項２】
前記検出部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であることの検出を行なうことを特徴とする、請求項１記載の接続制御装置。
【請求項３】
所定期間の計時を行なうタイマー部をさらにそなえ、
前記検出部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、請求項２記載の接続制御装置。
【請求項４】
前記バスは、２線式シリアルバスであり、
前記検出部は、前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であることの検出を行なうことを特徴とする、請求項２又は請求項３記載の接続制御装置。
【請求項５】
バスに含まれる複数の信号線の各々から入力される信号の電圧レベルの組み合わせに基づき前記バスのバスサイクルの開始タイミングを検出した場合、前記複数の信号線の各々から入力される信号の電圧レベルがそれぞれ所定の閾値未満であることを検出する検出部と、
前記バスと前記バスに接続するデバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部と、
前記切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であることが検出された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえることを特徴とする、情報処理装置。
【請求項６】
前記バスは、２線式シリアルバスであり、
前記検出部は、
前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であることの検出を行ない、
前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であることの検出を行なうことを特徴とする、請求項５記載の情報処理装置。
【請求項７】
バスに対するデバイスの接続制御を行なう接続制御装置における接続制御方法であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルの組み合わせに基づき前記バスのバスサイクルの開始タイミングを検出した場合、前記複数の信号線の各々から入力される信号の電圧レベルがそれぞれ所定の閾値未満であることを検出し、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であることが検出された信号線を前記デバイスに接続させるように切替制御を行なう、
ことを特徴とする、接続制御方法。
【請求項８】
前記バスは、２線式シリアルバスであり、
前記検出する処理において、
前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であることの検出を行ない、
前記他のデバイスにより前記バスが使用されていない状態を検出した後、前記他のデバイスによる前記バスの使用開始のタイミングに応じて、前記複数の信号線のうちのデータ信号線及びクロック信号線の順で、各信号線から入力される信号の電圧レベルが前記所定の閾値未満であることの検出を行なうことを特徴とする、請求項７記載の接続制御方法。
【請求項９】
バスに対するデバイスの接続制御を行なう接続制御装置であって、
前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記判定部により前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえ、
前記判定部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行ない、
所定期間の計時を行なうタイマー部をさらにそなえ、
前記判定部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、接続制御装置。
【請求項１０】
バスに含まれる複数の信号線の各々から入力される信号の電圧レベルが所定の閾値未満であるか否かを判定する判定部と、
前記バスと前記バスに接続するデバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部と、
前記切替部に対して、前記信号の電圧レベルが前記所定の閾値未満であると判定された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、
をそなえ、
前記判定部は、前記各信号の電圧レベルに基づいて、前記バスに接続された他のデバイスにより前記バスが使用されていない状態を検出した場合に、前記信号線ごとに前記信号の電圧レベルが所定の閾値未満であるか否かの判定を行ない、
所定期間の計時を行なうタイマー部をさらにそなえ、
前記判定部は、前記複数の信号線の各々から入力される信号の電圧レベルが、前記タイマー部による前記所定期間の計時の間、いずれも前記所定の閾値以上である場合に、前記他のデバイスにより前記バスが使用されていない状態であると判定することを特徴とする、情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本件の接続制御装置は、バスに対するデバイスの接続制御を行なう接続制御装置であって、前記バスに含まれる複数の信号線の各々から入力される信号の電圧レベルの組み合わせに基づき前記バスのバスサイクルの開始タイミングを検出した場合、前記複数の信号線の各々から入力される信号の電圧レベルがそれぞれ所定の閾値未満であることを検出する検出部と、前記バスと前記デバイスとの間に介装され前記複数の信号線の各々と前記デバイスとの間の接続の切り替えを行なう切替部に対して、前記検出部により前記信号の電圧レベルが前記所定の閾値未満であることが検出された信号線を前記デバイスに接続させるように切替制御を行なう切替制御部と、をそなえる。
【国際調査報告】
2014155721.tif 000020
2014155721.tif 000021
2014155721.tif 000022