(57)【特許請求の範囲】
【請求項１】
バスと、
前記バスに接続された複数のマスタモジュールであって、それぞれが前記バスを介してトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備え、前記バス通信論理回路が、前記バスのビジー状態を検出し、当該検出に応答して、ビジー状態がクリアされるまでトランザクションの開始を保留する複数のマスタモジュールと、
前記複数のマスタモジュールのそれぞれのマスタモジュールにリセットメカニズムのインスタンスを備える分散型リセットサブシステムであって、それぞれのマスタモジュールでの前記リセットメカニズムは、検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識し、前記タイムアウト状況の認識に応答して、段階式のリセットを行う分散型リセットサブシステムと
備えるシステムであって、
前記段階式のリセットが、まず、前記それぞれのマスタモジュールのそれぞれのバス通信論理回路をリセットするローカルリセットを試み、前記ローカルリセットが前記エラーをクリアできなかった場合、その後、前記バスに接続されている１つ又は複数の他のモジュールのバス通信論理回路をリセットするために１つ又は複数の更なるリセットを試みる、システム。
【請求項２】
前記バスが、前記マスタモジュールの少なくとも幾つかの間にケーブルを備える、請求項１に記載のシステム。
【請求項３】
前記ケーブルは、シールドが施されていないケーブルを備える、請求項２に記載のシステム。
【請求項４】
前記マスタモジュールの少なくとも幾つかが、それぞれの照明器具の一部をそれぞれ形成し、前記それぞれの照明器具の制御装置として構成される、請求項２又は３に記載のシステム。
【請求項５】
前記１つ又は複数の更なるリセットが、少なくとも、バスに接続されている複数の前記他のモジュールの前記バス通信論理回路をリセットするリセットを含む、請求項１乃至４の何れか一項に記載のシステム。
【請求項６】
前記１つ又は複数の更なるリセットが、少なくとも、バスに接続されている全ての前記他のモジュールの前記バス通信論理回路をリセットするリセットを含む、請求項５に記載のシステム。
【請求項７】
前記１つ又は複数の更なるリセットが、少なくとも、前記それぞれのマスタモジュールが司る、前記バスに接続されている１つ又は複数の他のモジュールのハードリセットを含み、前記ハードリセットが、パワーリセット、及び／又はリセットされる各モジュールのピンによるリセットを含む、請求項１乃至６の何れか一項に記載のシステム。
【請求項８】
前記１つ又は複数の更なるリセットが、少なくとも、前記バスに接続されている１つ又は複数のダムモジュールをリセットするリセットを含み、前記ダムモジュールが、スレーブモジュール、又は前記リセットメカニズムのインスタンスを装備されていないマスタモジュールである、請求項１乃至７の何れか一項に記載のシステム。
【請求項９】
前記段階式のリセットが、少なくとも３段階リセットを備え、前記更なるリセットが、順に、
前記バスを介してリセット信号を送信することによって、前記バスに接続されている１つ又は複数の前記他のモジュールの前記バス通信論理回路をリセットするソフトリセットと、
その後、前記ソフトリセットが前記エラーをクリアできなかった場合の、前記それぞれのマスタモジュールが司る、前記バスに接続されている１つ又は複数の他のモジュールのハードリセットとを含み、前記ハードリセットが、パワーリセット、及び／又はリセットされる各モジュールのリセットピンによるリセットを含む、
請求項１乃至８の何れか一項に記載のシステム。
【請求項１０】
前記ハードリセットが、前記バスとは別の制御ラインを介して信号伝送される、請求項９に記載のシステム。
【請求項１１】
前記マスタモジュールがそれぞれプロセッサを備え、前記リセットメカニズムが、前記プロセッサ上で実行されるソフトウェアとして実装される、請求項１乃至１０の何れか一項に記載のシステム。
【請求項１２】
各マスタモジュールそれぞれの前記リセットメカニズムが、前記タイムアウト状況を認識するためにそれぞれの一意のタイムアウト値を使用し、前記タイムアウト値が、前記バスに接続されている前記複数のマスタモジュール間で一意である、請求項１乃至１１の何れか一項に記載のシステム。
【請求項１３】
前記それぞれの一意のタイムアウト値が各々、前記それぞれのマスタモジュールのアドレス又はシリアル番号に基づく、請求項１２に記載のシステム。
【請求項１４】
バスに接続された複数のマスタモジュールの１つとして使用するための第１のマスタモジュールであって、各マスタモジュールが前記バスを介するトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備え、
前記第１のマスタモジュールの前記バス通信論理回路が、前記バスのビジー状態を検出し、当該検出に応答して、前記ビジー状態がクリアされるまで前記バスを介するトランザクションを開始するのを保留し、
前記第１のマスタモジュールが、リセットメカニズムを備え、前記リセットメカニズムが、前記検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識し、前記タイムアウト状況の認識に応答して、段階式のリセットを行い、
前記段階式のリセットが、まず、前記第１のマスタモジュールの前記バス通信論理回路をリセットするローカルリセットを試み、前記ローカルリセットが前記エラーをクリアできなかった場合、その後、前記バスに接続されている１つ又は複数の他のモジュールのバス通信論理回路をリセットするために１つ又は複数の更なるリセットを試みる、
第１のマスタモジュール。
【請求項１５】
バスに接続された複数のマスタモジュールの１つである第１のマスタモジュールを少なくとも動作させるためのコンピュータプログラムであって、各マスタモジュールが前記バスを介するトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備え、前記コンピュータプログラムはコードを備え、前記コードが、前記第１のマスタモジュールのプロセッサ上で実行される時に、
前記第１のマスタモジュールの前記バス通信論理回路の少なくとも一部を実施する動作であって、前記バスのビジー状態を検出すること、当該検出に応答して、前記ビジー状態がクリアされるまで前記バスを介するトランザクションの開始を前記バス通信論理回路に保留させることを含む動作と、
前記検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識する動作と、
前記タイムアウト状況の認識に応答して、段階式のリセットを行う動作と
を行い、
前記段階式のリセットが、まず、前記第１のマスタモジュールの前記バス通信論理回路をリセットするローカルリセットを試み、前記ローカルリセットが前記エラーをクリアできなかった場合、その後、前記バスに接続されている１つ又は複数の他のモジュールのバス通信論理回路をリセットするために１つ又は複数の更なるリセットを試みる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数のモジュールがマスタであることを許可する、即ちバスを介するトランザクションを開始することを許可する通信バス及びバスプロトコルに関する。
【背景技術】
【０００２】
Ｉ２Ｃは、一種のシリアルコンピュータバスであり、これは、マザーボード、埋込式システム、携帯電話、又は他の電子デバイスに低速周辺機器を取り付けるために使用され得る。典型的には、Ｉ２Ｃは、プリント回路基板（ＰＣＢ）上で使用され、限定された数のスレーブデバイスを１つのマスタマイクロコントローラに接続する。それにも関わらず、Ｉ２Ｃプロトコルは、複数のマスタを見込み、即ち、（例えば、別のモジュールに命令若しくは情報を提供する、又は別のモジュールからの情報を読み取るために）バスを介するトランザクションをそれぞれ開始することができる複数のモジュールを見込む。あらゆる参与モジュールがマスタであることさえも可能である。更に、Ｉ２Ｃは、１つのＰＣＢ内部でだけでなく、ケーブルを介して構成要素を接続するために使用され得る。
【０００３】
しかし、ケーブルを使用して一体に接続された複数の制御装置にシステムを拡張することは、設計段階では分からない外乱を非常に受けやすくすることがある。設計は、通信ライン上で外乱が生じないことを保証することができない。Ｉ２Ｃがより長距離にわたる通信、例えばケーブル通信に関して使用される場合、「バッファ」集積回路を使用することが知られている。これらのバッファＩＣは、信頼性を改良するが、経費を増す。
【０００４】
Ｉ２Ｃ等のインターフェースシステムを、照明制御システム等、より広範囲の用途にわたる通信インターフェースの提供により適したものにすることが望ましい。これは、利点をもたらし得るが、問題も生じ得る。例えば、複数の構成要素の任意のもの、又は更にはあらゆる構成要素が、システム内部でマスタになり得、あらゆるモジュールを何度もポーリングする必要なく、必要とされる瞬間に情報の迅速な交換を可能にする。しかし、ノイズの多い環境におけるＩ２Ｃ等のマルチマスタシステムの使用は問題である。なぜなら、通信ラインが外乱を受けることがあり、通信バスの利用可能性をしばしば低減するからである。
【０００５】
バス上でのそのような外乱又は「グリッチ」は、バス上の１つ又は複数の構成要素でエラー状態を引き起こすことがある。例えば、全てのＩ２Ｃバスマスタが、バスを継続的に監視する。バスが利用可能であるとき、バスマスタの１つが、バスを介してデータを送信し得る。この送信の開始信号は、他のバスマスタによって検出され、これは、他のバスマスタにおける「バスビジー」待機状態をトリガする。この待機状態は、送信の停止信号が検出されるまで維持される。従って、バスマスタの１つ又は複数が、バス上でのグリッチを送信の開始と解釈する場合、それらのバスマスタは、グリッチの結果として待機状態に入り、次いで、（それに対応する停止信号の送信がないので）無期限でその待機状態に留まる。
【０００６】
また、バス上での外乱により、モジュールが動かなくなり、バス上で何らかのエラー信号を出力する時にも、エラー状態が生じ得る。例えば、Ｉ２Ｃプロトコルに従って、アドレスされるモジュールは、８つのクロックパルスにわたる８ビットのデータを受信し、次いで、第９のビットでクロックライン（ＳＣＬ）をローにすることによって肯定応答すべきである。バス上での外乱により、過剰な異常クロックパルスがデータと同期しなくなる場合、これにより、アドレスされたモジュールは、クロックラインを無期限でローに保ち続ける状態に陥ることがある。従って、バスは、見掛け上、「ビジー」状態に留まり、任意の他の通信をブロックする。
【０００７】
また、複数のマスタモジュールの可能性を見込む他のバスシステムでも同様の問題が生じ得る。一般に、予想又は許可されない状態遷移によりモジュールがバスをハング又はブロックし得る、潜在的に起こり得る多くのシナリオが存在する。
【０００８】
シングルマスタセットアップでは、そのような問題は、比較的容易に克服できる。なぜなら、単一の制御装置が、バス上で起こることを決断し、その単一の制御装置によって制御及び介入が容易に実施され得るからである。他方、マルチマスタ方式を使用すると、バスが使用不可であるかどうか、又は別のマスタが有効な通信のためにバスを使用しているかどうかをどの制御装置も分からない。Ｉ２Ｃベースのシステム、又は複数のマスタを許可する他のインターフェースシステムでの信頼性を改良することを試行することが望ましい。
【０００９】
従って、複数の参与モジュールがマスタでよく、どの参与モジュールも任意の所与の時点でバスをブロックすることができ、そのデバイスをシステム又は他の参与モジュールが識別することが可能でないシステムにおいて、バスを迅速に且つ秩序立てて解放するためのメカニズムを提供し、通信ラインにわたる制御を回復することが望ましい。
【発明の概要】
【課題を解決するための手段】
【００１０】
そのような問題に対処するために、本明細書では、エラーが解決されるまで一連の連続する回復段階に従うことによってマスタモジュールがエラー状態に応答する故障回復メカニズムであって、各段階が直前の段階よりも厳しい故障回復メカニズムが開示される。
【００１１】
本明細書で開示される一態様によれば、バスと、バスに接続された複数のマスタモジュールと、複数のリセット段階を試みるように構成された分散型リセットサブシステムとを備えるシステムが提供される。
【００１２】
複数のマスタモジュールはそれぞれ、バスを介してトランザクションを開始するように動作可能なそれぞれのバス通信論理回路を備える。バス通信論理回路は、バスを介して別のモジュールが通信している（又は見掛け上、別の通信が存在する）時に、ビジー状態を検出するように構成される。ビジー状態の検出に応答して、バス通信論理回路は、この状態がクリアされるまでバスを介するトランザクションを開始するのを待機する。
【００１３】
本発明による分散型リセットサブシステムは、複数のマスタモジュールそれぞれにリセットメカニズムのインスタンスを備える。各マスタモジュールでのリセットメカニズムは、検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識し、タイムアウト状況の認識に応答して、段階式のリセットを行うように構成される。段階式のリセットは、まず、それぞれのマスタモジュールのそれぞれのバス通信論理回路をリセットするローカルリセットを試みる。ローカルリセットがエラーをクリアできなかった場合、段階式のリセットプロセスは、その後、バスに接続されている１つ又は複数の他のモジュールのバス通信論理回路をリセットするために１つ又は複数の更なるリセット段階を試みる。
【００１４】
幾つかの実施形態では、１つ又は複数の更なるリセット段階は、少なくとも、バスに接続されている複数の他のモジュールのバス通信論理回路をリセットするリセットを含み得る。これは、バスに接続されている全てのモジュールのバス通信論理回路をリセットするリセットを含み得る。
【００１５】
幾つかの実施形態では、１つ又は複数の更なるリセット段階は、少なくとも、前記バスに接続されている１つ又は複数の他のモジュールのハードリセットを含み得、そのハードリセットが、パワーリセット、及び／又はそれぞれのモジュールのピンによるリセットを含む。
【００１６】
幾つかの適用例によれば、システムは、バス上に追加の「ダム」機能的参与モジュールを含む。これは、スレーブ、又は本明細書で開示されるリセットメカニズムのインスタンスを装備されていないマスタである。これは、状況を更に複雑化し得る。なぜなら、これらのデバイスは、バス上の問題を検出又は修正できる可能性を有さないからである。
【００１７】
従って、幾つかの実施形態では、１つ又は複数の更なるリセット段階は、少なくとも、バスに接続されている１つ又は複数のダムモジュールをリセットするリセットを含み得る。これは、少なくとも、１つ又は複数のダムモジュールのハードリセットを含み得る。
【００１８】
幾つかの実施形態では、段階式のリセットは、少なくとも３段階リセットを備え得る。この場合、更なるリセット段階は、以下のものを順に含む。バスを介してリセット信号を送信することによって、バスに接続されている１つ又は複数の他のモジュールのバス通信論理回路をリセットするソフトリセット；及び、その後、ソフトリセットがエラーをリセットすることができなかった場合に、前記バスに接続されている１つ又は複数の他のモジュールのハードリセット。ソフトリセットは、バスに接続されている全ての他のモジュールをリセットしてよく、そのようなモジュールは、上記の種類のダムデバイスを含み得る。ハードリセットは、ダムデバイスの少なくとも１つをリセットし得る。ハードリセットは、前記バスとは別の制御ラインを介して信号伝送され得る。
【００１９】
例示的適用例によれば、バスはケーブルを含み得る。ケーブルは、シールドが施されていないケーブルを含み得る。１つの特定の適用例では、開示されるメカニズムは、インテリジェント照明システムで使用され得て、モジュール間のケーブル通信のためにＩ２Ｃバス等を利用する。そのようなシステムは、エレベータ、空気調和、及び／又は加熱等、他のユーティリティからのノイズを特に受けやすい。例えば、エレベータのドアの開閉が、照明システムのケーブルによって搬送される信号のグリッチを引き起こすことが判明している。従って、幾つかの実施形態では、ケーブルを介して接続されている複数のマスタモジュールがそれぞれ、本明細書での開示によるリセットメカニズムのインスタンスを備えて構成され得る。例えば、バスケーブルに接続されたマスタモジュールを各照明器具が備えるインテリジェント照明システムでは、そのようなマスタはそれぞれ、本明細書で開示されるリセットメカニズムのインスタンスを備えて構成され得る。
【００２０】
幾つかの実施形態では、各マスタモジュールがプロセッサを備えていてよく、リセットメカニズムが、プロセッサ上で実行されるソフトウェアとして実装される。従って、更なる構成要素を追加する必要なく、ロバスト性を改良した分散型のマルチステージメカニズムが提供され得る。通常であれば、更なる構成要素の追加が、ＢＯＭ(部品表)コストを増す。
【００２１】
幾つかの実施形態では、各マスタモジュールそれぞれのリセットメカニズムは、前記タイムアウト状況を認識するために、それぞれの一意のタイムアウト値を使用するように構成され得て、タイムアウト値が、バスに接続されている複数のマスタモジュール間で一意である。このようにして、各モジュールが一度にリセットを試行することが回避され得る。例えば、それぞれの一意のタイムアウト値は各々、それぞれのマスタモジュールのアドレス又はシリアル番号に基づいていてよい。
【００２２】
本明細書で開示される別の態様によれば、バスに接続された複数のマスタモジュールであって、それぞれがバスを介するトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備える複数のマスタモジュールの１つとして使用するための第１のマスタモジュールが提供される。第１のマスタモジュールのそれぞれのバス通信論理回路は、バスのビジー状態を検出し、当該検出に応答して、ビジー状態がクリアされるまでバスを介するトランザクションを開始するのを保留するように構成される。第１のマスタモジュールはリセットメカニズムを備え、そのリセットメカニズムは、検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識し、タイムアウト状況の認識に応答して、段階式のリセットを行うように構成される。段階式のリセットは、まず、第１のマスタモジュールのバス通信論理回路をリセットするローカルリセットを試み、ローカルリセットがエラーをリセットすることができなかった場合、その後、前記バスに接続されている複数の他のモジュールのバス通信論理回路をリセットするために１つ又は複数の更なるリセットを試みる。
【００２３】
本明細書で開示される更に別の態様によれば、バスに接続された複数のマスタモジュールの１つである第１のマスタモジュールを少なくとも動作させるためのコンピュータプログラム製品であって、各マスタモジュールがバスを介するトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備える、コンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コードを備え、コードは、コンピュータ可読媒体で具現化され、第１のマスタモジュールのプロセッサ上で実行される時に、第１のマスタモジュールのバス通信論理回路の少なくとも一部を実施する動作であって、バスのビジー状態を検出すること、当該検出に応答して、ビジー状態中、記バスを介するトランザクションの開始をバス通信論理回路に保留させることを含む動作と；検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識する動作と；タイムアウト状況の認識に応答して、段階式のリセットを行う動作とを行うように構成され、段階式のリセットが、まず、第１のマスタモジュールのバス通信論理回路をリセットするローカルリセットを試み、ローカルリセットがエラーをリセットできなかった場合、その後、前記バスに接続されている１つ又は複数の他のモジュールのバス通信論理回路をリセットするために１つ又は複数の更なるリセットを試みる。
【００２４】
本開示の理解を助けるため、及び実施形態がどのようにして実行され得るのかを示すために、例として添付図面を参照する。
【図面の簡単な説明】
【００２５】
【図１】バスと、接続されたモジュールとの概略ブロック図である。
【図１ａ】照明システムの概略ブロック図である。
【図２】マスタモジュールの概略ブロック図である。
【図３】リセットプロセスの概略流れ図である。
【図４ａ】例示的なリセットシナリオを概略的に示す図である。
【図４ｂ】例示的なリセットシナリオを概略的に示す図である。
【図４ｃ】例示的なリセットシナリオを概略的に示す図である。
【図５】マスタと従属スレーブとの概略ブロック図である。
【発明を実施するための形態】
【００２６】
以下に、Ｉ２Ｃマルチマスタセットアップ等において迅速且つ確実に外乱から回復するための方法であって、例えば照明システム、及び／又は各モジュールがケーブルで接続されているシステムが受け得る外乱にも関わらず、確実な通信を可能にする方法を提示する。この方法は、外乱が通信バスを使用不能にした後に、Ｉ２Ｃ対応デバイスを備える複数のモジュールが協働して、組織化されたやり方で回復できるようにする。モジュールは、動作するためにシステムがどのように構成されているかについて事前知識を有する必要はない。マスタモジュールはそれぞれ、本明細書で開示される方法を実行するマイクロコントローラを少なくとも備え、また、追加のロバスト性手段を必ずしも備えずに構成された標準Ｉ２Ｃ機能モジュールを見込む。
【００２７】
故障回復メカニズムは、複数のマスタＩ２Ｃモジュールそれぞれに実装され、これらのマスタモジュールはそれぞれ、エラーが解決されるまで一連の回復ステップに従うことによってエラー状態に応答し、各ステップが直前のステップよりも厳しくなる。幾つかの実施形態では、基本的に、このメカニズムは、データ送信の最大長さによって決定される期間よりも長く待機状態が持続してはならないという見解を利用する。Ｉ２Ｃは任意の通信長を可能にするが、所与のシステムにおいて最大メッセージ長が知られていることがあり、タイムアウトは、幾らかの安全マージンを見込んで、最大メッセージ長よりも長く選択される。
【００２８】
第１の回復ステップとして、マスタモジュールは、「ウォッチドッグタイマ」が切れたことに応答して、内部的なソフトリセットを行う。ウォッチドッグタイマの持続時間は、データ送信の最大長さ（と安全マージンの和）に基づき、任意選択的に、１つ又は複数の他の構成要素特有のパラメータに基づく。ソフトリセットの結果、マスタモジュールは、送信のためにバスが利用可能であるとみなす。
【００２９】
所定の期間内に第１のステップが成功したことが示されなかった場合にのみ行われる第２の回復ステップとして、マスタモジュールは、標準Ｉ２Ｃバスリセット（クロックライン上の９つのパルス）を送信することによってバスをリセットすることを試みる。
【００３０】
所定の期間内に第２のステップが成功したことが示されなかった場合にのみ行われる第３の回復ステップとして、マスタモジュールは、エラーをクリアする目的で、それ自体の従属モジュールをパワーサイクルすることを試みる。
【００３１】
次に、幾つかの例示的実施形態を、図１〜図７に関連してより詳細に述べる。
【００３２】
図１は、通信バス２と、適切なバスプロトコルに従ってモジュール間の通信が実施され得るようにバス２に接続された複数のモジュール６、８とを備えるシステムを例示する。幾つかの実施形態では、バス２は、Ｉ２Ｃプロトコルに従って通信が行われるＩ２Ｃバスである。バス２に接続され、関連のバスプロトコルに従ってバス２を介してメッセージを送信及び／又は受信するように構成されたモジュール６、８は、そのバスの参与モジュールと称され得る。この場合には、バス参与モジュールは、複数の「インテリジェント」マスタモジュール６と、１つ又は複数の「ダム」モジュール８とを少なくとも備える。
【００３３】
以下で使用されるとき、「インテリジェント」モジュールは、本明細書で開示される実施形態によるリセットメカニズムのインスタンスを備えるマスタモジュールであって、好ましくは、バス２に接続されている１つ又は複数の他のモジュール６、８を制御するためのソフトウェアを実行するように構成されたマイクロコントローラ又は他のプロセッサを備えるマスタモジュールを表す。「ダム」モジュールは、スレーブモジュールを表すか、又はマスタモジュールであるが、標準の又は予め知られているバス技法に従って構成されているに過ぎず、本明細書で開示される実施形態によるリセットメカニズムを有さないマスタモジュールを表す。例えば、「ダム」は、標準Ｉ２Ｃモジュールでよい。ダムモジュールは、専用ハードウェアとして実装され得、又は限定された機能のみを有するようにプログラムされたマイクロコントローラとして実装され得る。幾つかの実施形態では、ダムモジュール８の１つ、幾つか、又は全てがスレーブでよい。代替として、あらゆるバス参与モジュールがマスタモジュールでよい。以下では例として、各ダムモジュール８がスレーブであると仮定される。しかし、全ての実施形態において必ずしもそうである必要はないことを理解されたい。
【００３４】
各マスタモジュール６は、バス通信論理回路１０を備え、この論理回路１０は、そのそれぞれのモジュールのマスタステータスに従って、バス２を介して他のモジュール６、８と通信するように構成される。マスタモジュール６は、自律式にバス２にアクセスすることができるモジュールであり、即ち、最初にポーリングされることも、バス２に接続された別のモジュールからのリクエストを受信することもなく、バスにメッセージを送出することができるモジュールである。即ち、マスタ６は、バスを介するトランザクションを開始することができるモジュールである。他方、スレーブ８は、メッセージを受信し、受信されたメッセージに応答することのみできる。スレーブは、それ自体がトランザクションを開始することはできない。各スレーブ８は、バスプロトコルに従って、バス２を介してメッセージを受信して応答するための（制限付き）バス通信論理回路１１を備える。
【００３５】
バス２を介する通信と共に、各モジュール６、８はまた、モジュールの「最終用途」又は目的を提供する何らかの他の機能も有する。例えば、照明システムでは、モジュールの幾つかがそれぞれ、空間（例えば、部屋、廊下、ホール、劇場、店舗フロア等の屋内空間；庭、公園、スタジアム等の屋外空間；又は車両の内部等、任意の他の空間）を照光するように構成されたそれぞれのランプ又は光源を備え得る。モジュールの１つ又は幾つかは、インテリジェント人感センサ等、他の種類の機能を提供するデバイスを備え得る。人感センサは、例えば運動及び／又は熱を検出することによって空間内の人の存在を検出するデバイスである。人感センサを動作させ得る例示的な技術は、受動赤外線（ＰＩＲ）又は超音波を含む。他の例は、ＥＥＰＲＯＭ等のメモリデバイス、及び／又はバス２を介して１つ又は複数のランプ及び／又はセンサを制御するための制御装置を含み得る。
【００３６】
各マスタモジュール６は、バス２上の別のモジュール６、８にデータを要求してよく、例えばステータス情報を要求する。また、各マスタモジュールは、バス２上の別のモジュール６、８にデータを送信してもよく、例えば、別のモジュール６、８を制御して何らかの機能を提供する、又は別のモジュール６、８に情報を提供若しくは記憶する。
【００３７】
幾つかの実施形態では、各モジュール６、８はまた、パワーオーバイーサネット（登録商標）(power-over-Ethernet)接続等、別の電源ライン４に接続されてもよく、この電源ライン４は、モジュール６、８のフロントエンド機能に電力供給する。例えば照明器具の場合、この電源４は、照明器具の光源のドライバに接続され得る。代替として、モジュール６、８の幾つか又は全てがそれぞれ、それ自体の個別の電源を提供されてよく、又は電源が通信バス２に組み込まれてもよい。モジュール６、８が電力供給される手段に関係なく、同じ電源（例えばパワーライン４）が、通信論理回路１０、１１に電力供給するように接続され得る。代替として、バス通信論理回路１０、１１は、別の電源によって電力供給され得る。
【００３８】
本開示の例示的な適用例が、図１ａに例示されている。ここで、システムは、複数のインテリジェント照明器具１２を備え、各照明器具１２が、バス２にそれぞれ接続された複数のモジュール６、８を備える。例えば、各照明器具のモジュール６、８は、同じハウジングの内部に含まれ得る。図示される例では、各照明器具１２は、ランプ又は光源と、人感センサと、ＥＥＰＲＯＭ等のメモリと、制御装置とを備える。光源、センサ、及びメモリはそれぞれ、スレーブ又はダムモジュール８として実装され得、各制御装置は、インテリジェントマスタモジュール６として実装され得る。各マスタ制御装置モジュール６は、主に、それ自体のそれぞれの照明器具１２の光源を制御し、それ自体の照明器具１２のセンサからセンサ読取値を取得する役割を担うが、更に、制御装置６が、バス２を介して他の照明器具１２のスレーブモジュール８とのトランザクションを開始することも可能であり得る。更に、制御装置６は、バス２を介して他の制御装置６と通信することができ、例えば照明器具１２の動作を調整するための情報を交換して、例えば、人感センサからのセンサ読取値に基づいてユーザが存在すると判断された照明器具１２のみをオンに切り替え又は増光し、他の照明器具１２をオフに切り替え又は減光して、電力消費を節約する。これは一例に過ぎず、照明システム又は他の種類のシステムを実装するための様々な他の構成も可能であることを理解されたい。
【００３９】
この適用例又は他の適用例において、バス２は、異なる回路板上にある及び／又は異なるユニット内に収容されたモジュール６及び／又は８の間に１つ又は複数のケーブル長を含むことがあり、これらのモジュールは、数メートルのケーブルによって分離され得る。例えば照明システム等の文脈で、バス２は、様々なインテリジェント照明器具６同士を接続する数メートルのケーブルを備え得る。そのようなケーブル敷設は、照明自体による外乱（例えば、照明のパルス幅変調又は光に埋め込まれた符号化光データによる干渉信号）であれ、エレベータ、加熱、又は空気調和等の他の原因による外乱であれ、外乱を特に受けやすいことがある。
【００４０】
図２は、個々のマスタモジュール６の詳細を示す。幾つかの実施形態では、バス２に参与する各マスタモジュール６が、図２におけるように構成され得る。マスタモジュール６は、バス２に接続するためのポート１９を備える。更に、マスタモジュール６は、バス通信論理回路１０と、リセットメカニズム２０とを備える。バス通信論理回路１０は、関連のバスプロトコル（例えばＩ２Ｃ）に従ってバス２を介して通信するように構成される。リセットメカニズム２０は、以下により詳細に論じるように、少なくとも、それ自体の及び他のモジュール６、８のバス通信論理回路１０、１１をリセットすることが可能であるように構成される。
【００４１】
例示的実装形態では、マスタモジュール６は、１つ又は複数の処理ユニット又はコアを備えるプロセッサ１４と、１つ又は複数の記憶ユニット又は記憶媒体を備えるメモリ１６とを備え得る。幾つかの実施形態では、プロセッサ１４及びメモリ１６は、例えば照明器具１２内に埋め込まれた埋込型マイクロコントローラの形態を取ってよいが、一般に、プロセッサ又はメモリのサイズ又はタイプに制限は課されない。そのような実装形態では、バス通信論理回路１０及び／又はリセットメカニズム２０の幾つか又は全ては、メモリ１６に記憶されたコードの形態で実装され、それぞれのマスタモジュール６のプロセッサ１４上で実行されるように構成され得る。例えば、メモリ１６は、別のメモリモジュール（例えばＥＥＰＲＯＭ）からのコードがバス２を介して取り込まれるＲＡＭ、及び／又はコードが予め記憶されているブートＲＯＭ等の埋込型の不揮発記憶装置を備え得る。
【００４２】
従って、「論理回路」又は「メカニズム」は、専用ハードウェア回路構成としての実装を示唆しないことに留意されたい。実際、幾つかの実施形態において、リセットメカニズム２０は、純粋にソフトウェアとして実装される（即ち、プロセッサ１４の汎用ハードウェア以外のハードウェアを使用しない。そのような汎用ハードウェアは、本明細書で開示される技法を特に実装しないプロセッサにも何れにせよ存在する）。また、幾つかの実施形態では、バス通信論理回路１０は、少なくとも一部ソフトウェアとして実装される。それにも関わらず、代替実装形態では、バス通信論理回路１０及び／又はリセットメカニズム２０の幾つか又は全てが、専用ハードウェア回路構成、又はＰＧＡやＦＰＧＡ等の設定可能若しくは再設定可能な回路構成として実装され得ることも可能である。一般に、論理回路又はメカニズムは、ソフト又はハード実装形態を表すことがある。
【００４３】
異なるマスタモジュール６にあるリセットメカニズム２０は、共同して、本開示の実施形態による分散型リセットサブシステムを形成し、その例は、以下でより詳細に論じる。
【００４４】
各インテリジェントマスタモジュール６のリセットメカニズム２０は、ウォッチドッグタイムアウト値を数え上げるように構成されたウォッチドッグタイマを装備される。タイマが、バス２を介する通信の成功に関係する状況を検出しないまま全ウォッチドッグタイムアウト値を数え上げた場合、これは、エラーを示すものと解釈され、マルチステージリセットをトリガし、それにより、リセットメカニズム２０はまず、それ自体のモジュール６をリセットすることを試み、次いで少なくとも１つの更なるリセットを試みる（幾つかの実施形態では、少なくともバス２をリセットする）。各マスタモジュール６は、本明細書で概説されるのと同じ原理で動作するリセットメカニズム２０のインスタンスを装備される（ただし、「インスタンス」に言及する場合、少なくとも本開示のリセットプロセスに適切である限り、それぞれが実質的に同じ原理に従っていれば、各モジュールにあるリセットメカニズム２０が全く同一であることは必須でない）。
【００４５】
ウォッチドッグタイマの始動と、リセットをトリガする又は控えるための状況とを定義するための様々な可能な形態がある。１つの例示的実施形態では、それぞれのマスタモジュール６での高次のソフトウェアが、バス２を介してメッセージを送信したいが、バスが現在利用可能でないと判断した時には常に、ウォッチドッグタイマが始動する。例えば、この場合のウォッチドッグタイムアウト値は、０．２５秒でよい（これは、最大メッセージ長よりも１桁長く、従って、バス２を介して任意の他のモジュール６によってトランザクションが実施されるのにかかる時間よりも１桁長い）。ウォッチドッグタイムアウト値に達した後（例えば０．２５秒後）、バスが依然として利用可能でない場合、待機中のマスタモジュール６のそれぞれのリセットメカニズム２０がリセットプロセスをトリガする。従って、それぞれのマスタモジュール６が、メッセージを送信するためにウォッチドッグタイムアウト値（例えば０．２５秒）よりも長く待機しなければならない場合（これは、バス２がブロックされていることを示すものと解釈され得る）、リセット論理回路２０がリセットをトリガする。そうでない場合には、それぞれのモジュール６が時間制限内にメッセージの送信に成功した時にウォッチドッグタイマがリセットされる。
【００４６】
別の実施形態では、リセット論理回路２０が、ウォッチドッグタイムアウト値以内に、メッセージ開始信号とそれに対応するメッセージ終了信号との少なくとも１つの有効な対をバス２上で検出しない場合、リセットがトリガされる。例えば、この場合、ウォッチドッグタイマ値は２秒に設定され得る。これは、リセット論理回路２０がバス２上でメッセージ開始信号を聞き取った(hear)ときは常にウォッチドッグタイマを始動し、次いで、その後、リセット論理回路２０が時間制限内にメッセージ終了信号を聞き取らなかった場合にリセットプロセスをトリガすることによって実装され得る。代替として、ウォッチドッグタイマは、常に動作していてよく、定期的に動作してもよく、また、メッセージ開始及び終了信号が期間内にいくつ検出されるかをリセット論理回路２０が決定する各期間の終了時に動作してもよい。少なくとも１つの開始及び終了信号が存在しなかった場合には、リセットがトリガされる。従って、何れにせよ、リセット論理回路２０は、ウォッチドッグタイムアウト値（例えば２秒）以内に少なくとも１つの完全な有効なメッセージを別のモジュール６、８から聞き取らなかった場合に、リセットをトリガする。聞き取らないそのような状況は、バスがブロックされていること、又はバス２上でのノイズがメッセージの開始として誤解釈されている（それにより、それぞれモジュール６及び場合によっては他のモジュールが、生じることがあり得ない対応するメッセージ終了を無期限で待機することになる）ことを示すものと解釈され得る。
【００４７】
幾つかの実施形態では、各マスタモジュール６のリセット論理回路２０に複数のウォッチドッグタイマが導入され得て、それにより、通信の成功の検出に関する対応する状況を満たさないままウォッチドッグタイマの何れかが切れた場合に、リセットがトリガされる。従って、例えば、任意のマスタモジュール６が、０．２５秒を超える時間にわたってそれ自体のメッセージの１つを送信することができない場合、又は２秒を超える時間にわたって任意の他のモジュール６、８から完全な有効なメッセージを聞き取らなかった場合、リセットがトリガされ得る。
【００４８】
図３は、本明細書で開示される実施形態による、バス通信論理回路１０及びリセットメカニズム２０の動作を示す流れ図を提供する。
【００４９】
ステップＳ１０で、プロセスの残りが始まる前に、各マスタモジュール６が、それぞれのウォッチドッグタイマ値を割り当てられる。幾つかの実施形態では、各マスタモジュール６に関するウォッチドッグタイムアウト値は、（バス２に参与する他のマスタ６の中で）一意にされてよく、それにより、バス２をリセットすることができる１つの（ただ１つの）マスタモジュール６が常に存在する。これは望ましいことがある。なぜなら、通常であれば、バスを全く同時にリセットすることを決断する複数のモジュールが互いに干渉することがあり得、望ましくない挙動をもたらすことがあり得るからである。タイムアウト値は、例えば、各マスタモジュール６のそれぞれのバスアドレス（例えばＩ２Ｃアドレス）又は各マスタモジュール６のそれぞれのマイクロコントローラシリアル番号に基づいて一意にされ得る。各マスタモジュール６でのリセットメカニズム２０は、そのマスタモジュール６のバスアドレス又はシリアル番号を使用し、上記アドレス又はシリアル番号の関数として、そのそれぞれの一意のウォッチドッグタイムアウト値を決定するように構成される：例えば、タイムアウト値＝０．２５秒＋（アドレス×２０ｍｓ）である。しかし、タイムアウト値が一意であることは必須ではない。同一のタイムアウト長であっても、全てのマスタが独立していると、タイムアウトは同期されない可能性が高い。
【００５０】
ステップＳ２０で、リセットメカニズム２０がウォッチドッグタイマを始動し、それぞれのウォッチドッグタイマ値からカウントする。例えば、これは、マスタモジュール６上の高次のソフトウェアが送信したいメッセージを有するが、バス２上での何らかの他の活動（又は見掛けの活動）によりバス２が現在利用可能でないとき（又は見掛け上、利用可能でないとき）にトリガされ得る。
【００５１】
ステップＳ３０で、リセットメカニズム２０が、それぞれのウォッチドッグタイム以内に関連の成功状況が検出されたかどうか判断する。例えば、タイムアウトに達する前に、それぞれのマスタモジュールの待ち状態のメッセージを送信するためにバス２が利用可能になった場合、リセットの必要はない。これが実際に検出された場合、プロセスは、ステップＳ２０にループして戻る。
【００５２】
他方、完全なウォッチドッグタイムアウト期間内に状況が検出されなかった場合、リセットプロセスがトリガされる。本開示によれば、リセットは、マルチステージ回復プロセスであり、各段階は、前の段階がエラーを解決できなかった場合にのみ、順に試みられる。動作中のモジュール６、８での望ましくない副作用（待ち状態のメッセージの損失）を低減することを試みるために、リセットは、次第に高くなるレベルで実施される。このようにして、どのモジュール６、８がバスを占有して問題を引き起こしているかには関係なく、バス２がリセットされて、動作状態に回復され得る。
【００５３】
回復プロセスは、ステップＳ５０から始まる。最小ウォッチドッグタイマ値を有するマスタモジュール６、例えば最小アドレスを有するマスタが、最初にリセットを試みるモジュール６である。幾つかの実施形態では、以下のように３段階でこれを行う。
【００５４】
ステップＳ５０で、リセットメカニズム２０は、現在検出されているエラーに応答して、（回復プロセス自体が最後にリセットされてから）回復プロセスの第１の段階を既に試みているかどうか判断する。そうでない場合、ステップＳ６０で、リセットメカニズム２０が、第１の（最初の）リセット段階を試みることに進み、ここで、それ自体のマスタモジュール６を内部的にリセットすることを試みる（少なくともそれぞれのバス通信論理回路１０をリセットする。しかし、モジュール６の他の構成要素又はプロセスもリセットされることが除外されない）。このローカルリセットは、最初の最も軽い措置である。なぜなら、他のバス参与モジュール６、８に対しては重要性を持たないからである。
【００５５】
次いで、プロセスは、ステップＳ２０にループして戻る。ローカルリセットに成功した場合、これは、ステップＳ３０で、それぞれのモジュール６が直ぐにバス２を介して別の通信を正常に実施する又は別の通信の成功を検出することが可能であるものとして検出され得る。また、リセットメカニズム２０は、それが試みた最後の（一番最近の）リセット段階がどれであったかも覚えている。従って、成功した場合、ステップＳ４０で、リセットメカニズム２０は、最後に試みられたリセット段階の記憶もリセットする（即ち、それにより、次にエラーが検出されたとき、最初のローカルリセット段階Ｓ５０、Ｓ６０から再び始める）。
【００５６】
しかし、２度目のウォッチドッグ期間内に通信の成功が依然として実現又は聞き取られなかった場合、ローカルリセットが作動していないと考えられ得る。これが当てはまる場合、次にプロセスがステップＳ５０に達した時に、リセット論理回路２０は、それがローカル内部リセットを既に試行していると判断し、従ってステップＳ７０に進み、ここで、回復プロセスの第２の段階を既に試行しているかどうか判断する。試行していない場合、回復プロセスがステップＳ８０に進み、ここで、リセットメカニズム２０が第２のリセット段階を試みる。従って、第１のリセット段階が不成功であった場合（その場合にのみ）、リセット論理回路は、第２のリセット段階を試みる。幾つかの実施形態では、第２の段階は、バスプロトコルのバスリセット信号をバス２に印加することによって行われるバスリセットであり、例えばＩ２Ｃバスの場合、これは、標準Ｉ２Ｃバスリセットを印加することを含み得、このバスリセットは、ＳＣＬ（クロック）ワイヤ上の９パルスである。これは、スレーブ又はダムモジュール８を含め、全てのＩ２Ｃデバイスをリセットする。しかし、送信されるべきメッセージをマスタモジュール６が準備している正にその瞬間にマスタモジュール６がバスリセットによってリセットされるとき、メッセージ損失の危険がある。従って、バスリセットは、第１の段階が不成功であった場合にのみ、第１の段階の後に従う第２のより厳しい措置として構成される。
【００５７】
幾つかの実施形態では、プロセスは、次いで、ステップＳ２０〜Ｓ３０を再びサイクルしてよく、（ウォッチドッグタイムアウトの第３のインスタンス内での通信の成功をチェックすることによって）第２のリセット段階が成功したと考えられるかどうかチェックする。第２の段階が成功したと判明した場合、ステップＳ４０で、最後に試みられたリセット段階の記憶がリセットされ、それにより、別のエラーが将来検出されるとき、プロセスは再び第１の段階から始まる。しかし成功しなかった場合には、回復プロセスは、ステップＳ７０に戻り、ここで、リセット論理回路２０は、現在のエラーに応答して第２の段階が既に試みられていると判断し、それにより、任意選択的に、ステップＳ９０での第３のリセット段階に進むように構成され得る。従って、第２の段階が不成功である場合（その場合にのみ）、リセットメカニズム２０が第３の段階を試みる。
【００５８】
幾つかの実施形態では、第３の段階は、リセット論理回路が、それが特に司っている任意の従属ダムモジュール８（例えば、図１ａの例では、同じ照明器具１２のモジュール）をリセットすることを試みる段階を含む。これは、各従属ダムモジュール８のリセットピンによるリセットを含むことがある。この段階は、パワーサイクルリセットを含むことがあり、ここで、リセット論理回路は、従属ダムモジュール８を（例えばダムモジュール８のパワーリセットピンを介して）パワーサイクルすることを試みる。これは、有効な通信を回復するが、望ましくない副作用の最高の危険を有し、従って、第３の最も厳しい（幾つかの実施形態では最終の）措置である。パワーサイクルの代替形態として、ダムデバイス８が、（完全なパワーサイクルではなく）それぞれのダムモジュール８のバス通信論理回路１１のみをリセットする「通信インターフェース」リセットピン（例えばＩ２Ｃリセットピン）を有する場合、それが第３の段階のリセットとして使用され得る。Ｉ２Ｃリセットピン等が利用可能である場合、それが、第３の段階として選択され得て、パワーサイクルリセットは、依然として、（例えば第３の段階が失敗した場合にのみ行われる第４の段階として）常に利用可能な最終手段であり得る。
【００５９】
これらの３つ（又は４つ）のリセットレベルは、全てのマスタモジュール６がまず内部リセットを試みるように実行され、その後、第１のマスタモジュールが完全なバスリセットを試みることを決断するように実行される。例えば、マスタモジュール６の異なるそれぞれのウォッチドッグタイマ値が、それぞれ０．２５秒の長さであるが、２０ｍｓ離れており（タイマ値＝０．２５秒＋アドレス×２０ｍｓ）、最大約１０個のマスタモジュール６がバス２上に存在する場合、各マスタ６は、それ自体を内部的にリセットする機会を得て、その後、第１の（例えば最小アドレスの）マスタモジュール６での０．２５秒のウォッチドッグタイマが、２度目にタイムアウトになり、次いで第１のモジュールがバスリセットを試みる。同様に、第３の段階が含まれる場合、各マスタ６は、バスリセットを試行する機会を得て、その後、第１のマスタモジュール６にあるウォッチドッグタイマが３度目にタイムアウトになり、次いでそのモジュールがピン及び／又はパワーリセットを試みる。
【００６０】
幾つかの実施形態では、第３の段階は、図５に関して以下に開示されるように、別の制御ラインによってそれぞれのマスタ６によって制御されるように適合された従属モジュール８が存在する場合にのみ実施され得る。図５に示されるように、幾つかの実施形態では、１つ又は複数のマスタモジュール６それぞれが、マスタ６が主に司る特定のそれぞれの１つ又は複数のスレーブ又はダムモジュール８に関連付けられてよく、例えば、同じ照明器具１２（図１ａも参照）等、同じユニットに組み込まれる。それぞれのスレーブ又はダムモジュール８は、それぞれのマスタ６の従属体と称され得る。例えば、バス２に接続された従属スレーブ又はダムモジュール８はそれぞれ、標準Ｉ２Ｃブロックを備えていてよく、マスタ６は、マイクロコントローラを備え得る。
【００６１】
更に、各従属モジュール８は、バス２とは別の制御ライン２２によって、そのそれぞれのマスタモジュール６に接続される。制御ライン２２は、それぞれのマスタ６が、そのそれぞれの従属モジュール８の通信インターフェース１１をリセットすることを可能にする。制御ライン２２は、従属モジュール８の専用通信インターフェースリセットピンに、従属モジュール８の汎用リセットピンに、又は従属モジュール８の電源に接続され得る。従って、マスタ６は、従属モジュール８のリセットを引き起こすことが可能であり、このリセットは、（バス通信論理回路１１の）専用通信インターフェースリセット、又はパワーサイクルリセット（電源をオフに切り替え、再びオフに戻す）である。これは、少なくとも、それぞれの従属モジュール８のバス通信論理回路１１をリセットする（パワーサイクルリセットの場合、従属モジュール８の他の論理回路もリセットし得る）。この種のリセットは、第２の段階におけるようにバス２を介して信号伝送することによって行われるソフトリセットと比較して、ハードリセットと称され得る。幾つかの実施形態では、ハードリセットは、リセットプロセスの第３の段階として実装されて、最初の２つの段階が不成功である場合にのみ発動される。
【００６２】
従って、通信インターフェース２、１１がブロックされている場合、従属スレーブ又はダムモジュール８がリセットされ得て、インターフェースを解放し、通常動作を回復する。これは、生じ得る外乱後に通信インターフェースが利用可能であることを保証するために、通信インターフェース２、１０、１１の性能及び信頼性を保護するための更なる可能な形態をマスタモジュール６に与える。
【００６３】
そのような実施形態は、照明ソリューションにおいて使用するためのモジュールの急速な発達を見込んでいてよい。リセットメカニズム２０を備えるマスタモジュール６は、通信インターフェース２、１０、１１の性能及びロバスト性を保証するために使用され得る。一方、標準のブロック８の使用は、急速な発達を見込む。そのような実施形態の更なる利点は、インテリジェントマスタモジュール６が、それらがリセットすることができる任意の標準ブロック８を内部的にリセットすればよいことである。ここで、任意のインテリジェントマスタモジュール６がそれ自体をリセットするので、グローバルリセットの必要はない（これは、第１の措置として好ましい。なぜなら、グローバルリセットは、通信不良状態でなかったデバイスのメッセージの損失を生じ得るからである）。
【００６４】
図４ａ〜図４ｃは、作動中のリセットプロセスの例を示す幾つかの簡略化されたシナリオを提供する。例示される例示的システムでは、バス２に接続されている４つのモジュール、即ち、マスタである第１のモジュール（ｉ）と、マスタである第２のモジュール（ｉｉ）と、スレーブ又は他のダムモジュールである第３のモジュール（ｉｉｉ）と、スレーブ又は他のダムモジュールである第４のモジュール（ｉｖ）が存在する。第３のモジュール（ｉｉｉ）は、第１のモジュール（ｉ）の従属体であり、別個の制御ライン２２及びバス２によって一体に接続される。第４のモジュール（ｉｖ）は、第２のモジュール（ｉｉ）の従属体であり、やはり、それら２つは、それら自体の別個の制御ラインによって一体に接続される。
【００６５】
シナリオ（ａ）では、第１のモジュール（ｉ）が動作不良状態である。ステップＴ１０で、第２のモジュール（ｉｉ）は、内部リセットを試行する（段階１）が、問題を解決しない。モジュール（ｉｉ）は、例えば最小アドレスを有するので最初に試行することがある。その後、次いでモジュール（ｉ）が内部リセット（段階１）を試行し、問題を解決する。
【００６６】
シナリオ（ｂ）では、モジュール（ｉｉｉ）（モジュールｉに接続されたスレーブデバイス）が動作不良状態である。ステップＵ１０で、モジュール（ｉｉ）が内部リセット（段階１）を最初に試行するが、問題を解決しない。ステップＵ２０で、モジュール（ｉ）が内部リセット（段階１）を試行し、依然として問題を解決しない。その後、ステップＵ３０で、モジュール（ｉｉ）がバス２のリセット（段階２）を試行し、問題を解決する。
【００６７】
シナリオ（ｃ）では、モジュール（ｉｉｉ）（モジュールｉに接続されたスレーブデバイス）が動作不良状態であり、例えば、そのクロック出力ＳＣＬが低いままである。ステップＶ１０で、モジュール（ｉｉ）が内部リセット（段階１）を試行するが、問題を解決しない。ステップＶ２０で、モジュール（ｉ）が内部リセット（段階１）を試行し、依然として問題を解決しない。ステップＶ３０で、モジュール（ｉｉ）がバスをリセットすることを試行し（段階２）、依然として問題を解決しない。ステップＶ４０で、モジュール（ｉ）がバス２をリセットすることを試行し（段階２）、依然として問題を解決しない。その後、ステップＶ５０で、モジュール（ｉｉ）がその従属モジュール（ｉｖ）のハードリセットを試行し、依然として問題を解決しない。次いで、最後にステップＶ６０で、モジュール（ｉ）がその従属モジュール（ｉｉｉ）のハードリセットを試行し、ようやく問題を解決する。
【００６８】
上記の実施形態は、例示として述べられているに過ぎないことを理解されたい。開示される実施形態に対する他の変形は、図面、本開示、及び添付の特許請求の範囲の検討から当業者によって理解され、特許請求される発明を実践する際に実施され得る。特許請求の範囲において、語「備える」は、他の要素又はステップを除外せず、「１つの」は、複数を除外しない。単一の処理装置又は他のユニットが、特許請求の範囲に記載される幾つかの要素の機能を実現し得る。特定の手段が相互に異なる従属請求項に記載されていることだけでは、これらの手段の組合せが有利に使用され得ないことを示さない。コンピュータプログラムは、他のハードウェアと共に供給される、又は他のハードウェアの一部として供給される光記憶媒体やソリッドステート媒体等の適切な媒体に記憶及び／又は分散され得るが、インターネット又は他の有線若しくは無線電気通信システムを介する形態等、他の形態でも分散され得る。特許請求の範囲内の任意の参照符号は、範囲を限定するものと解釈されるべきではない。
【図１】
0006659552.tif 000002
【図１ａ】
0006659552.tif 000003
【図２】
0006659552.tif 000004
【図３】
0006659552.tif 000005
【図４】
0006659552.tif 000006
【図５】
0006659552.tif 000007