(57)【要約】【課題】I2Cバス接続された周辺部品がBus-Busyとなった場合でも、システム全体が動作し続けることができるようにすること。【解決手段】本発明のバス接続回路２１は、周辺部品側のI2C端子レベルを検出するバッファ２４と、周辺部品とシステム全体のI2Cバスとを切り離すＳＷ２５と、I2C故障検出制御モジュール２６と、周辺部品側がHi-Z状態になっているかを確認するためのPull Up抵抗３４と、Pull Down抵抗３５と、を備える。I2C故障検出制御モジュール２６は、バッファ２４で受けた値が、Highレベルか、それともLowレベルであるかを判断するH/Lレベル検出部３０と、Lowレベルの持続時間を測るLowレベル検出時間計測部３1と、ＳＷ２５をON/OFF制御するI2Cバス切断制御部３２と、Pull抵抗制御部３３と、を備える。【選択図】図１
2012068907.tif 000002
【特許請求の範囲】
【請求項１】
周辺部品と外部回路とをバス接続するバス接続回路であって、
前記周辺部品の出力値が、所定の２値出力値のいずれの値であるかを判定する出力レベル判定手段と、
前記周辺部品が、所与の一定時間を超えて前記所定の２値出力値のいずれか一方の出力値を出力し続ける場合に、該周辺部品に異常が生じたと判断するレベル検出時間計測手段と、
前記周辺部品に異常が生じた時に、前記周辺部品と前記外部回路とのバス接続を切断するバス切断制御手段と、
前記周辺部品と前記外部回路とのバス接続が切断された後、前記周辺部品が、前記所定の２値出力値の双方の値を交互に繰り返して出力すると判断された場合に、前記周辺部品と前記外部回路とのバス接続を復旧するバス接続復旧手段と、
を備えたことを特徴とするバス接続回路。
【請求項２】
前記レベル検出時間計測手段は、前記周辺部品が、所与の一定時間を超えて所定のLow レベルの出力値を出力し続ける場合に、該周辺部品に異常が生じたと判断することを特徴とする請求項１記載のバス接続回路。
【請求項３】
前記周辺部品が複数である場合に、前記複数の周辺部品の各々と前記外部回路とをバス接続することを特徴とする請求項１または請求項２記載のバス接続回路。
【請求項４】
前記周辺部品の回路内に含める形で、前記周辺部品と前記外部回路とをバス接続することを特徴とする請求項３記載のバス接続回路。
【請求項５】
前記周辺部品が複数である場合に、前記複数の周辺部品の一部で構成されるグループを一括して前記外部回路とバス接続することを特徴とする請求項１または請求項２記載のバス接続回路。
【請求項６】
前記周辺部品の回路から引き出されるライン毎に前記周辺部品と前記外部回路とをバス接続することを特徴とする請求項１乃至５のいずれか１項に記載のバス接続回路。
【請求項７】
前記周辺部品と前記外部回路とをI2C規格に準拠したバスでバス接続することを特徴とする請求項１乃至６のいずれか１項に記載のバス接続回路。
【請求項８】
周辺部品と外部回路とをバス接続するバス接続方法であって、
前記周辺部品の出力値が、所定の２値出力値のいずれの値であるかを判定する出力レベル判定ステップと、
前記周辺部品が、所与の一定時間を超えて前記所定の２値出力値のいずれか一方の出力値を出力し続ける場合に、該周辺部品に異常が生じたと判断するレベル検出時間計測ステップと、
前記周辺部品に異常が生じた時に、前記周辺部品と前記外部回路とのバス接続を切断するバス切断制御ステップと、
前記周辺部品が、前記所定の２値出力値を交互に繰り返して出力する場合に、前記周辺部品と前記外部回路とのバス接続を復旧するバス接続復旧ステップと、
を有することを特徴とするバス接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバス接続回路及びバス接続方法に係り、特に、電子機器等のバス接続デバイスが故障した際に必要な処置を行い、該電子機器等の稼働を継続させることができるバス接続回路及びバス接続方法に関する。
【背景技術】
【０００２】
従来、顧客側で使用されている電子機器等が不具合品として返品される際には、I2Cバス（オランダのPhilips社が開発したIC間用双方向シリアルバスの規格）に接続されている周辺部品に異常有りとして返品されることがあるが、この場合、当該I2Cバスに接続されている全ての部品が異常であると判断されてしまっており、この返品段階では異常個所の特定が困難であるという事態がたびたび発生している。
そこで、電子機器の不良率を改善して稼働率を上げるために、部品単位で異常個所を特定し、ひいては個々の部品が異常を起こさないようにする仕組み作りが必要となるため、最近は、I2Cバスに接続されているデバイスの故障を検出する機能を備えた電子機器の提供が課題となっている。
【０００３】
そこで、この分野に対応する先行技術として、例えば特許文献１には、低コストで信頼性が高いバスシステムを構成することが開示されている。具体的には、Ｉ２Ｃバスマスタインターフェースに対して２本のＩ２Ｃバスと、複数のスイッチを介して接続切り替え可能に前記複数のＩ２Ｃデバイスを接続し、前記複数のスイッチによって、個々のデバイスの電源のＯＮ（投入）／ＯＦＦ（切断）を個別に制御するものとしている。通常は一方のＩ２Ｃバスに全てのＩ２Ｃデバイスを接続し、バス障害が検出された場合には、Ｉ２Ｃデバイスを個別に切り離して原因のデバイスを特定すると共に、前記複数のスイッチによって当該デバイスの電源ＯＦＦ／ＯＮによる回復を試み、回復したら元に戻し、回復しない場合は縮退するものとしている。
【０００４】
また、例えば特許文献２には、ＩＩＣバス（Ｉ２Ｃバスのこと）に接続したＩＩＣデバイスがＬｏ出力状態にあっても、ＩＩＣデバイスにストップをかけ、正常な通信状態にすることができるＩＩＣバスを備えた制御回路のＩＩＣデバイスアクセス方法が開示されている。具体的には、ＩＩＣバスに接続したＩＩＣデバイスとデバイス制御機器とを備え、デバイス制御機器が前記ＩＩＣバスを介して行うＩＩＣデバイスアクセス方法において、デバイス制御機器がＩＩＣバスからＩＩＣデバイスにアクセスを開始する際、ＩＩＣバスのデータラインがＬｏの場合は、データラインがＨｉになるまでクロック信号を出力し、その後、ストップ信号を生成した後にＩＩＣデバイスにアクセスを行うものとしている。
【０００５】
また、例えば特許文献３には、複数のＳＲＡＭを備えた受信データ記憶部が故障を生じた際にはシステム全体に影響が無いように切り離し、信号処理への影響を最小限に抑えることが開示されている。具体的には、メモリ監視制御部が、電源部からＳＲＡＭに供給されている電流を、電流検出部により監視し、異常電流が流れているＳＲＡＭが検出されたとき、一旦当該ＳＲＡＭに接続されているバスをハイ・インピーダンスにして切り離すと共に、ディセーブル状態とし、また供給されている電源をオフにする。その後一定時間をおいて当該ＳＲＡＭをイネーブル状態に再設定し、電源供給を再開する。そして、電流検出部で当該ＳＲＡＭの動作電流を監視し、一定時間正常状態の場合は当該ＳＲＡＭに接続されているバスを再接続するものとしている。
【０００６】
さらに、例えば特許文献４には、データ通信システムの分野、特にＩ２Ｃバスを介して通信を容易にするための方法及びデバイスが開示されている。具体的には、Ｉ２Ｃバスに対するスレーブインタフェイスを制御するためのロバストなステートマシンとし、該ステートマシンは、Ｉ２Ｃ規格のスレーブデバイスプロトコルを用いると共に異常なマスタデバイス動作からの回復を行う。スレーブデバイスにおけるステートマシンの状態遷移は、開始状態が検出される場合を除いて、Ｉ２ＣバスのＳＣＬラインのマスタデバイス制御によって制御する。前記ステートマシンは、自己の現在の状態に関わらず、Ｉ２Ｃバス上の開始状態に非同期に応答して、自己を認知された状態にする。開始状態に後続する認知状態において、スレーブデバイスはＩ２Ｃバスへの全ての送信を終了させる。これにより、バス上において引き続き生じる干渉が最小限化されるものとしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２４２０４８号公報
【特許文献２】特開２００４−２５２７０２号公報
【特許文献３】特開２００７−００６３３６号公報
【特許文献４】特表２００４−５３４３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記背景技術で述べた従来のバス接続回路及びバス接続方法にあっては、周辺部品の１つがBus-Busy状態になってしまうと、その部品が接続されているI2C バス全体が使用不可能となるという問題点が有った。
また、周辺部品の１つがBus-Busy状態になってしまって、復帰不可能な場合、故障した周辺部品の特定が困難になるという問題点が有った。
さらに、周辺部品の１つがBus-Busy状態になってしまった場合、該部品の接続されているI2C バスが使用不可能となり、その結果、システム全体が起動できなくなると共に、故障原因の特定もできず、故障箇所が不明となり、解析ができなくなるという問題点が有った。
【０００９】
図１０は、従来のI2C バス接続回路の回路図である。
図１０に示すように、System LSI１０のI2C＿sda、I2C＿sclラインには、R1、R2のPull Up抵抗が接続されており、その先に、周辺部品１、周辺部品２・・・周辺部品６、で示す複数の周辺部品が接続されている。
図１１は、従来のI2C バス接続回路の一般的な周辺部品の回路を示す回路図である。
図１１で示す周辺部品２０は、具体的にはI2C I/F回路である。この周辺部品２０は、入力Buffer２２と、出力用FET２３と、を具備している。
【００１０】
以下、図１、図２を参照して、従来のI2Cバス接続回路の問題点を説明する。
仮に、出力用FET２３が、何らかの不具合でショートしてしまった場合、この周辺部品は、外部回路に対してLowレベルを出力し続けることになる。例えば、図１０において、周辺部品６がこれと同じ状態になった場合には、I2Cバス全体をBus-Busy状態としてしまうこととなり、故障していない周辺部品１〜５まで、アクセス不可能な状態となってしまう。
【００１１】
なお、本発明は、上記の問題点の解決を図ることを意図したものであり、
（１）  スレーブ動作する周辺部品（Ｉ２Ｃバス接続デバイス）を、Ｉ２Ｃバス（一般には複数ラインを有する）を介してマスター回路に接続する接続回路において、
（２）  前記周辺部品が所定の一定時間を超えてＬｏｗレベルを出力し続ける故障（Ｌｏｗレベル故障）に起因してバスビジーを発生させたことを検出し、該故障を生じた周辺部品のみをバスから切り離し、
（３）  これにより、Ｉ２Ｃバスに接続された全ての前記周辺部品が使用不可になる事態を回避し、
（４）  前記周辺部品のＬｏｗレベル故障が解消された場合には、前記周辺部品をＩ２Ｃバスに再接続し、デバイスを再び使えるようにする、
ことを骨子としている。
【００１２】
これに対し、前述の特許文献１に記載の方法は、本発明のように周辺部品の出力値の持続時間とその変化によって故障や回復の判断をするものではなく、バス障害時にも、周辺部品に容易された複数の電源スイッチを切り替えるだけである。また、前述の特許文献２に記載の方法は、周辺部品がＬｏｗレベル故障を生じた場合、クロックだけは供給しておいて該周辺部品の回復に期待するものであり、本発明の構成とは関係が無い。また、前述の特許文献３に記載の方法は、周辺部品の監視に供給電流を生じており、回復の判断も一定時間経過時に行うだけである。さらに、前述の特許文献４に記載の方法は、本発明のように周辺部品の出力値の持続時間とその変化によって故障や回復の判断をするものではないと判断される。
【００１３】
本発明は、上記従来の問題点に鑑みてなされたものであって、電子機器等において、I2C バス接続された周辺部品がBus-Busyとなった際に、該Bus-Busyとなった周辺部品をI2C バス上から切り離すことを可能にして、システム全体が動作できなくなる状況を回避すると共に、該切り離した周辺部品が無くても、システム全体が動作し続けることができるバス接続回路を提供することを目的としている。
本発明の他の目的は、電子機器等において、I2C バス接続された周辺部品がBus-Busyとなった際に、該Bus-Busyとなった周辺部品をI2C バス上から切り離すことを可能にして、システム全体が動作できなくなる状況を回避すると共に、該切り離した周辺部品が無くても、システム全体が動作し続けることができるようにするバス接続方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明に係るバス接続回路は、周辺部品と外部回路とをバス接続するバス接続回路であって、前記周辺部品の出力値が、所定の２値出力値のいずれの値であるかを判定する出力レベル判定手段と、前記周辺部品が、所与の一定時間を超えて前記所定の２値出力値のいずれか一方の出力値を出力し続ける場合に、該周辺部品に異常が生じたと判断するレベル検出時間計測手段と、前記周辺部品に異常が生じた時に、前記周辺部品と前記外部回路とのバス接続を切断するバス切断制御手段と、前記周辺部品と前記外部回路とのバス接続が切断された後、前記周辺部品が、前記所定の２値出力値の双方の値を交互に繰り返して出力すると判断された場合に、前記周辺部品と前記外部回路とのバス接続を復旧するバス接続復旧手段と、を備えたことを特徴とする。
【００１５】
また、本発明に係るバス接続方法は、周辺部品と外部回路とをバス接続するバス接続方法であって、前記周辺部品の出力値が、所定の２値出力値のいずれの値であるかを判定する出力レベル判定ステップと、前記周辺部品が、所与の一定時間を超えて前記所定の２値出力値のいずれか一方の出力値を出力し続ける場合に、該周辺部品に異常が生じたと判断するレベル検出時間計測ステップと、前記周辺部品に異常が生じた時に、前記周辺部品と前記外部回路とのバス接続を切断するバス切断制御ステップと、前記周辺部品が、前記所定の２値出力値を交互に繰り返して出力する場合に、前記周辺部品と前記外部回路とのバス接続を復旧するバス接続復旧ステップと、を有することを特徴とする。
【発明の効果】
【００１６】
以上説明したように、本発明のバス接続回路によれば、周辺部品の１つがBus-Busy状態になってしまった際には、該Bus-Busy状態となった周辺部分だけをI2Cバスから切り離すので、I2Cバス全体が使用不可となることを回避することができる効果が有る。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るバス接続回路の全体構成を示す構成図である。
【図２】本発明の実施形態に係るバス接続回路２１と周辺部品２０（I2C I/F 回路）との具体的な接続関係を示す回路図である。
【図３】本発明の実施形態に係るバス接続回路２１を複数の周辺部品とSystem-LSIとの間に接続した回路の１例示す回路図である。
【図４】周辺部品が完全に破壊している場合の、本発明の実施形態に係るバス接続回路２１の動作を示す説明図である。
【図５】周辺部品が一時的にLow ドライブした場合の、本発明の実施形態に係るバス接続回路２１の動作を示す説明図である。
【図６】周辺部品が正常品であった場合の、本発明の実施形態に係るバス接続回路２１の動作を示す説明図である。
【図７】本発明の実施形態に係るバス接続回路２１の他の構成例を示す回路図である。
【図８】本発明の実施形態に係るバス接続回路２１の他の構成例を示す回路図である。
【図９】本発明の実施形態に係るバス接続回路２１を周辺部品に取り込んだ構成例を示す回路図である。
【図１０】従来のI2C バス接続回路の回路図である。
【図１１】従来のI2C バス接続回路の一般的な周辺部品の回路を示す回路図である。
【発明を実施するための形態】
【００１８】
本発明は、I2C デバイスを使用する全ての電子機器に適用可能である。
本発明では、I2C接続デバイスが、電源断や配線ショートなどにより、Bus-Busy状態で固まってしまった場合、本発明のI2Cバス故障検出IC２１（後述）によって、Bus-Busyとなった周辺部品をI2Cバス上から切り離し、周辺部品の故障によって、システム全体が、動作できなくなる状況を回避し、さらに、故障した周辺部品無しでも、システムが動作し続けることができるようにしている。
また、従来は、I2C接続先の周辺部品が１つでも故障した場合に、I2Cバス全体がアクセス不可能な状態となり、故障箇所の特定も困難であったが、本発明では、故障した周辺部品以外のデバイスへはアクセス可能とし、故障部品の特定、故障解析、問題改善を可能にすることで、システム全体の弱点の改善などに繋げることができるようにしている。
【００１９】
以下、本発明のバス接続回路及びバス接続方法の実施形態について、図面を参照して詳細に説明する。
図１は、本発明の実施形態に係るバス接続回路の全体構成を示す構成図である。
同図において、図１０，１１（従来例）と重複する部分には同一の符号を附す。
図１に示す本発明の実施形態に係るバス接続回路２１（I2C バス故障検出IC）は、周辺部品（I2C 接続デバイス）側のI2C端子レベルを検出するバッファ２４と、周辺部品とシステム全体のI2Cバスとを切り離すＳＷ２５（スイッチ）と、I2C故障検出制御モジュール２６と、周辺部品側がHi-Z（ハイ・インピーダンス）状態になっているかを確認するためのPull Up抵抗３４と、Pull Down抵抗３５と、を備える。
【００２０】
I2C 故障検出制御モジュール２６は、バッファ２４で受けた値が、Highレベルであるか、それともLow レベルであるかを判断するH/L レベル検出部３０と、Low レベルの持続時間を測るLowレベル検出時間計測部３1 と、ＳＷ２５をON/OFF制御するI2Cバス切断制御部３２と、Pull Up抵抗３４と、Pull Down抵抗３５のON/OFFを制御するPull抵抗制御部３３と、を備える。
図２は、本発明の実施形態に係るバス接続回路２１と周辺部品２０（I2C I/F回路）との具体的な接続関係を示す回路図である。
I2C バス故障検出IC２１は、図２に示すように、周辺部品２０と外部回路（I2Cバス）との間に挿入される。
【００２１】
周辺部品２０は、ここでは、I2C 規格の接続仕様に準拠したデバイスとしているが、本発明は、一般には、任意の規格の接続仕様に準拠したデバイスに対して適用可能である。
また、周辺部品２０は、任意の回路を備えた任意の装置であってもよい。
以下、図１，２を参照して、本実施形態のバス接続回路の全体的な機能を説明する。
本発明では、本発明の実施形態に係るバス接続回路２１（I2Cバス故障検出IC）を、図１０に示すSystem LSI１０と、周辺部品との間に挿入接続することにより、前述の課題を解決している。
【００２２】
即ち、仮に周辺部品が故障し、Bus-Busy状態で固まってしまった場合、バス接続回路２１が、周辺部品の故障を検出し、I2Cバスから切り離す処理を実行することによって、I2C バス全体が使用不可能となる事態を回避する。
故障した周辺部品は、電気的に切断されているので、System LSI１０（図１０参照）から故障した周辺部品にアクセスがあった場合でも、NACK応答となるので、故障箇所が特定可能となる。
【００２３】
以下、図１，２を参照して、本実施形態のバス接続回路の機能を更に詳細に説明する。
Lowレベル検出時間計測部３１は、一定期間Lowレベルが続いたことで、I2Cバス切断制御部３２に、ＳＷ２５をOFFにする指令を出すことができる。また、一定期間経過前に、Highレベルを検出した場合は、I2Cバス切断制御部３２に、ＳＷ２５をONにする指令を出すことができる。  
H/Lレベル検出部３０は、周辺部品側がHi-Z状態であることを確認するためのHigh/Low繰り返しを検出することで、I2C バス切断制御部３２に、ＳＷ２５をONにする指令を出すことができる。
【００２４】
図３は、本発明の実施形態に係るバス接続回路２１を複数の周辺部品とSystem-LSIとの間に接続した回路の１例を示す回路図である。
同図に示す回路図は、周辺部品６のバス接続とSystem-LSI１０（スレーブの周辺部品群に対してマスター動作をするＬＳＩ）との接続に、バス接続回路４０を適用している。ここで、このバス接続回路４０では、I2C＿sda、I2C＿sclラインの各々に、本発明の実施形態に係るバス接続回路２１（I2Cバス故障検出IC）を接続している。よって、バス接続回路４０には、バス接続回路２１を合計２回路分搭載している。
【００２５】
この回路例では、接続に使用するI2CバスをI2C＿sdaとI2C＿sclとの２ラインとしたが、本発明では、一般に、外部回路と周辺部品との接続に使用するI2Cバスのライン数は任意である。
また、この回路例では、スレーブ回路のSystem-LSI１０に接続される周辺部品の個数を６個としたが、本発明では、一般に、スレーブ回路のSystem-LSI１０に接続できる周辺部品の個数は任意である。
【００２６】
（動作の説明）
図４は、周辺部品が完全に破壊している場合の、本発明の実施形態に係るバス接続回路２１の動作を示す説明図である。
以下、周辺部品（ここでは周辺部品６）が完全に破損して、I2CラインがLowに張り付いてしまった場合の動作について説明する。
周辺部品６が電源断などを生じることによって、I2C＿sda端子またはI2C ＿scl端子の出力がLowレベルに張り付いた場合、H/L レベル検出部３０が、該Lowレベルを検出した（ステップＳ１０）ことで、Lowレベル検出時間計測部３１に対して、Lowレベル維持時間計測用のタイマの計時開始を指令する。
【００２７】
該タイマが満了するまでに、H/L レベル検出部３０から、Highレベルを検出したとの連絡が無かった場合には、Lowレベル検出時間計測部３１は、I2Cバス切断制御部３２に対して、ＳＷ２５をOFFにするよう指令する（ステップＳ１１）。これを受けて、I2Cバス切断制御部３２がＳＷ２５をOFFにし、これにより、周辺部品６は、I2Cバスから切断される。
Lowレベル検出時間計測部３１にセットする前記タイマの時間は、周辺部品６のI2C I/Fのwait時間の最大specを少し超えるくらいの時間に設定する。このため、周辺部品６が正常に動作している限り、前記タイマが満了となることはない。
【００２８】
周辺部品６が、外部のI2Cバスから切断された後、Pull抵抗制御部３３は、Pull Up抵抗３４とPull Down抵抗３５とを交互にON/OFFする。
周辺部品６のI2C端子がLowに張り付いている場合は、Pull Up抵抗３４がONであっても、端子がHighレベルにはならないため、H/Lレベル検出部３０は、常にLowレベルを検出することになる。Pull Up抵抗３４がONの時に、Highレベル電圧を検出できなかった場合、H/L レベル検出部３０は何も指示を出さないため、ＳＷ２５は、OFFのままとなる。
【００２９】
図５は、周辺部品が一時的にLowドライブした場合の、本発明の実施形態に係るバス接続回路２１の動作を示す説明図である。
以下、周辺部品（ここでは周辺部品６）が、一時的に長時間Lowドライブし、正常復帰するか、若しくは正常ではないが、Hi-Z状態に戻った場合の動作について説明する。
周辺部品６のI2C＿sda端子またはI2C＿scl端子の出力値が、該部品の定めるspecを超えてLowレベルが続いたような場合、H/Lレベル検出部３０が、Lowレベルを検出した（ステップＳ２０）ことで、Lowレベル検出時間計測部３１に対して、時間計測用のタイマの計時開始を指令する。
【００３０】
該タイマが満了するまでに、H/Lレベル検出部３０から、Highレベルを検出したとの連絡が無かった場合、Lowレベル検出時間計測部３１は、I2Cバス切断制御部３２に対して、ＳＷ２５をOFFにするよう指令する（ステップＳ２１）。これを受けて、I2Cバス切断制御部３２はＳＷ２５をOFFにし、これにより、周辺部品と、I2Cバスは切断される。
該周辺部品と、外部のI2Cバスとの接続が切断された後、Pull抵抗制御部３３は、Pull Up抵抗３４とPull Down抵抗３５とを交互にON/OFFする。
【００３１】
この動作例では、Pull抵抗制御部３３が１回目のPull Down抵抗３５のON中に、周辺部品６の端子がLowドライブからHi-Zに戻っている（ステップＳ２３）。このため、２回目のPull Up抵抗３４をONにする処理以降、前述のPull抵抗の制御に合わせて、周辺部品６の端子の出力値がHigh/Lowレベルに変化する動作をとることとなる。
H/Lレベル検出部３０は、HighレベルとLowレベルとを交互に検出すると、I2Cバス切断制御部３２に対して、ＳＷ２５をONにする指令する（ステップＳ２４）。この後、周辺部品６は、通常通り使用可能となる。
【００３２】
図６は、周辺部品が正常品であった場合の、本発明の実施形態に係るバス接続回路２１の動作を示す説明図である。
以下、周辺部品が正常品であった場合の、本発明の実施形態に係るバス接続回路２１の動作を説明する。
System LSI１０から、周辺部品６へのアクセスがあった場合、若しくは周辺部品６がクロックストレッチして、I2Cバスに対してwaitを掛けている場合などには、I2C＿sda端子、及びI2C＿scl端子の出力値がLowレベルとなる。
この場合、H/L レベル検出部３０は、Low レベル検出時間計測部３１に対して、タイマの計時開始指示を出す（ステップＳ３０）が、直後にHighレベルを検出するので、タイマの停止指示を出す（ステップＳ３１）。この間、I2C バス切断制御部３２は何もしないので、ＳＷ２５は、ONのままであり、Pull抵抗制御部３３も動作しない。
（その他の実施の形態）  
【００３３】
図７は、本発明の実施形態に係るバス接続回路２１の他の構成例を示す回路図である。
図１に示すバス接続回路２１の構成では、周辺部品６とI2Cバスとの間に、I2Cバス故障検出ICを挿入したが、このような挿入を、図７に示すように、全ての周辺部品に拡張して行うことができる。
ここでは、周辺部品１にバス接続回路４６を、周辺部品２にバス接続回路４５を、周辺部品３にバス接続回路４４を、周辺部品４にバス接続回路４３を、周辺部品５にバス接続回路４２を、周辺部品６にバス接続回路４１を、それぞれ接続した回路例を示している。
ここでも、図３に示すように、バス接続回路４１〜４６の各々には、バス接続回路２１（図１，２参照）を合計２回路分搭載している。
【００３４】
この構成例においても、いずれか１つの周辺部品が破損し、Bus-Busy状態となった場合は、異常となった周辺部品は、前述の図４での説明のように動作し、その他の正常部品は、前述の図５，６での説明のように動作する。
この回路例では、接続に使用するI2CバスをI2C＿sdaとI2C＿sclとの２ラインとしたが、本発明では、一般に、外部回路と周辺部品との接続に使用するI2Cバスのライン数は任意である。
また、この回路例では、スレーブ回路のSystem-LSI１０に接続される周辺部品の個数を６個としたが、本発明では、一般に、スレーブ回路のSystem-LSI１０に接続できる周辺部品の個数は任意である。
【００３５】
図８は、本発明の実施形態に係るバス接続回路２１の他の構成例を示す回路図である。
図８に示すバス接続回路２１の構成では、基板の境目や、１つの纏まったシステムを構成するグループとのバス接続などに本発明の実施形態に係るバス接続回路を挿入する。
ここでは、周辺部品３〜６が、１つの纏まったシステムとして見なされ、これらの周辺部品とバスとの間にバス接続回路４７を接続している。このバス接続回路４７には、バス接続回路２１（図１，２参照）が合計２回路分搭載されている。
前述の図７に示す構成例では、接続する周辺部品の個数だけ、本発明の実施形態に係るバス接続回路２１（I2Cバス故障検出IC）が必要となるので、コストが高くなる。これに比べて、図８に示す構成例では、本発明の実施形態に係るバス接続回路２１（I2Cバス故障検出IC）を、必要最低限の箇所に挿入することで済ませられるので、多大のコストを掛けることなく前述の課題を達成することができる。
【００３６】
この回路例では、接続に使用するI2C バスをI2C＿sdaとI2C＿sclとの２ラインとしたが、本発明では、一般に、外部回路と周辺部品との接続に使用するI2Cバスのライン数は任意である。
また、この回路例では、スレーブ回路のSystem-LSI１０に接続される周辺部品の個数を６個としたが、本発明では、一般に、スレーブ回路のSystem-LSI１０に接続できる周辺部品の個数は任意である。
【００３７】
図９は、本発明の実施形態に係るバス接続回路２１を周辺部品に取り込んだ構成例を示す回路図である。
同図に示すように、本発明の実施形態に係るバス接続回路２１（図１，２参照）は、周辺部品２０（I2C I/F回路）の回路要素として、周辺部品２０に取り込む構成にすることも可能である。このような周辺部品を使用すると、故障検出用に新たなバス接続回路２１を使用する必要が無くなり、システム全体の回路構成が簡単になる。この構成でも、外部回路と周辺部品との間に接続されるI2Cバスのライン数は任意である。
【００３８】
本発明の実施形態によれば、周辺部品の１つがBus-Busy状態になってしまっても、I2C バス全体が使用不可となることがなく、異常部品だけを、I2C バスから切り離すことができる効果が有る。
また、異常と判定して、一旦I2C バスから切り離した周辺部品に対して、その後にBus-Busy状態であるか否かを判定し、Bus-Busy状態ではないと判断できれば、再度I2C バスに接続し直すので、周辺部品の一時的な異常を救える効果が有る。
また、異常部品が切り離された後、周辺部品を接続するSystem LSI１０から、複数の周辺部品各々へのアクセス可能性の可否を確認することで、どの部品が異常となったかを判定することができる効果が有る。
【００３９】
さらに、上記のとおり、異常部品の特定ができることにより、システム（当該電子機器全体）の弱点の解析や、異常部品に対する破壊対策などが可能となる効果がある。
なお、この実施形態では、周辺部品の異常を判断する手段として、Lowレベル検出時間計測部が、周辺部品が所定の一定時間を超えてLowレベルの出力値を出力し続けるか否かを判定条件としたが、本発明では、一般に、周辺部品が所定の一定時間を超えてHighレベルの出力値を出力し続けるか否かを判定条件とすることも可能である。
また、この実施形態では、I2Cバスに対応するシステムについて説明したが、本発明は、一般に、任意の規格のバスに対応するシステムについても適用可能である。
【符号の説明】
【００４０】
１〜６  周辺部品（I2C I/F回路）
１０  System LSI
２１  バス接続回路（I2Cバス故障検出IC）（本発明に係るバス接続回路）
２２  入力Buffer
２３  出力用FET 
２４  バッファ
２５  ＳＷ（スイッチ）
２６  バス故障検出制御モジュール
３０  H/L レベル検出部
３１  Low レベル検出時間計測部
３２  I2C バス切断制御部
３３  Pull抵抗制御部
３４  Pull Up抵抗
３５  Pull Down抵抗
４０〜４７  バス接続回路（I2Cバス故障検出IC）
【図１】
2012068907.tif 000003
【図２】
2012068907.tif 000004
【図３】
2012068907.tif 000005
【図４】
2012068907.tif 000006
【図５】
2012068907.tif 000007
【図６】
2012068907.tif 000008
【図７】
2012068907.tif 000009
【図８】
2012068907.tif 000010
【図９】
2012068907.tif 000011
【図１０】
2012068907.tif 000012
【図１１】
2012068907.tif 000013