JP6659552B2 - マルチマスタバス - Google Patents

マルチマスタバス Download PDF

Info

Publication number
JP6659552B2
JP6659552B2 JP2016544818A JP2016544818A JP6659552B2 JP 6659552 B2 JP6659552 B2 JP 6659552B2 JP 2016544818 A JP2016544818 A JP 2016544818A JP 2016544818 A JP2016544818 A JP 2016544818A JP 6659552 B2 JP6659552 B2 JP 6659552B2
Authority
JP
Japan
Prior art keywords
reset
bus
master
module
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016544818A
Other languages
English (en)
Other versions
JP2017504116A (ja
Inventor
デル ザンデ アレクサンダー アブラハム コーネリウス ファン
デル ザンデ アレクサンダー アブラハム コーネリウス ファン
ユルゲン マリオ バンゲール
ユルゲン マリオ バンゲール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Signify Holding BV
Original Assignee
Signify Holding BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Signify Holding BV filed Critical Signify Holding BV
Publication of JP2017504116A publication Critical patent/JP2017504116A/ja
Application granted granted Critical
Publication of JP6659552B2 publication Critical patent/JP6659552B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

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

Claims (15)

  1. バスと、
    前記バスに接続された複数のマスタモジュールであって、それぞれが前記バスを介してトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備え、前記バス通信論理回路が、前記バスのビジー状態を検出し、当該検出に応答して、ビジー状態がクリアされるまでトランザクションの開始を保留する複数のマスタモジュールと、
    前記複数のマスタモジュールのそれぞれのマスタモジュールにリセットメカニズムのインスタンスを備える分散型リセットサブシステムであって、それぞれのマスタモジュールでの前記リセットメカニズムは、検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識し、前記タイムアウト状況の認識に応答して、段階式のリセットを行う分散型リセットサブシステムと
    備えるシステムであって、
    前記段階式のリセットが、まず、前記それぞれのマスタモジュールのそれぞれのバス通信論理回路をリセットするローカルリセットを試み、前記ローカルリセットが前記エラーをクリアできなかった場合、その後、前記バスに接続されている1つ又は複数の他のモジュールのバス通信論理回路をリセットするために1つ又は複数の更なるリセットを試みる、システム。
  2. 前記バスが、前記マスタモジュールの少なくとも幾つかの間にケーブルを備える、請求項1に記載のシステム。
  3. 前記ケーブルは、シールドが施されていないケーブルを備える、請求項2に記載のシステム。
  4. 前記マスタモジュールの少なくとも幾つかが、それぞれの照明器具の一部をそれぞれ形成し、前記それぞれの照明器具の制御装置として構成される、請求項2又は3に記載のシステム。
  5. 前記1つ又は複数の更なるリセットが、少なくとも、バスに接続されている複数の前記他のモジュールの前記バス通信論理回路をリセットするリセットを含む、請求項1乃至4の何れか一項に記載のシステム。
  6. 前記1つ又は複数の更なるリセットが、少なくとも、バスに接続されている全ての前記他のモジュールの前記バス通信論理回路をリセットするリセットを含む、請求項5に記載のシステム。
  7. 前記1つ又は複数の更なるリセットが、少なくとも、前記それぞれのマスタモジュールが司る、前記バスに接続されている1つ又は複数の他のモジュールのハードリセットを含み、前記ハードリセットが、パワーリセット、及び/又はリセットされる各モジュールのピンによるリセットを含む、請求項1乃至6の何れか一項に記載のシステム。
  8. 前記1つ又は複数の更なるリセットが、少なくとも、前記バスに接続されている1つ又は複数のダムモジュールをリセットするリセットを含み、前記ダムモジュールが、スレーブモジュール、又は前記リセットメカニズムのインスタンスを装備されていないマスタモジュールである、請求項1乃至7の何れか一項に記載のシステム。
  9. 前記段階式のリセットが、少なくとも3段階リセットを備え、前記更なるリセットが、順に、
    前記バスを介してリセット信号を送信することによって、前記バスに接続されている1つ又は複数の前記他のモジュールの前記バス通信論理回路をリセットするソフトリセットと、
    その後、前記ソフトリセットが前記エラーをクリアできなかった場合の、前記それぞれのマスタモジュールが司る、前記バスに接続されている1つ又は複数の他のモジュールのハードリセットとを含み、前記ハードリセットが、パワーリセット、及び/又はリセットされる各モジュールのリセットピンによるリセットを含む、
    請求項1乃至8の何れか一項に記載のシステム。
  10. 前記ハードリセットが、前記バスとは別の制御ラインを介して信号伝送される、請求項9に記載のシステム。
  11. 前記マスタモジュールがそれぞれプロセッサを備え、前記リセットメカニズムが、前記プロセッサ上で実行されるソフトウェアとして実装される、請求項1乃至10の何れか一項に記載のシステム。
  12. 各マスタモジュールそれぞれの前記リセットメカニズムが、前記タイムアウト状況を認識するためにそれぞれの一意のタイムアウト値を使用し、前記タイムアウト値が、前記バスに接続されている前記複数のマスタモジュール間で一意である、請求項1乃至11の何れか一項に記載のシステム。
  13. 前記それぞれの一意のタイムアウト値が各々、前記それぞれのマスタモジュールのアドレス又はシリアル番号に基づく、請求項12に記載のシステム。
  14. バスに接続された複数のマスタモジュールの1つとして使用するための第1のマスタモジュールであって、各マスタモジュールが前記バスを介するトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備え、
    前記第1のマスタモジュールの前記バス通信論理回路が、前記バスのビジー状態を検出し、当該検出に応答して、前記ビジー状態がクリアされるまで前記バスを介するトランザクションを開始するのを保留し、
    前記第1のマスタモジュールが、リセットメカニズムを備え、前記リセットメカニズムが、前記検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識し、前記タイムアウト状況の認識に応答して、段階式のリセットを行い、
    前記段階式のリセットが、まず、前記第1のマスタモジュールの前記バス通信論理回路をリセットするローカルリセットを試み、前記ローカルリセットが前記エラーをクリアできなかった場合、その後、前記バスに接続されている1つ又は複数の他のモジュールのバス通信論理回路をリセットするために1つ又は複数の更なるリセットを試みる、
    第1のマスタモジュール。
  15. バスに接続された複数のマスタモジュールの1つである第1のマスタモジュールを少なくとも動作させるためのコンピュータプログラムであって、各マスタモジュールが前記バスを介するトランザクションを開始するように動作可能なバス通信論理回路をそれぞれ備え、前記コンピュータプログラムはコードを備え、前記コードが、前記第1のマスタモジュールのプロセッサ上で実行される時に、
    前記第1のマスタモジュールの前記バス通信論理回路の少なくとも一部を実施する動作であって、前記バスのビジー状態を検出すること、当該検出に応答して、前記ビジー状態がクリアされるまで前記バスを介するトランザクションの開始を前記バス通信論理回路に保留させることを含む動作と、
    前記検出されたビジー状態がエラーによるものであることを示すタイムアウト状況を認識する動作と、
    前記タイムアウト状況の認識に応答して、段階式のリセットを行う動作と
    を行い、
    前記段階式のリセットが、まず、前記第1のマスタモジュールの前記バス通信論理回路をリセットするローカルリセットを試み、前記ローカルリセットが前記エラーをクリアできなかった場合、その後、前記バスに接続されている1つ又は複数の他のモジュールのバス通信論理回路をリセットするために1つ又は複数の更なるリセットを試みる、
    コンピュータプログラム。
JP2016544818A 2014-01-10 2014-12-26 マルチマスタバス Expired - Fee Related JP6659552B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14150702 2014-01-10
EP14150702.0 2014-01-10
PCT/EP2014/079344 WO2015104193A1 (en) 2014-01-10 2014-12-26 Multi-master bus

Publications (2)

Publication Number Publication Date
JP2017504116A JP2017504116A (ja) 2017-02-02
JP6659552B2 true JP6659552B2 (ja) 2020-03-04

Family

ID=49949518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016544818A Expired - Fee Related JP6659552B2 (ja) 2014-01-10 2014-12-26 マルチマスタバス

Country Status (5)

Country Link
US (1) US10229078B2 (ja)
EP (1) EP3092574B1 (ja)
JP (1) JP6659552B2 (ja)
CN (1) CN106170780B (ja)
WO (1) WO2015104193A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639946B1 (ko) * 2015-04-13 2016-07-14 엘에스산전 주식회사 듀얼 포트 메모리 시스템의 접근 제어 방법
JP6792314B2 (ja) * 2016-04-22 2020-11-25 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
US10515025B2 (en) * 2016-08-08 2019-12-24 Cirrus Logic, Inc. Communication protocol adapter
KR102300791B1 (ko) * 2017-03-20 2021-09-09 엘지전자 주식회사 공기조화기 및 그 제어방법
WO2019136595A1 (zh) * 2018-01-09 2019-07-18 深圳市汇顶科技股份有限公司 处理i2c总线死锁的方法、电子设备和通信系统
CN109684117B (zh) * 2018-11-06 2022-03-25 京信网络系统股份有限公司 处理器死机恢复方法和装置
AU2018451612B2 (en) 2018-12-03 2022-09-08 Hewlett-Packard Development Company, L.P. Logic circuitry
US11144358B1 (en) 2018-12-06 2021-10-12 Pure Storage, Inc. Asynchronous arbitration of shared resources
CN109669360A (zh) * 2018-12-19 2019-04-23 南京遍宇联动科技有限公司 智能家居的工作方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751220A (en) * 1995-07-14 1998-05-12 Sensormatic Electronics Corporation Synchronized network of electronic devices including back-up master units
US5831848A (en) * 1995-11-17 1998-11-03 Phoenix Controls Corporation Distributed environmental process control system
US6021453A (en) * 1997-04-24 2000-02-01 Klingman; Edwin E. Microprocessor unit for use in an indefinitely extensible chain of processors with self-propagation of code and data from the host end, self-determination of chain length and ID, (and with multiple orthogonal channels and coordination ports)
US6496890B1 (en) 1999-12-03 2002-12-17 Michael Joseph Azevedo Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
US6735720B1 (en) 2000-05-31 2004-05-11 Microsoft Corporation Method and system for recovering a failed device on a master-slave bus
JP2002063080A (ja) * 2000-08-15 2002-02-28 Sony Corp インターフェース装置
US6769078B2 (en) 2001-02-08 2004-07-27 International Business Machines Corporation Method for isolating an I2C bus fault using self bus switching device
DE10225471A1 (de) * 2002-06-10 2003-12-18 Philips Intellectual Property Verfahren und Chipeinheit zum Überwachen des Betriebs einer Mikrocontrollereinheit
EP1607864A2 (en) 2004-05-28 2005-12-21 Thomson Licensing Error recovery method for an I2C bus slave
JP4977324B2 (ja) * 2005-01-26 2012-07-18 日本電気株式会社 バスシステム、バス接続機器、及び、リセット方法
US20070240019A1 (en) * 2005-12-29 2007-10-11 International Business Machines Corporation Systems and methods for correcting errors in I2C bus communications
JP2007316855A (ja) * 2006-05-24 2007-12-06 Toshiba Corp 電子機器及び電子機器の再起動方法
US7900096B2 (en) * 2009-01-15 2011-03-01 International Business Machines Corporation Freeing a serial bus hang condition by utilizing distributed hang timers
JP2011070282A (ja) 2009-09-24 2011-04-07 Furukawa Electric Co Ltd:The 通信システム、マスタ装置、および、スレーブ装置
US8364859B2 (en) * 2010-02-22 2013-01-29 Seiko Epson Corporation Storage device, board, liquid container and system
JP2011189730A (ja) * 2010-02-22 2011-09-29 Seiko Epson Corp 記憶装置、基板、液体容器、ホスト装置及びシステム

Also Published As

Publication number Publication date
EP3092574A1 (en) 2016-11-16
CN106170780B (zh) 2019-10-18
US10229078B2 (en) 2019-03-12
WO2015104193A1 (en) 2015-07-16
JP2017504116A (ja) 2017-02-02
US20160328346A1 (en) 2016-11-10
CN106170780A (zh) 2016-11-30
EP3092574B1 (en) 2018-05-09

Similar Documents

Publication Publication Date Title
JP6659552B2 (ja) マルチマスタバス
CN103645975B (zh) 一种异常恢复的方法及串行总线传输装置
US20120257655A1 (en) Configuration of bus transceiver
JP5863085B2 (ja) 動的アドレス割り当てのための方法及び装置
US20140223048A1 (en) Communication network and method for communicating in a communication network
CN110908841A (zh) 一种i2c通信异常恢复方法及装置
US8954619B1 (en) Memory module communication control
JP2006191338A (ja) バス内のデバイスの故障診断を行うゲートウエイ装置
US10721022B2 (en) Communication apparatus, communication method, program, and communication system
CN103106113A (zh) 一种中断事件处理方法和处理设备
US9720489B2 (en) System comprising a main electrical unit and a peripheral electrical unit
ES2908672T3 (es) Dispositivo de comunicación, procedimiento de comunicación, programa y sistema de comunicación
US10243887B2 (en) Switch unit, ethernet network, and method for activating components in an ethernet network
US9892073B1 (en) Bus addressing systems and methods using repurposed bits
JP2005529403A (ja) マイクロコントローラユニットの動作を監視する方法およびベースチップ
KR20150061348A (ko) I2c 통신에서 디바이스 어드레스를 설정하는 방법 및 디바이스 어드레스를 설정하는 장치
US9405629B2 (en) Information processing system, method for controlling information processing system, and storage medium
CN112463666A (zh) 一种控制器主从分配方法和装置
CN104834624A (zh) 一种iic总线接口的抗干扰方法
JP2014048730A (ja) 情報処理装置及び制御方法
CN104202443A (zh) 对ip地址冲突进行容灾处理的方法和装置、以及相应设备
EP4329433A1 (en) Method for operating lighting system, a motion sensor, and a lighting system including the same
JP2024018618A (ja) 車両制御システム
US9971715B2 (en) Communication device and link establishment method
JP2001015272A (ja) 照明装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171221

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20181213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200206

R150 Certificate of patent or registration of utility model

Ref document number: 6659552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees