(57)【要約】  後方互換性を有する改良ＤＭＸ通信のための方法及び装置を開示する。いくつかの実施形態において、ＤＭＸプロトコルの拡張に関する方法及び装置は、非改良ＤＭＸスレーブデバイスとの完全な互換性を維持しつつ、改良ＤＭＸスレーブデバイスによるエラー検出を可能にする。当該方法及び装置は、スタートコードパケット内に組み込まれた、スタートコードパケット内の複数のバイトのチェックサムであるパケットチェックサムバイトを利用してもよい。いくつかの変形例において、任意で、スタートコードパケット内の複数のバイトがインターリーブ方式に従ってインターリーブされてもよい。
2014532264.tif 000002
【特許請求の範囲】
【請求項１】
後方互換性を維持しつつ、改良されたＤＭＸ通信を提供する方法であって、
複数の改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップであって、前記複数の改良ＤＭＸスレーブは、対応する複数のＤＭＸスレーブ制御アドレスを有する、接続するステップと、
複数のバイトを有するＤＭＸスタートコードパケットをコンパイルするステップであって、前記複数のバイトは、前記複数の改良ＤＭＸスレーブ制御アドレスに対応する複数の改良ＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む、コンパイルするステップとを含み、
前記パケットチェックサムバイトは、前記スタートコードパケット内に組み込まれた、前記スタートコードパケットの複数のバイトのチェックサムであり、
前記ＤＭＸネットワーク上で前記スタートコードパケットを送信するステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて、前記スタートコードパケットを受信するステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて、前記パケットチェックサムを含む複数のバイトをバッファリングするステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて、前記バッファリングされたバイトの受信されたチェックサムを計算し、前記受信されたチェックサムを前記パケットチェックサムと比較するステップとをさらに含み、
前記改良ＤＭＸスレーブのそれぞれは、前記計算された受信チェックサムと前記パケットチェックサムとが実質的に一致する場合のみ、前記改良ＤＭＸスレーブ指示バイトのうちの対応する少なくとも１つに少なくとも選択的に従って動作する、方法。
【請求項２】
前記複数の改良ＤＭＸスレーブ指示バイトは、インターリーブされた複数のＤＭＸスレーブ指示バイトを含み、前記インターリーブされた複数のＤＭＸスレーブ指示バイトのそれぞれは、複数の改良ＤＭＸスレーブのための動作指示に対応する複数のビットを有する、請求項１に記載の方法。
【請求項３】
前記ＤＭＸスタートコードパケットの前記複数のバイトは、非改良ＤＭＸスレーブアドレスに対応する、インターリーブされていない少なくとも１つの非改良ＤＭＸスレーブ指示バイトをさらに含む、請求項２に記載の方法。
【請求項４】
前記ＤＭＸネットワーク上で前記スタートコードパケットを送信する前に、インターリーブ方式に従って、前記複数のＤＭＸスレーブ指示バイト間で複数の個別のビットをインターリーブすることをさらに含む、請求項１に記載の方法。
【請求項５】
前記複数の改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含み、前記第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、前記複数の改良ＤＭＸスレーブのうちの第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び、前記複数の改良ＤＭＸスレーブのうちの第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む、請求項４に記載の方法。  
【請求項６】
前記ＤＭＸスレーブに別個の情報パケットを送信するステップであって、前記別個の情報パケットは、前記受信されたチェックサムの計算に関連するデータを含む、送信するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記受信されたチェックサムの計算に関連する前記データは、前記改良ＤＭＸスレーブ上に予めロードされる、請求項４に記載の方法。
【請求項８】
前記パケットチェックサムバイトは、前記スタートコードパケットの末尾に設けられる、請求項１に記載の方法。
【請求項９】
前記チェックサムは、前記スタートコードパケットの全ての制御指示のチェックサムである、請求項８に記載の方法。  
【請求項１０】
後方互換性を維持しつつ、改良されたＤＭＸ通信を提供する方法であって、
少なくとも１つの改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップであって、前記改良ＤＭＸスレーブは少なくとも１つの改良ＤＭＸスレーブ制御アドレスを有する、接続するステップと、
少なくとも１つの非改良ＤＭＸスレーブを前記ＤＭＸネットワークに接続するステップであって、前記非改良ＤＭＸスレーブは少なくとも１つの非改良ＤＭＸスレーブ制御アドレスを有する、接続するステップと、
複数のバイトを有するスタートコードパケットをコンパイルするステップであって、前記複数のバイトは、前記改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、前記非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む、コンパイルするステップとを含み、
前記パケットチェックサムバイトは、前記スタートコードパケット内に組み込まれた、前記スタートコードパケットの複数のバイトのチェックサムであり、
前記スタートコードパケットを前記ＤＭＸネットワーク上で送信するステップと、
前記改良ＤＭＸスレーブにおいて前記スタートコードパケットを受信するステップと、
前記改良ＤＭＸスレーブにおいて、前記パケットチェックサムを含む複数のバイトをバッファリングするステップと、
前記改良ＤＭＸスレーブにおいて、前記バッファリングされた複数のバイトの受信されたチェックサムを計算し、前記受信されたチェックサムを前記パケットチェックサムと比較するステップとをさらに含み、
前記改良ＤＭＸスレーブは、前記受信されたチェックサムと前記パケットチェックサムとが実質的に一致する場合のみ、前記改良ＤＭＸスレーブ指示バイトに少なくとも選択的に従って動作し、
前記非改良ＤＭＸスレーブは、前記パケットチェックサムとは関係なく、任意の受信された前記非改良ＤＭＸスレーブ指示バイトに従って動作する、方法。
【請求項１１】
前記少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１改良ＤＭＸスレーブ指示バイト及び第２改良ＤＭＸスレーブ指示バイトを含む、請求項１０に記載の方法。
【請求項１２】
前記改良ＤＭＸスレーブは、前記受信されたチェックサムと前記パケットチェックサムとが実質的に一致する場合、前記第１改良ＤＭＸスレーブ指示バイトにのみ従って動作するが、前記受信されたチェックサムと前記パケットチェックサムとが実質的に一致しない場合でさえ、前記第２改良ＤＭＸスレーブ指示バイトに従って動作する、請求項１１に記載の方法。
【請求項１３】
前記ＤＭＸネットワーク上での前記スタートコードパケットの送信の前に、インターリーブ方式に従って、前記第１改良ＤＭＸスレーブ指示バイト、及び前記第２改良ＤＭＸスレーブ指示バイト内の複数の個別のビットをインターリーブするステップをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記インターリーブ方式に関連するデータを含む製造者特有パケットを前記ＤＭＸスレーブに送信するステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記少なくとも１つの改良ＤＭＸスレーブは、第１改良ＤＭＸスレーブ及び第２改良ＤＭＸスレーブを含む、請求項１０に記載の方法。
【請求項１６】
前記少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含み、前記第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、前記第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び前記第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む、請求項１５に記載の方法。  
【請求項１７】
複数のバイトを有するスタートコードパケットを受信するステップであって、前記複数のバイトは、改良ＤＭＸスレーブに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む、受信するステップを含み、
前記パケットチェックサムバイトは、前記スタートコードパケット内に組み込まれた、前記スタートコードパケットの複数のバイトのチェックサムであり、
前記パケットチェックサムを含む複数のバイトをバッファリングするステップと、
前記バッファリングされた複数のバイトの受信されたチェックサムを計算し、前記受信されたチェックサムを前記パケットチェックサムと比較するステップと、
前記受信されたチェックサムと前記パケットチェックサムとが実質的に一致する場合のみ、前記改良ＤＭＸスレーブ指示バイトに少なくとも選択的に従って動作するステップとをさらに含む、改良されたＤＭＸ通信を受信及び解析する方法。
【請求項１８】
前記少なくとも１つの改良ＤＭＸスレーブ指示バイトは、インターリーブされた第１改良ＤＭＸスレーブ指示バイト、及びインターリーブされた第２改良ＤＭＸスレーブ指示バイトを含み、前記方法は、前記第１改良ＤＭＸスレーブ指示バイト、及び前記第２改良ＤＭＸスレーブ指示バイトをデインターリービングするステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
複数のＤＭＸスレーブ指示バイトを含み、前記受信されたチェックサムと前記パケットチェックサムとが実質的に一致する場合のみ、前記複数の改良ＤＭＸスレーブ指示バイトのうちのいくつかの指示バイトに少なくとも選択的に従い、前記受信されたチェックサムと前記パケットチェックサムとが実質的に一致しない場合でさえ、前記複数の改良ＤＭＸスレーブ指示バイトのうちの他の指示バイトに少なくとも選択に従うステップをさらに含む、請求項１７に記載の方法。
【請求項２０】
後方互換性を維持しつつ、改良ＤＭＸ通信を提供する方法であって、
複数のバイトを有するスタートコードパケットをコンパイルするステップであって、前記複数のバイトは、改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む、コンパイルするステップを含み、
前記パケットチェックサムバイトは、前記スタートコードパケット内に組み込まれた、前記スタートコードパケットの複数のバイトのチェックサムであり、
ＤＭＸネットワーク上で前記スタートコードパケットを送信するステップをさらに含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本発明は、一般的には通信プロトコルの拡張に関する方法及び装置に向けられている。より具体的には、本明細書に開示される多様な方法及び装置は、ＤＭＸ通信プロトコルの拡張に関する方法及び装置に関する。
【背景技術】
【０００２】
［０００２］ＤＭＸ通信プロトコルは、照明産業において、いくつかのプログラム可能な照明アプリケーションのために慣習的に用いられている照明コマンドプロトコルであり、現行では、ＤＭＸ５１２プロトコル及びＤＭＸ５１２−Ａプロトコルを含む。ＤＭＸプロトコルにおいて、照明関連指示は、最大で５１２バイトのデータを含むパケットにフォーマットされた制御データとして照明ユニットに送信することができ、各データバイトは、０〜２５５のデジタル値を表す８ビットによって構成されている。これらの５１２データバイトは、「スタートコード」バイト（典型的には０ｘ００）によって先行される。
【０００３】
［０００３］ＤＭＸプロトコルにおいて、所与のパケット内の最大で５１２バイトの個々のデータバイトは、特定の照明ユニットのための照明関連コマンドとして意図されている。例えば、個々のデータバイトは、マルチチャネル照明ユニットの特定の「チャネル」用のコマンドとして意図されてもよい。デジタル値０は、照明ユニットの所与のチャネルに発光出力がないこと（すなわち、チャネルオフ）を意味し、デジタル値２５５は、照明ユニットの所与のチャネルのフル発光出力（１００％利用可能電力）（チャネルフルオン）を意味する。例えば、ここで、赤色、緑色、及び青色ＬＥＤに基づく３チャネル照明ユニット（すなわち、「Ｒ−Ｇ−Ｂ」照明ユニット）を考えると、ＤＭＸプロトコル内の照明コマンドは、赤色チャネルコマンド、緑色チャネルコマンド、及び青色チャネルコマンドのそれぞれを、０〜２５５の値を表す８ビットデータ（すなわち、データバイト）として指定することができる。任意の１つのカラーチャネルの最大値２５５は、照明ユニットのプロセッサに、対応する光源をチャネルの最大利用電力（すなわち、１００％）で動作するように制御することを指示し、これにより、その色の最大利用可能放射電力を生成する（Ｒ−Ｇ−Ｂ照明ユニットのためのこのようなコマンド構造は、通常、２４ビットカラーコントロールと呼ばれる）。したがって、フォーマット［Ｒ，Ｇ，Ｂ］＝［２５５，２５５，２５５］のコマンドは、照明ユニットに、赤色光、緑色光、及び青色光のそれぞれに対して最大放射電力を発生させる（これによって、白色光をつくる）。
【０００４】
［０００４］また、例えば、個々のデータバイトの全て又は側面は、照明ユニット及び／又は他のＤＭＸスレーブデバイスの１つ以上の付加的な側面を制御するためのコマンドとして意図されてもよい。例えば、１つ以上のデータバイトは、照明ユニットのパターン、ピント、プリズム、パン、ティルト、回転速度、及び／又はアニメーションを制御し得る。また、例えば、１つ以上のデータバイトが、照明ユニットの調光シャッター、カラーホイール、及び／又はフレーミングレンズを制御してもよい。当業者によって理解されるように、ＤＭＸプロトコルは、さらに又は代わりに、１つ以上の照明ユニット及び／又は他のＤＭＸスレーブデバイスの他の側面を制御するために利用されてもよい。
【０００５】
［０００５］したがって、ＤＭＸプロトコルを使用する所与の通信リンクは、慣習的に最大で５１２の異なる照明ユニットチャネルをサポートできる。ＤＭＸプロトコルにフォーマットされた通信を受信するよう設計された所与の照明ユニットは、通常、パケット内の最大５１２データバイトの全シーケンス中の所望のデータバイトの特定の位置に基づいて、パケット内の５１２バイトのうち、照明ユニットのチャネル数に対応する１つ以上の特定のデータバイトのみに応答し（例えば、３チャネル照明ユニットの例においては、３つのバイトが照明ユニットによって使用される）、他のバイトは無視するよう構成されている。これを実現するために、ＤＭＸベース照明ユニットは、所与のＤＭＸパケットにおいて照明ユニットが応答するデータバイトの特定の位置を決定するためにユーザ／インストーラによって手動で設定され得るアドレス選択機構を備えてもよい。
【０００６】
［０００６］ＤＭＸプロトコルのいくつかの実施形態は、プロトコルの元の範囲の外側のプロトコルの使用、及び／又はプロトコルの能力の伸長を含む。例えば、いくつかの実施形態において、ＤＭＸプロトコルは無線ネットワーク上で使用されている。また、例えば、いくつかの実施形態においては、ＤＭＸプロトコルは、人々及び／又は所有物（資産）をリスクにかける照明ユニットを制御するために利用できる（例えば、人々の周辺で利用される、眼に損傷を与えるレーザー発光照明ユニット）。このような実施形態において、及びＤＭＸプロトコルの他の実施形態において、照明ユニットの信頼性、機能性、及び／又は安全性を向上させるためにエラー検出訂正を実行することが望ましい。
【０００７】
［０００７］ＤＭＸ５１２プロトコルは、エラー検出を備えない。ＤＭＸ５１２−Ａプロトコルは、Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐａｃｋｅｔ（ＳＩＰ）の使用によってエラー検出に言及する。ＳＩＰは、交互のスタートコード（例えば、０ｘ００ではない）を有し、データリンク上に、直前のスタートコードパケットに関連するチェックサムデータを他の制御情報とともに含む。ＳＩＰはある程度のエラー検出を実行するが、その利用のためには、全てのＤＭＸスレーブデバイスがＤＭＸ５１２−Ａプロトコルと互換性を有さなければならない。また、ＳＩＰ内に含まれるチェックサムは、チェックサムの複雑さの割には多くのバイトを含む別個のパケットで送信されなければならない、単純な加算チェックサムである。  
【発明の概要】
【発明が解決しようとする課題】
【０００８】
［０００８］したがって、当該技術分野において、改良ＤＭＸスレーブデバイスによるエラー検出を可能にし、非改良ＤＭＸスレーブデバイスとの完全な互換性を維持し、選択任意でＳＩＰの１つ以上の付加的な欠点を克服する拡張ＤＭＸプロトコルに関する方法及び装置を提供するニーズが存在する。
【課題を解決するための手段】
【０００９】
［０００９］本開示は、後方互換性を有する改良ＤＭＸ通信のための方法及び装置に向けられる。例えば、いくつかの実施形態において、ＤＭＸプロトコルの拡張に関する方法及び装置は、非改良ＤＭＸスレーブデバイスとの完全な互換性を維持しつつ、改良ＤＭＸスレーブデバイスによるエラー検出を可能にする。当該方法及び装置は、スタートコードパケット内に組み込まれた、スタートコードパケット内の複数のバイトのチェックサムであるパケットチェックサムバイトを利用し得る。いくつかの変形例において、任意で、スタートコードパケット内の複数のバイトをインターリーブ方式に従ってインターリーブしてもよい。
【００１０】
［００１０］一般的に、一側面において、後方互換性を維持しつつ改良ＤＭＸ通信を提供する方法は、複数の改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップを含む。複数の改良ＤＭＸスレーブは、対応する複数のＤＭＸスレーブ制御アドレスを有する。当該方法は、さらに、複数のバイトを有するＤＭＸスタートコードパケットをコンパイルするステップを含む。複数のバイトは、複数の改良ＤＭＸスレーブ制御アドレスに対応する複数のＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む。パケットチェックサムバイトは、スタートコードパケット内に組み込まれた、スタートコードパケットの複数のバイトのチェックサムである。当該方法は、さらに、スタートコードパケットをＤＭＸネットワーク上で送信するステップと、各改良ＤＭＸスレーブにおいてスタートコードパケットを受信するステップと、各改良ＤＭＸスレーブにおいてパケットチェックサムを含む複数のバイトをバッファリングするステップと、各改良ＤＭＸスレーブにおいて、バッファリングされたバイトの受信されたチェックサムを計算し、受信されたチェックサムをパケットチェックサムと比較するステップとを含む。各改良ＤＭＸスレーブは、計算された受信チェックサムがパケットチェックサムと実質的に一致する場合のみ、改良ＤＭＸスレーブ指示バイトのうちの対応する少なくとも１つに少なくとも選択的に従って動作する。
【００１１】
［００１１］いくつかの実施形態において、複数の改良ＤＭＸスレーブ指示バイトは、複数の改良ＤＭＸスレーブのための動作指示に対応する複数のビットを任意で有し得る、インターリーブされた複数のＤＭＸスレーブ指示バイトを含む。これらの実施形態のいくつかのバージョンにおいて、ＤＭＸスタートコードの複数のバイトは、さらに、非改良ＤＭＸスレーブ制御アドレスに対応する、インターリーブされていない少なくとも１つの非改良ＤＭＸスレーブ指示バイトを含む。
【００１２】
［００１２］いくつかの実施形態において、当該方法は、さらに、ＤＭＸネットワーク上でスタートコードパケットを送信する前に、インターリーブ方式に従って、複数のＤＭＸスレーブ指示バイト間で複数の個別のビットをインターリーブするステップを含む。これらの実施形態のいくつかのバージョンにおいて、複数の改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含む。第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、複数の改良ＤＭＸスレーブのうちの第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び複数の改良ＤＭＸスレーブのうちの第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む。
【００１３】
［００１３］いくつかの実施形態において、当該方法は、さらに、受信されたチェックサムの計算に関連するデータを含む別個の情報パケットをＤＭＸスレーブに送信するステップを含む。
【００１４】
［００１４］いくつかの実施形態において、受信されたチェックサムの計算に関連するデータは、改良ＤＭＸスレーブ上に予めロードされる。
【００１５】
［００１５］いくつかの実施形態において、パケットチェックサムバイトはスタートコードパケットの末尾に設けられる。
【００１６】
［００１６］いくつかの実施形態において、チェックサムは、スタートコードパケットの全ての制御指示のチェックサムである。
【００１７】
［００１７］一般的に、他の側面において、後方互換性を維持しつつ改良ＤＭＸ通信を提供する方法は、少なくとも１つの改良ＤＭＸスレーブをＤＭＸネットワークに接続し、少なくとも１つの非改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップを含む。改良ＤＭＸスレーブは、少なくとも１つの改良ＤＭＸスレーブ制御アドレスを有し、非改良ＤＭＸスレーブは、少なくとも１つの非改良ＤＭＸスレーブ制御アドレスを有する。また、当該方法は、複数のバイトを有するスタートコードパケットをコンパイルするステップを含む。複数のバイトは、改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む。パケットチェックサムバイトは、スタートコードパケット内に組み込まれた、スタートコードパケットの複数のバイトのチェックサムである。当該方法は、さらに、スタートコードパケットをＤＭＸネットワーク上で送信するステップと、改良ＤＭＸスレーブにおいてスタートコードパケットを受信するステップと、改良ＤＭＸスレーブにおいてパケットチェックサムを含む複数のバイトをバッファリングするステップと、改良ＤＭＸスレーブにおいて、バッファリングされたバイトの受信されたチェックサムを計算し、受信されたチェックサムをパケットチェックサムと比較するステップとを含む。改良ＤＭＸスレーブは、受信されたチェックサムとパケットチェックサムとが実質的に一致する場合のみ、改良ＤＭＸスレーブ指示バイトに少なくとも選択的に従う。非改良ＤＭＸスレーブは、パケットチェックサムとは無関係に、任意の受信された非改良ＤＭＸスレーブ指示バイトに従う。
【００１８】
［００１８］いくつかの実施形態において、少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１改良ＤＭＸスレーブ指示バイト及び第２改良ＤＭＸスレーブ指示バイトを含む。
【００１９】
［００１９］いくつかの実施形態において、改良ＤＭＸスレーブは、受信されたチェックサムとパケットチェックサムとが実質的に一致する場合、第１改良ＤＭＸスレーブ指示バイトにのみ従って動作するが、受信されたチェックサムとパケットチェックサムとが実質的に一致しない場合でさえ、第２改良ＤＭＸスレーブ指示バイトに従って動作する。これらの実施形態のいくつかのバージョンにおいて、当該方法は、さらに、ＤＭＸネットワーク上でスタートコードパケットを送信する前に、インターリーブ方式に従って、第１改良ＤＭＸスレーブ指示バイト及び第２改良ＤＭＸスレーブ指示バイト内の複数の個別のビットをインターリーブすることを含む。これらの実施形態のいくつかのバージョンにおいて、当該方法は、さらに、インターリーブ方式に関連するデータを含む製造者特有パケットをＤＭＸスレーブに送信するステップを含む。
【００２０】
［００２０］いくつかの実施形態において、少なくとも１つの改良ＤＭＸスレーブは、第１改良ＤＭＸスレーブ及び第２改良ＤＭＸスレーブを含む。これらの実施形態のいくつかのバージョンにおいて、少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含み、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む。
【００２１】
［００２１］一般的に、他の側面において、改良ＤＭＸ通信を受信及び解析する方法は、複数のバイトを有するスタートコードパケットを受信するステップを含む。複数のバイトは、改良ＤＭＸスレーブに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む。パケットチェックサムバイトは、スタートコードパケット内に組み込まれた、スタートコードパケットの複数のバイトのチェックサムである。当該方法は、さらに、パケットチェックサムを含む複数のバイトをバッファリングするステップと、バッファリングされたバイトの受信されたチェックサムを計算し、受信されたチェックサムをパケットチェックサムと比較するステップと、受信されたチェックサムとパケットチェックサムとが実質的に一致する場合のみ、改良ＤＭＸスレーブ指示バイトに少なくとも選択的に従って動作するステップとを含む。  
【００２２】
［００２２］いくつかの実施形態において、少なくとも１つのＤＭＸスレーブ指示バイトは、インターリーブされた第１改良ＤＭＸスレーブ指示バイト、及びインターリーブされた第２改良ＤＭＸスレーブ指示バイトを含み、当該方法は、さらに、第１改良ＤＭＸスレーブ指示バイト及び第２改良ＤＭＸスレーブ指示バイトをデインターリーブするステップを含む。
【００２３】
［００２３］いくつかの実施形態において、複数のＤＭＸスレーブ指示バイトが含まれ、当該方法は、さらに、受信されたチェックサムとパケットチェックサムとが実質的に一致する場合のみ、いくつかの改良ＤＭＸスレーブ指示バイトに少なくとも選択に従い、受信されたチェックサムとパケットチェックサムとが実質的に一致しない場合でさえ、複数の改良ＤＭＸ指示バイトの他の指示バイトに少なくとも選択的に従う。
【００２４】
［００２４］一般的に、他の側面において、後方互換性を維持しつつ改良ＤＭＸ通信を提供する方法は、複数のバイトを有するスタートコードパケットをコンパイルするステップを含む。複数のバイトは、改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイト、及び少なくとも１つのパケットチェックサムバイトを含む。パケットチェックサムバイトは、スタートコードパケットに組み込まれた、スタートコードパケットの複数のバイトのチェックサムである。当該方法は、さらに、スタートコードパケットをＤＭＸネットワーク上で送信するステップを含む。
【００２５】
［００２５］本開示の目的のために本明細書で使用される限り、用語「ＬＥＤ」は、あらゆるエレクトロルミネセントダイオード、又は、電気信号に応じて発光可能な他のタイプのキャリア注入／結合ベースシステムを含むと理解されたい。したがって、用語ＬＥＤは、限定はされないが、電流に応じて発光する様々な半導体ベース構造、発光ポリマー、有機発光ダイオード（ＯＬＥＤ）、エレクトロルミネセントストリップ等を含む。特に、用語ＬＥＤは、赤外線スペクトル、紫外線スペクトル、及び可視スペクトル（一般的に、放射波長４００〜７００ｎｍを含む）の様々な部分のうちの１つ以上を放射するよう構成され得るあらゆる種類の発光ダイオード（半導体及び有機発光ダイオードを含む）を指す。ＬＥＤのいくつかの例は、限定されないが、様々な種類の赤外線ＬＥＤ、紫外線ＬＥＤ、赤色ＬＥＤ、青色ＬＥＤ、緑色ＬＥＤ、黄色ＬＥＤ、こはく色ＬＥＤ、橙色ＬＥＤ、及び白色ＬＥＤ（下記においてより詳細に説明）を含む。また、ＬＥＤは、所与のスペクトルに対して様々なバンド幅（例えば、狭いバンド幅、広いバンド幅）（例えば、半値全幅ＦＷＨＭ）を有し、また所与の一般的な色カテゴリ内に様々な主波長を有する放射線を生成するよう構成及び／又は制御されてもよいことを理解されたい。
【００２６】
［００２６］例えば、基本的に白色光を生成するよう構成されたＬＥＤ（例えば、白色ＬＥＤ）の一実施形態は、組み合わされて混ざると白色光を形成する、それぞれが異なるエレクトロルミネセンススペクラムを出射する複数のダイを含んでもよい。他の実施形態において、白色光ＬＥＤは、第１スペクトラムを有するエレクトロルミネセンスを異なる第２スペクトルに変換する蛍光体材料を伴ってもよい。この実施形態の一例において、比較的短い波長及び狭いバンド幅スペクトルを有するエレクトロルミネセンスは蛍光体材料に（光を）「注入」し、蛍光体材料は、いくらか幅が広いスペクトルを有する、より長い波長の放射線を放射する。
【００２７】
［００２７］また、用語ＬＥＤは、ＬＥＤの物理的及び／又は電気的なパッケージタイプを限定しないことを理解されたい。例えば、上記のように、ＬＥＤは、それぞれが異なるスペクトルの放射線を出射するよう構成された複数のダイ（例えば、個別に制御可能又は不可能である）を有する単一の発光デバイスを指してもよい。また、ＬＥＤは、ＬＥＤ（例えば、白色ＬＥＤの一種）の不可欠な部品として考えられる蛍光体を伴ってもよい。一般的に、用語ＬＥＤは、パッケージＬＥＤ、非パッケージＬＥＤ、表面実装ＬＥＤ、チップオンボードＬＥＤ、Ｔ−パッケージ実装ＬＥＤ、放射状パッケージＬＥＤ、パワーパッケージＬＥＤ、何らかの種類の包装及び／又は光学素子（例えば、拡散レンズ）を含むＬＥＤ等を指してもよい。
【００２８】
［００２８］用語「光源」は、限定はされないが、ＬＥＤベース光源（上記で定義された１つ以上のＬＥＤを含む）、白熱光源（例えば、フィラメントランプ、ハロゲンランプ）、蛍光源、燐光源、高輝度放電（ＨＩＤ）源（例えば、ナトリウムランプ、水銀ランプ、及びメタルハライドランプ）、レーザ、他の種類の電子発光源、高熱発光源（例えば炎）、キャンドル発光源（例えば、ガスマントル、炭素アーク放射線源）、光ルミネセンス源（例えば、放電源）、電子飽和を利用するカソード発光源、ガルバノ発光源、水晶発光源、キネ（ｋｉｎｅ−）発光源、熱発光源、摩擦発光源、ソノルミネッセンス発光源、放射発光源、及び発光ポリマーを含む、様々な放射線源のうちの任意の１つ以上を指すと理解されたい。
【００２９】
［００２９］本明細書において、用語「照明器具」は、特定のフォームファクタ、アセンブリ、又はパッケージの１つ以上照明ユニットの実装又は構成を指す。本明細書において、用語「照明ユニット」は、同じ又は異なる種類の１つ以上の光源を含む装置を指す。所与の照明ユニットは、光源の様々な実装配置、筐体／ハウジングの配置及び形状、並びに／又は電気的及び機械的接続構成のうちの任意の１つを有し得る。また、所与の照明ユニットは、任意で、光源の動作に関連する様々な他の部品（例えば、制御回路）を伴ってもよい（例えば、含む、結合される、及び／又はともにパッケージングされる）。「ＬＥＤベース照明ユニット」は、上記のような１つ以上のＬＥＤベース光源を、単独で又は他の非ＬＥＤベース光源と組み合わせて含む照明ユニットを指す。「マルチチャネル」照明ユニットは、それぞれが異なる放射スペクトルを発生するように構成された少なくとも２つの光源を含むＬＥＤベース又は非ＬＥＤベース照明ユニットを指し、異なるスペクトルのそれぞれは、マルチチャネル照明ユニットの「チャネル」と呼ばれ得る。
【００３０】
［００３０］本明細書において、用語「コントローラ」は、一般的には１つ以上の光源の動作に関連する様々な装置を説明するために用いられる。コントローラは、本明細書で説明される多様な機能を実行するために、多数の方法で実装できる（例えば、専用のハードウェアによって）。「プロセッサ」は、コントローラの一例であり、本明細書において説明される多様な機能を実行するためにソフトウェア（例えば、マイクロコード）を使用してプログラミングされ得る１つ以上のマイクロプロセッサを使用する。コントローラは、プロセッサを使用して又は使用せずに実装されてもよく、また、いくつかの機能を実行する専用ハードウェアと、他の機能を実行するプロセッサ（例えば、１つ以上のプログラミングされたマイクロプロセッサ及び関連する回路）との組み合わせとしても実装できる。本開示の多様な実施形態において使用され得るコントローラ部品の例は、限定されないが、従来のマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、及びフィールドプログラマブルゲートアレイ（ＦＰＧＡ）である。
【００３１】
［００３１］多様な実施形態において、プロセッサ又はコントローラは１つ以上の記憶媒体（本明細書において、通常「メモリ」と呼ばれ、例えばＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フロッピー（登録商標）ディスク、コンパクトディスク、光学ディスク、磁気テープ等の揮発性及び非揮発性コンピュータメモリ）に関連付けられ得る。いくつかの実施形態において、１つ以上のプロセッサ及び／又はコントローラ上で実行される際、記憶媒体は、本明細書で説明される機能のうちの少なくとも一部を実行する１つ以上のプログラムによって符号化され得る。様々な記憶媒体がプロセッサ若しくはコントローラ内に固定されてもよく、又は、移動可能でもよく、記憶媒体上に記憶された１つ以上のプログラムがプロセッサ若しくはコントローラにロードされて、本明細書に説明される本発明の多様な側面を実行してもよい。本明細書において、用語「プログラム」又は「コンピュータプログラム」は広義の意味で使用され、１つ以上のプロセッサ又はコントローラをプログラミングするために用いることができるあらゆる種類のコンピュータコード（例えば、ソフトウェア又はマイクロコード）を指す。
【００３２】
［００３２］本明細書において、用語「アドレス指定可能」は、自身を含む複数のデバイス用の情報（例えば、データ）を受信し、自身を対象とする特定の情報に選択的に応答するよう構成されたデバイス（例えば、光源全般、照明ユニット又は照明器具、１つ以上光源又は照明ユニットと関連付けられたコントローラ又はプロセッサ、他の照明に関係ないデバイス等）を指す。用語「アドレス指定可能」は、しばしば、複数のデバイスが何らかの通信媒体を介して一体的に結合されるネットワーク化された環境（又は「ネットワーク」、以下で詳細に説明）と関連して用いられる。
【００３３】
［００３３］１つのネットワークの実施形態において、ネットワークに結合される１つ以上のデバイスが、当該ネットワークに結合される１つ以上の他のデバイスのコントローラとして機能し得る（例えば、マスタ／スレーブ関係）。他の実施形態において、ネットワーク化された環境は、当該ネットワークに結像された１つ以上のデバイスを制御するよう構成された１つ以上の専用のコントローラを含み得る。一般的に、ネットワークに結合された複数のデバイスはそれぞれ、通信媒体上に存在するデータにアクセスを有する。ただし、所与のデバイスは、例えば自身に割り当てられた１つ以上の特定の識別子（例えば、アドレス）に基づいてネットワークと選択的にデータを交換できる（すなわち、データを受信できる及び／又は送信できる）という点で、「アドレス指定可能」であり得る。
【００３４】
［００３４］本明細書において、用語「ネットワーク」は、ネットワークに接続される任意の２つ以上のデバイス間及び／又は複数のデバイス間での情報（例えば、デバイス制御、データ保存、データ交換のための情報等）の転送を容易にする２つ以上のデバイス（コントローラ又はプロセッサを含む）のあらゆる相互接続を指す。容易に理解されるように、複数のデバイスを相互接続するために適した様々なネットワークの実施形態は、あらゆる多様なネットワークトポロジーを含んでもよく、また、あらゆる多様な通信プロトコルを用い得る。また、本開示に係る様々なネットワークによれば、任意の２つのデバイス間の１つの接続は、２つのシステム間の専用接続、又は非専用接続を表し得る。かかる非専用接続は、２つのデバイス用の情報を運ぶのに加えて、必ずしも２つのデバイス用ではない情報を運んでもよい（例えば、オープンネットワーク接続）。また、本明細書で説明されるデバイスの多様なネットワークは、ネットワークを通じた情報転送を容易にするために、無線、有線／ケーブル、及び／又は光ファイバーリンクの１つ以上を使用し得ることが容易に理解されるであろう。
【００３５】
［００３５］本明細書において、用語「ユーザインターフェイス」は、ユーザとデバイスとの間の通信を可能にする、人間のユーザ又はオペレータと１つ以上のデバイスとの間のインターフェイスを指す。本開示の多様な実施形態に使用されるユーザインターフェイスの例は、限定はされないが、スイッチ、ポテンショメータ、ボタン、ダイヤル、スライダ、マウス、キーボード、キーパッド、様々な種類のゲームコントローラ（例えば、ジョイスティック）、トラックボール、ディスプレイ画面、様々な種類のグラフィカルユーザインターフェイス（ＧＵＩ）、タッチスクリーン、マイク、及び人によって生成された何らかの形態の刺激を受信し、それに応じて信号を生成する他の種類のセンサを含む。
【００３６】
［００３６］上記概念、及び下記において詳細に説明される他の概念の組み合わせの全てが（かかる概念が互いに矛盾しないことを前提として）、本明細書が開示する主題の一部として考えられることを理解されたい。特に、本開示の末尾に表す特許請求の主題の組み合わせの全ては、本開示の主題の一部として考えられる。また、本明細書で明確に使用され、また、参照によって組み込まれる開示内に現れ得る用語は、本開示が開示する特定の概念と最も調和する意味を与えられるべきであると理解されたい。
【図面の簡単な説明】
【００３７】
［００３７］図面において、同様な参照符号は、通常異なる図面にかけて同じ部品（部分）を指す。また、図面は必ずしも縮尺通りでなくてもよく、発明の原理を説明するために、通常誇張される。
【図１】［００３８］図１は、ＤＭＸスタートコードパケットの実施形態の開始部を示す。
【図２】［００３９］図２は、ＤＭＸネットワークの実施形態を示す。
【図３】［００４０］図３は、改良ＤＭＸスレーブ及び非改良ＤＭＸスレーブを有するＤＭＸネットワークの実施形態を示す。
【図４】［００４１］図４は、後方互換性を維持する改良ＤＭＸ通信のコンパイル及び送信の実施形態を示す。
【図５】［００４２］図５は、改良ＤＭＸ通信の受信及び解析の実施形態を示す。
【図６】［００４３］図６は、インターリーブされたＤＭＸパケットをコンパイル及び送信する方法の実施形態を示す。
【図７】［００４４］図７は、インターリーブされたＤＭＸパケットからインターリーブされたデータを受信及び解析する方法の実施形態を示す。
【図８】［００４５］図８は、ＤＭＸ照明ネットワークの他の例を示す。
【発明を実施するための形態】
【００３８】
［００４６］ＤＭＸ５１２プロトコルは、エラー検出を提供しない。ＤＭＸ５１２−ＡプロトコルはＳＩＰの使用によりエラー検出に言及し、エラー保護をある程度実行するが、全てのＤＭＸスレーブデバイスがＤＭＸ５１２−Ａプロトコルと互換性を有すること、及びチェックサムの複雑さに比して多くのバイトを含む別個のパケットの送信を要求する。
【００３９】
［００４７］したがって、当該技術分野には、改良ＤＭＸスレーブデバイスによるエラー検出を可能にし、非改良ＤＭＸスレーブデバイスとの完全な互換性を維持し、また任意でＳＩＰの１つ以上の付加的な欠点を克服する、ＤＭＸプロトコルの拡張に関する方法及び装置を提供するニーズが存在する。当該方法及び装置は、スタートコードパケット内に組み込まれ、スタートコードパケット内の複数のバイトのチェックサムであるパケットチェックサムバイトを利用し得る。
【００４０】
［００４８］より一般的には、出願人は、後方互換性を維持するＤＭＸ通信プロトコルの拡張を提供することが有益であることを認識及び理解した。
【００４１】
［００４９］これに照らして、本発明の多様な実施形態は拡張通信プロトコルに向けられている。
【００４２】
［００５０］下記の詳細な説明において、限定ではなく説明を目的として、本発明の完全な理解のために、具体的な詳細を開示する代表的な実施形態を述べる。しかし、本開示の利益を享受した当業者は、本明細書に開示される具体的な詳細から外れる、本明細書の教示に従う他の実施形態も特許請求の範囲に依然として含まれることを理解するであろう。例えば、本明細書を通して、多様な実施形態が、所定の用途のために構成され得るＤＭＸ制御照明器具と関連して説明される。しかし、本開示の利益を享受した当業者は、本発明の原理が、他の用途のために構成され得る他の照明器具、及び／又は他の非照明ＤＭＸデバイスに実装され得ることを認識及び理解するであろう。また、既知の装置及び方法の説明は、代表的な実施形態の説明を不明瞭にしないよう省略され得る。かかる方法及び装置は明らかに本発明の範囲に含まれる。
【００４３】
［００５１］図１は、ＤＭＸスタートコードパケット１１０の実施形態の開始部を示す。ＤＭＸスタートコードパケット１１０は、ヌル値（０ｘ００）を有するスタートコード１１２を含む。スタートコード１１２は、「ＢＲＥＡＫ」によって示されるリセットシーケンスに続く。また、ＤＭＸスタートコードパケット１１０は、第１データバイト１１４０、第２データバイト１１４１、及び他のデータバイト１１４Ｘを含む複数のデータバイトを含む。アドレス「０」用に構成されたＤＭＸスレーブデバイスは、第１指示データバイト１１４０内で送信されるデータを利用し、アドレス「１」用に構成されたＤＭＸスレーブデバイスは、第２指示データバイト１１４１内で送信されたデータを利用する。選択任意で、単一のＤＭＸスレーブデバイスが指示データバイト１１４０及び１１４１を利用してもよい。他の指示バイト１１４Ｘは、１つ以上の追加のＤＭＸスレーブデバイスへの指示を与えるために構成された、且つ／又は１つ以上のパケットチェックサムバイトを本明細書に説明されるように実行するために構成された、最大で５０９のさらなるバイトを含み得る。
【００４４】
［００５２］図２は、ＤＭＸネットワーク２００の実施形態を示す。ＤＭＸネットワーク２００は、スタートコードパケット２１０を複数のＤＭＸスレーブ２２１〜２２４に送信するＤＭＸコントローラ２５０を含む。スタートコードパケット２１０は、スタートコード２１２、及びスタートコード２１２に続く、複数のデータバイト２１４０〜２１４６を含む。ＤＭＸスレーブ２２１は、指示データバイト２１４０内のデータを利用するよう構成される。ＤＭＸスレーブ２２２は、指示データバイト２１４１及び２１４２内のデータを利用するよう構成される。ＤＭＸスレーブ２２３は、指示データバイト２１４３内のデータを利用するよう構成される。ＤＭＸスレーブ２２４は、指示データバイト２１４４、２１４５、及び２１４６内のデータを利用するよう構成される。ＤＭＸコントローラ２５０は、本明細書に説明されるような１つ以上のパケットチェックサムバイト等の１つ以上の追加データバイトを任意で実装してもよい。本明細書で説明されるような１つ以上のパケットチェックサムバイトがスタートコードパケット２１０内に実装される場合、かかるチェックサムバイトを解析するように拡張されたあらゆるＤＭＸスレーブ２２１〜２２４が解析を実行してもよい。ＤＭＸスレーブ２２１〜２２４のうちの１つ以上が拡張されていないとしても、本明細書に説明される１つ以上のパケットチェックサムバイトを含むスタートコードパケットから指示バイトを読み取る場合でさえ、依然として正常に機能することができる。
【００４５】
［００５３］図３は、改良ＤＭＸスレーブ３２２、３２３及び非改良ＤＭＸスレーブ３２１、３２４を有するＤＭＸネットワークの実施形態を示す。ＤＭＸネットワーク３００は、スタートコードパケット３１０をＤＭＸスレーブ３２１〜３２４に送信するＤＭＸコントローラ３５０を含む。いくつかの実施形態において、ＤＭＸコントローラ３５０は、電力線ネットワーク及び／又は無線ネットワーク等、ノイズ及び干渉を受ける通信媒体を介してスタートコードパケットを送信し得る。スタートコードパケット３１０は、スタートコード３１２、及びスタートコード３１２に続く、複数のデータバイト３１４０〜３１４８を含む。非改良ＤＭＸスレーブ３２１は、指示データバイト３１４０内のデータに従うよう構成される。非改良ＤＭＸスレーブ３２４は、データバイト３１４４〜３１４６内のデータに従うよう構成される。
【００４６】
［００５４］改良ＤＭＸスレーブ３２２は、指示データバイト３１４１及び３１４２内のデータに従って動作するよう構成される。また、改良ＤＭＸスレーブ３２２は、指示データバイト３１４０〜３１４６をバッファリング及び解析し、チェックサムバイト３１４７及び３１４８をバッファリング及び解析するよう構成される。一実施形態において、改良ＤＭＸスレーブ３２２は指示データバイト３１４０〜３１４６をバッファリングして、既定のチェックサムアルゴリズムに基づいて、受信されたチェックサムを計算してもよい。その後、改良ＤＭＸスレーブ３２２は、受信されたチェックサムを送信されたデータバイト３１４７及び３１４８のマスターチェックサムと比較してもよい。受信されたチェックサムがマスターチェックサムと一致する場合、ＤＭＸスレーブ３２２は、指示データバイト３１４１及び３１４２に従って動作してもよい。受信されたチェックサムがマスターチェックサムと一致しない場合、ＤＭＸスレーブ３２２は、指示データバイト３１４１及び３１４２の一方又は両方に従わなくてもよい。例えば、いくつかの実施形態において、ＤＭＸスレーブ３２２は、受信されたチェックサムとマスターチェックサムとの間の対応に関係なく指示データバイト３１４１に従うが、受信されたチェックサムとマスターチェックサムが一致する場合、指示データバイト３１４２のみに従う。改良ＤＭＸスレーブ３２３は、指示データバイト３１４３内のデータに従うよう構成される。また、改良ＤＭＸスレーブ３２３は、指示データバイト３１４０〜３１４６をバッファリング及び解析し、本明細書に説明されるようにチェックサムバイト３１４７及び３１４８をバッファリング及び解析するよう構成されてもよい。いくつかの実施形態において、改良ＤＭＸスレーブ３２３は指示データバイト３１４０〜３１４６をバッファリングし、受信されたチェックサムを算出し、算出されたチェックサムをデータバイト３１４７及び３１４８のマスターチェックサムと比較して、受信されたチェックサムとマスターチェックサムとが一致する場合、指示データバイト３１４３のみに従ってもよい。
【００４７】
［００５５］また、第１スタートコードパケット３１０に続く第２スタートコードパケット３１０１が図３に示される。第２スタートコードパケット３１０１は、第１スタートコードパケット３１０と同じフォーマットを有してもよい。また、改良ＤＭＸスレーブ３２２及び３２３は同様に第２スタートコードパケット３１０１のデータバイトをバッファリングし、受信されたチェックサムを算出して、算出されたチェックサムを送信されたマスターチェックサムと比較してもよい。
【００４８】
［００５６］図４は、後方互換性を維持する改良ＤＭＸ通信のコンパイリング及び送信の実施形態を示す。図４のステップは、例えば、ＤＭＸネットワーク２００／３００のいくつかの実施形態においては、コントローラ２５０／３５０内で実行されてもよい。
【００４９】
［００５７］ステップ４０１において、改良ＤＭＸスレーブデバイスは、ＤＭＸパケットの１つ以上のチャネルにおいてチェックサムデータの位置について通知を受ける。例えば、改良ＤＭＸスレーブデバイスは、チェックサムデータの位置がＤＭＸパケットの最後の２つのデータバイト内であることを知らされてもよい。また、例えば、改良ＤＭＸスレーブデバイスは、チェックサムデータの位置が、ＤＭＸパケットの始め、終わり、又は中間に位置する、１つ以上の特定のチェックサムデータバイト内であることを知らされてもよい。また、改良ＤＭＸスレーブデバイスは、チェックサムが取るフォーマットについて任意で通知を受けてもよい（例えば、どのチェックサムアルゴリズムが利用されるか）。いくつかの実施形態において、ＤＭＸスレーブデバイスは、ＤＭＸパケット内のチェックサムデータバイトの固定位置を特定し、且つ／又はチェックサムフォーマットを特定する、予めロードされたデータを含んでもよい。いくつかの実施形態において、ＤＭＸスレーブデバイスは、ユーザが、ＤＭＸパケット内のチェックサムデータバイトの１つ以上の特定の位置、及び／又はチェックサムフォーマットを特定することを可能にする、ジャンパー又は他のユーザインターフェイスを含んでもよい。いくつかの実施形態において、コントローラは、チェックサムがＤＭＸパケット内のどこに存在するかを示し、且つ、任意でチェックサムが取るフォーマットを示すデータを含むＳＩＰを送信してもよい。
【００５０】
［００５８］ステップ４０２では、ＤＭＸパケットのチェックサムが計算される。いくつかの実施形態において、チェックサムはＤＭＸパケットの全ての指示データバイトに関して計算される。他の実施形態において、チェックサムは、ＤＭＸパケットの全てより少ない指示データバイトに関して計算されてもよい。いくつかの実施形態において、チェックサムアルゴリズムは、例えばフレッチャーのチェックサム、Ａｄｌｅｒ−３２、又は巡回冗長検査等の位置依存チェックサムでもよい。
【００５１】
［００５９］ステップ４０３では、チェックサムはＤＭＸスタートコードパケット内の１つ以上の空きデータバイト内に実装される。当該空きデータバイトは、チェックサムを有するとＤＭＸスレーブデバイスが知らされたバイトである。いくつかの実施形態において、当該データバイトはＤＭＸスタートコードパケットの末尾のバイトでもよい。
【００５２】
［００６０］ステップ４０４では、ＤＭＸスタートコードパケットが複数のＤＭＸスレーブデバイスに送信される。ＤＭＸスレーブデバイスの少なくとも一部は改良ＤＭＸスレーブデバイスであり、ＤＭＸパケットの送信されたマスターチェックサムを、受信されたＤＭＸパケットデータに基づいて改良ＤＭＸスレーブデバイスで計算されたチェックサムと照合する。他のＤＭＸスレーブデバイスは非改良ＤＭＸスレーブデバイスでもよく、これらは送信されたマスターチェックサムを単純に無視する。これは、マスターチェックサムが、非改良ＤＭＸスレーブデバイスによって使用されていない空きデータバイト内で送信されるからである。
【００５３】
［００６１］図５は、改良されたＤＭＸ通信データを受信及び解析する実施形態を示す。図５のステップは、例えば、いくつかの実施形態において、図３の改良ＤＭＸスレーブ３２２、３２３内で実行されてもよい。
【００５４】
［００６２］ステップ５０１では、ＤＭＸスタートコードパケットの１つ以上のデータバイトからのデータが受信されてバッファリングされる。例えば、いくつかの実施形態において、ＤＭＸスタートコードパケットの全ての指示バイトが受信されてバッファリングされる。
【００５５】
［００６３］ステップ５０２では、チェックサムアルゴリズムに従って、受信及びバッファリングされたデータバイトの受信されたチェックサムが計算される。いくつかの実施形態において、利用されるアルゴリズムは、例えばＤＭＸスレーブ上に予めロードされたデータ、ＤＭＸコントローラから送信されたデータ、及び／又はユーザインターフェイスを介したユーザからの入力によって指示されてもよい。受信されたチェックサムの計算は、いくつかの実施形態では全ての受信及びバッファリングされたデータ（例えば、ほぼ全てのＤＭＸスタートコードパケットデータバイト）を利用してもよいし、他の実施形態では、データの一部のみを利用してもよい。
【００５６】
［００６４］ステップ５０３では、ＤＭＸスタートコードパケットの１つ以上のデータバイト内のチェックサムデータ位置からマスターチェックサムが受信される。マスターチェックサムを保持する特定のデータバイトは、例えばＤＭＸスレーブ上に予めロードされたデータ、ＤＭＸコントローラから送信されたデータ、及び／又はユーザインターファイスを介したユーザによる入力によって指示されてもよい。多くの実施形態において、ステップ５０３は、好ましくはステップ５０２より先に起こる。
【００５７】
［００６５］ステップ５０４では、（受信されたデータバイトに基づいて計算された）受信されたチェックサムが（１つ以上のデータバイト内で送信された）マスターチェックサムと比較される。ステップ５０５では、受信されたチェックサムとマスターチェックサムとの比較に基づいて、デバイス特有指示バイトが機能するか否かが判定される。例えば、いくつかの実施形態において、受信されたチェックサムとマスターチェックサムとが互いに合致しない限り、デバイス特有指示バイトが機能しない。また、例えば、いくつかの実施形態において、いくつかのデータバイト（又はその側面）は受信されたチェックサムとマスターチェックサムとが互いに合致しない限り機能しないが、他のデータバイト（又はその側面）はそれとは無関係に機能する。例えば、非決定的データバイトは受信されたチェックサム及びマスターチェックサムの対応に関係なく機能する一方、決定的及び／又は潜在的に危険なデータバイトは、受信されたチェックサムとマスターチェックサムとが一致しない限り機能しなくてもよい。また、例えば、いくつかの実施形態において、受信されたチェックサム及びマスターチェックサムが互いの所定の誤差範囲内に存在しない限り、デバイス特有指示バイトは機能しない。また、例えば、いくつかの実施形態において、所定の期間内に２つ以上の連続エラーＤＭＸスタートコードパケットが生じない限り、デバイス特有指示は機能しない。
【００５８】
［００６６］図６は、インターリーブＤＭＸパケットのコンパイル及び送信方法の実施形態を示す。図６の方法は、任意で、例えば、いくつかの実施形態においてはＤＭＸネットワーク２００／３００のコントローラ２５０／３５０内で実行され得る。図６の方法は、単独で、又は任意でチェックサムデータを有するスタートコードＤＭＸパケットのコンパイル及び送信と組み合わせて実行され得る。
【００５９】
［００６７］ステップ６０１では、改良ＤＭＸスレーブデバイスはインターリーブ方式についての通知を受ける。いくつかの実施形態において、改良ＤＭＸスレーブデバイスは、インターリーブ方式を特定するプリロードデータを含んでもよい。いくつかの実施形態において、改良ＤＭＸスレーブデバイスは、ユーザが特定のインターリーブ方式を特定することを可能にするジャンパー又は他のユーザインターフェイスを含んでもよい。いくつかの実施形態において、コントローラは、インターリーブ方式を示すデータを含むＳＩＰを送信してもよい。
【００６０】
［００６８］ステップ６０２では、インターリーブ方式に従ってデータがインターリーブされた複数のデータバイトを有するＤＭＸスタートコードパケットが作成される。例えば、図３を参照すると、一実施形態において、データバイト３１４４、３１４５、及び３１４６のデータが互いにインターリーブされてもよい。例えば、データバイト３１４４、３１４５、及び３１４６のそれぞれが、ＤＭＸスレーブ３２４の異なるチャネルを対象とした個別のビットを含み得る（データバイト３１４４、３１４５、及び３１４６のそれぞれが、ＤＭＸスレーブ３２４の単一のチャネルのみを対象としたビットを含むのではなく）。いくつかの実施形態において、インターリーブは、複数の異なるＤＭＸスレーブデバイスに対応するデータバイトにかけて生じてもよい。言い換えれば、１つのデータバイトは、複数のＤＭＸスレーブデバイスに対応するデータを含んでもよい。また、インターリーブは、任意で、インターリーブがチェックサムバイトと組み合わされた実施形態において、チェックサムデータバイトを含んでもよい。非改良デバイスが指示データバイトを意図された通りに受信するよう、インターリーブは、非改良ＤＭＸスレーブに対応するデータバイト間に生じるべきではない。
【００６１】
［００６９］ステップ６０３では、インターリーブされたＤＭＸスタートコードパケットが、複数のＤＭＸスレーブデバイスに送信される。ＤＭＸスレーブデバイスの少なくとも一部は改良ＤＭＸスレーブデバイスであり、ＤＭＸスタートコードパケットを受信するとデインターリーブする。他のＤＭＸスレーブデバイスは非改良ＤＭＸスレーブデバイスでもよく、インターリーブされたデータは非改良ＤＭＸスレーブデバイスに対応しないデータバイト内でのみ送信されるため、非改良ＤＭＸスレーブデバイスはこれを単純に無視する。
【００６２】
［００７０］図７は、インターリーブされたＤＭＸパケットからのインターリーブされたデータを受信及び解析する方法の実施形態を示す。図７の方法は、例えば、いくつかの実施形態において、図３の改良ＤＭＸスレーブ３２２、３２３内で実行され得る。
【００６３】
［００７１］ステップ７０１では、ＤＭＸスタートコードパケットの複数のデータバイトからインターリーブデータが受信されバッファリングされる。例えば、受信されたチェックサムを決定するためにバッファリングされるデータバイトも同様にバッファリングされてもよい。ステップ７０２では、インターリーブされたデータは、インターリーブ方式に従ってデインターリーブされたデータに再編成される。例えば、ＤＭＸスレーブに対応する複数のデータバイトからの個別のデータビットがインターリーブ方式に対応する順番に再編成されて、これによりＤＭＸスレーブのためのデインターリーブされた指示を取得してもよい。また、任意で、ＤＭＸスタートコードパケットがチェックサムデータを含み、チェックサムデータがインターリーブされている場合、個別のデータビットをデインターリーブすることによってマスターチェックサムを取得してもよい。受信されたチェックサムの計算において、ＤＭＸスレーブは、いくつかの実施形態ではインターリーブされたデータを利用してもよく、他の実施形態では、デインターリーブされたデータを利用してもよい。ステップ７０３では、ＤＭＸスレーブに対応するＤＭＸ被制御機器の少なくとも１つの側面が、デインターリーブされたデータに基づいて指示を受ける。
【００６４】
［００７２］インターリーブがＤＭＸスタートコードパケット内に組み込まれたチェックサムバイトと組みわされた実施形態において、受信されたチェックサムがマスターチェックサムと合致しないにも関わらず、ＤＭＸスレーブデバイスが１つ以上のデータバイトを利用することが適切であると判定する場合（例えば、１つ以上のデータバイトが決定的でない場合、受信されたチェックサムとマスターチェックサムとの違いが最小の破損を示す場合、設定された時間内においてエラーＤＭＸスタートコードパケットがさらなるエラーパケットによって先行されない場合）、送信されるＤＭＸスタートコードパケット内のエラーの影響を最小化することを助け得る。  
【００６５】
［００７３］図８は、ＤＭＸ照明ネットワーク８００の他の実施形態を示す。ＤＭＸ照明ネットワーク８００は、ＤＭＸスレーブ照明器具８２１、８２２、及び８２３の３つの別々のグループを制御するＤＭＸコントローラ８５０を含む。ＤＭＸコントローラ８５０は、同じＤＭＸスタートコードパケットを３つのグループ８２１、８２２、及び８２３の全てに送信してもよいし、１つ以上のグループ８２１〜８２３に別々のＤＭＸスタートコードパケットを送信してもよい。例えば、ＤＭＸコントローラは、グループ８２１に標準ＤＭＸ５１２スタートコードパケットを送信し、グループ８２２にスタートコードパケット内にチェックサムバイトを実装するＤＭＸ情報を送信し、そしてグループ８２３にスタートコードパケット内にインターリーブを実装するＤＭＸ情報（任意で、チェックサムバイトと組み合わせて）を送信してもよい。
【００６６】
［００７４］本明細書においていくつかの実施形態が説明されてきたが、当業者は、本明細書で説明される機能を実行するための、並びに／又は本明細書で説明される結果及び／若しくは１つ以上の利益を取得するための多様な他の手段及び／又は構造を容易に想像することができ、また、かかる変形例及び／又は改変例は、本明細書に説明される実施形態の範囲に含まれると見なされる。より一般的には、当業者は、本明細書に記載される全てのパラメータ、寸法、材料、及び構成は例示的であり、実際のパラメータ、寸法、材料、及び／又は構成は、本明細書の教示が使用される具体的な用途に依存する。当業者は、通常の実験以上を要求されることなく、本発明の具体的な実施形態の多数の均等物を認識又は確認することができるであろう。したがって、上記の実施形態は単に例としてのみ提示され、実施形態は、特許請求の範囲及びその均等物の範囲内において、具体的に説明及び請求された態様とは異なる態様で実施されてもよいことを理解されたい。本開示の実施形態は、本明細書で説明される個別の特徴、システム、物品、材料、キット、及び／又は方法に向けられる。また、かかる特徴、システム、物品、材料、キット、及び／又は方法の２つ以上が互いに矛盾しない場合、このような特徴、システム、物品、材料、キット、及び／又は方法の２つ以上の任意の組み合わせが、本開示の範囲に含まれる。
【００６７】
［００７５］本明細書で定義及び使用される全ての用語の定義は、辞書の定義、参照によって組み込まれる文書内の定義、及び／又は定義される用語の通常の意味を含むことを理解されたい。
【００６８】
［００７６］本明細書及び特許請求の範囲において、特に指定されない限り、要素は複数を除外しない。
【００６９】
［００７７］本明細書及び特許請求の範囲で使用される「及び／又は」というフレーズは、結合された要素の「いずれか又は両方」、すなわち、いくつかの場合においては結合して存在し、他の場合においては分離して存在する要素を意味すると理解されるべきである。「及び／又は」によって列挙される複数の要素も同様に解釈されるべきであり、すなわち、複数の要素のうちの「１つ以上」が結合される。任意で、「及び／又は」の節によって具体的に特定された要素以外の要素が存在してもよく、これらの要素は、具体的に特定された要素と関係しても無関係でもよい。したがって、非限定的な例として、「含む」等の非制限的な（ｏｐｅｎ−ｅｎｄｅｄ）文言とともに「Ａ及び／又はＢ」が使用される場合、これは、例えば１つの実施形態においてはＡのみを指し（任意でＢ以外の要素を含む）、他の実施形態においてはＢのみを指し（任意でＡ以外の要素を含む）、他の実施形態においては、Ａ及びＢの両方を指す（任意で他の要素を含む）。
【００７０】
［００７８］また、明確に否定的な記載がない限り、１つ以上のステップ又は動作を含む本願で請求される方法において、方法のステップ又は動作の順番は、必ずしもその方法のステップ又は動作が記載される順番に限定されないことを理解されたい。また、特許請求の範囲内の括弧内の参照番号は、単に便宜上用いられ、特許請求の範囲を如何なる意味でも限定しないと解されるべきである。
【００７１】
［００７９］特許請求の範囲において、また本明細書において、「備える」、「含む」、「運ぶ」、「有する」、「保有する」、「保持する」、「から構成される」等の全ての移行句は、非制限的、すなわち、限定ではなく含むを意味すると理解されるべきである。移行句「からなる」及び「本質的に〜からなる」のみが、制限的又は準制限的移行句であろう。
【図１】
2014532264.tif 000003
【図２】
2014532264.tif 000004
【図３】
2014532264.tif 000005
【図４】
2014532264.tif 000006
【図５】
2014532264.tif 000007
【図６】
2014532264.tif 000008
【図７】
2014532264.tif 000009
【図８】
2014532264.tif 000010
【国際調査報告】
2014532264.tif 000011
2014532264.tif 000012
2014532264.tif 000013