JP2023169110A - ダイナミックライティングのための高度なバスプロトコル - Google Patents
ダイナミックライティングのための高度なバスプロトコル Download PDFInfo
- Publication number
- JP2023169110A JP2023169110A JP2023060802A JP2023060802A JP2023169110A JP 2023169110 A JP2023169110 A JP 2023169110A JP 2023060802 A JP2023060802 A JP 2023060802A JP 2023060802 A JP2023060802 A JP 2023060802A JP 2023169110 A JP2023169110 A JP 2023169110A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bits
- data
- drive unit
- field
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000009471 action Effects 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 abstract description 62
- 230000006870 function Effects 0.000 description 30
- 230000008901 benefit Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/175—Controlling the light source by remote control
- H05B47/18—Controlling the light source by remote control via data-bus transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
- H04L61/3025—Domain name generation or assignment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B45/00—Circuit arrangements for operating light-emitting diodes [LED]
- H05B45/10—Controlling the intensity of the light
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B45/00—Circuit arrangements for operating light-emitting diodes [LED]
- H05B45/20—Controlling the colour of the light
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B45/00—Circuit arrangements for operating light-emitting diodes [LED]
- H05B45/30—Driver circuits
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/155—Coordinated control of two or more light sources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/40—Bus coupling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Circuit Arrangement For Electric Light Sources In General (AREA)
Abstract
【課題】多数の駆動ユニットをアドレス指定することを可能にするマスタとスレーブとの間の通信方法、駆動ユニット及びシステムを提供する。【解決手段】方法は、マスタ制御ユニットと、スレーブノードにおける複数の駆動ユニットのうちの少なくとも1つとの間でビットシーケンスを含むデータフレームを交換し、駆動ユニットをアドレス指定するためのIDフィールドを適用して電子ユニットのステータスに関する情報及び/又は命令を含むデータフィールドを適用する。IDフィールドを適用することは、Nビットを含む第1のビットサブストリングを使用して駆動ユニットアドレスを示すことと、マスタ制御ユニットがデータを受信又は送信するべきかどうかを識別することを可能にすることと、データ長復号ステップを実行することと、駆動ユニットによるアクションを実行するための情報を含む更なるビットストリングをデータフィールドに追加することと、を含む。【選択図】なし
Description
本発明は、バスプロトコルを介したデータ送信及び電子通信の分野に関する。より具体的には、照明システム及び信号化システムの分野に関する。
例えば、自動車などの消費財では、電子部品の制御は、マスタ制御ユニットと、1つ以上の電子ユニットを制御する駆動ユニットとの間の通信を確立するバスプロトコルを使用して行われる。
バスプロトコルでは、限られた帯域幅を維持するために、バス上のデータ負荷をできるだけ低く保つべきである。これにより、排出量が低く抑えられているため、電磁両立性の問題も軽減される。
自動車用途の特定の例では、照明システムの制御は堅牢でフェールプルーフであるべきである。例えば、外部フィールド、電気ピーク、又は他のノイズ源の影響を受けるべきではない。しかしながら、自動車環境は電気的にノイズが多い。データの誤送信、又は照明システムの意図しない作動は、回避するべき危険な状況につながる可能性がある。
これらの作用を低減するために、文書DE102015222504A1は、例えば、電力線の影響又は外部の影響によるアンテナ作用の影響を低減するSPI又は単方向差動データバスに基づく実施態様を開示している。この保護は部分的なものでしかなく、LEDコントローラの変動又は不規則性のために保護を可能にしない。
更に、データ負荷の低減の必要性は、使用する制御対象の駆動ユニットの数がますます増える傾向とかちあう(例えば、照明アーキテクチャでは、照明ユニットの数が増える)。制御される駆動ユニットの数が多いほど、必要となるアドレスの数が多くなる。
レジスタは、通常、8ビット、16ビット、又は32ビット幅で配置され、通信フレームには、通常、レジスタ、例えば、16ビットに適合する識別フィールド(IDフィールド)が含まれる。アドレス指定には追加情報(例えば、コマンド)が必要なため、通常、これらの16ビットの半分未満が駆動ユニットのアドレスに利用可能である。この利用可能なアドレス空間は、通常、必要な全ての駆動ユニット(通常、100未満、例えば、約60)にアドレス指定するのに十分ではない。IDフィールドを増やすことは可能であり得るが、これには変更レジスタとプロセッサが必要である。16ビットの幅は、更なる信号処理を行っているマイクロコントローラ又はCPUアーキテクチャに沿っており、また、異なるコンポーネント(ドライバなど)が異なるサプライヤによって提供されているため、ネットワークのメンバー間のバスプロトコルに16ビットのIDを使用することは、これらの異なるコンポーネント間の互換性を維持するために望ましい。
バスプロトコルの追加機能及びオプションを維持する一方でそれと同時に、例えば、100を超える数の駆動ユニットである多数の駆動ユニットをアドレス指定することを可能にすることが望ましい。
本発明の実施形態は、マスタとスレーブとの間の通信方法であって、コマンド及び情報の交換を可能にする柔軟なプロトコルを用いる、多数の駆動ユニットをアドレス指定することを可能にする、IDフィールド及びDATAフィールドを含む通信フレームの交換を含む、通信方法を提供することを目的とする。
本発明は、電子ユニットに給電するために複数の駆動ユニットを操作する方法を提供する。この方法は、マスタ制御ユニットと、複数の駆動ユニットのうちの少なくとも1つとの間で、ビットシーケンスを含むフレームを交換することを含み、シーケンスは、連続したビットストリングのフィールドに分割され、
-少なくとも1つの駆動ユニットをアドレス指定するためのIDフィールドを、マスタ制御ユニットと少なくとも1つのアドレス指定された駆動ユニットとの間でデータを交換するために、適用することと、
-上記アドレス指定された少なくとも1つの駆動ユニットの電子ユニットのステータスに関する情報及び/又は命令を含むペイロードを含むDATAフィールドを適用することと、を更に含む。
-少なくとも1つの駆動ユニットをアドレス指定するためのIDフィールドを、マスタ制御ユニットと少なくとも1つのアドレス指定された駆動ユニットとの間でデータを交換するために、適用することと、
-上記アドレス指定された少なくとも1つの駆動ユニットの電子ユニットのステータスに関する情報及び/又は命令を含むペイロードを含むDATAフィールドを適用することと、を更に含む。
IDフィールドを適用することは、アドレス指定された駆動ユニットにDATAフィールドを適用するために、また、駆動ユニットがアドレス指定されていない場合は、DATAフィールドを無視するために、Nビットを含むビットの第1のサブストリングを使用して駆動ユニットアドレスを示すことを更に含み、ここで、2^Nは複数の駆動ユニットにおける駆動ユニットの数以上である。
IDフィールドを適用することは、値を割り当てるための受信/送信コマンドビットを、受信/送信コマンドビットに割り当てられた値に応じて、マスタ制御ユニットが、駆動ユニットからデータを受信するべきか、又は駆動ユニットにデータを送信するべきかを識別することを可能にするために、また、フレームがアドレス指定された駆動ユニットによって受信されたときに、各アドレス指定された駆動ユニットがマスタ制御ユニットによってどのアクションが必要とされているかを復号することを可能にするために、使用することを更に含む。すなわち、受信/送信コマンドビットの第1の値について、マスタ制御ユニットは、駆動ユニットがデータを受信するべきであることを指定することができる。第2の値について、マスタ制御ユニットは、駆動ユニットがマスタ制御ユニットの要求に対する応答としてデータを送信するべきであることを指定することができる。
IDフィールドを適用することは、IDフィールド内の第2のサブストリング(ID4~ID2)を使用して、ペイロードの長さを示すことを更に含む。
本発明は、DATAフィールド内の情報のタイプを示す、値を割り当てるための命令ビットIを使用することを提供する。
DATAフィールドを適用することは、命令ビットが第1の値を有する場合、ペイロードのビットのシーケンスからなるビットのシーケンスを適用することを含む。命令ビットが、第1の値とは異なる第2の値を有する場合、DATAフィールドを適用することは、ペイロードのビットのシーケンス及び少なくとも1つの追加のビットサブストリングを含むビットのシーケンスをDATAフィールド内の予め定義された位置に適用することを含み、追加のビットサブストリングは、駆動ユニットアクションの情報を導入する。
本発明の実施形態の利点は、駆動ユニットをアドレス指定するために限られた数のビットを使用することができる一方でそれと同時に、駆動ユニット命令(メッセージがスレーブへのものであるかスレーブからのものであるかに応じて、駆動ユニットによって実行される命令若しくはアクション、又は駆動ユニットによって実行される命令)、割り当てなどを含めるために、DATAフィールド内のIDフィールドを追加のビット、例えば、ワードで拡張することを可能にすることである。追加の利点は、ペイロードの長さを示すことができ、柔軟なプロトコルを有効にすることである。
本発明のいくつかの実施形態では、IDフィールドを適用することは、値を割り当てるための機能ビットを適用することを更に含み、また、機能ビットの第1の値について、DATAフィールドのビットを異なる電子ユニットに割り当て、機能ビットの第2の値について、DATAフィールド内のデータビットを駆動ユニット命令として処理することを更に含む。
本発明の実施形態の利点は、更新される必要がある電子ユニットのみを更新するために、駆動ユニットに接続された電子ユニットへの命令又は割り当てデータビットを含めるためにフレームを使用することができることである。本発明の実施形態の利点は、マスタが、更新を必要とする接続された電子ユニットのみにデータビットを送るため、バス負荷を低減し得ることである。
本発明のいくつかの実施形態では、IDフィールドを適用することは、16ビットのストリングを使用することを含む。本発明の実施形態の利点は、16ビットで配置された典型的なレジスタを使用することができ、標準的なマイクロコントローラ及びよく知られているCPUアーキテクチャを使用することも可能であることである。
本発明のいくつかの実施形態では、ビットの第1のサブストリングを使用して駆動ユニットアドレスを示すことは、8ビットからなる第1のビットサブストリングを使用することを含む。本発明の実施形態の利点は、最大264個のアドレスが利用可能であることである。したがって、多数の駆動ユニット(例えば、260)を個別にアドレス指定することができる。
本発明のいくつかの実施形態では、IDフィールドを適用することは、3ビットからなる第2のサブストリング(ID4~ID2)を使用することを含み得る。これにより、IDフィールド内の多くのビットを取ることなく、多くの異なる用途のデータ長の異なる値を符号化するのに十分な桁数が可能になる。
本発明のいくつかの実施形態では、電子ユニットに給電することは、2つ以上のLEDを含むLEDクラスタに給電することを含む。いくつかのLEDを1つの駆動ユニットで制御することができることは利点である。
本発明のいくつかの実施形態では、フレームを交換することは、少なくとも1つの追加のビットサブストリングがDATAフィールドに追加されるように、第2の値を命令ビットIに割り当てることを含み、また、少なくとも1つの駆動ユニットからマスタ制御ユニットにDATAフィールドを送信することを更に含み、追加のビットストリングは、駆動ユニットによって実行される命令の情報を含む。
本発明の実施形態の利点は、DATAフィールドを使用して、例えば、マスタ制御ユニットからの先の要求に対する応答として、スレーブによって実行される命令についてマスタに通知できることである。
本発明のいくつかの実施形態では、DATAフィールドを適用することは、DATAフィールドに追加され、少なくとも1つの電子ユニットの位置を含む予め定義された第1のバイトと、次のフレームでアドレス指定された駆動ユニットによって送信される、送信バッファに駆動ユニットからマスタ制御ユニットへどのデータをロードする必要があるのかを選択するために使用される識別子を含んでいる、第1のバイトとは異なる予め定義された第2のバイトとに分割された少なくとも1ワードで命令を送信することを更に含む。
本発明の実施形態の利点は、MCUが、全ての接続された電子ユニットではなく、更新を必要とする接続された電子ユニットのみにデータビットを送るため、バス負荷を低減し得ることである。更なる利点は、同じ第2のビットサブストリングにおいて、MCUが、追加の命令を駆動ユニットに送ることができることである。
いくつかの実施形態では、MCUは、先にアドレス指定されたスレーブに、駆動ユニットの送信バッファ内のデータをMCUに送る要求を送ってもよい。
いくつかの実施形態では、MCUから要求を送ることは、追加のビットストリングを適用するための命令ビットIの第2の値を設定して、送信バッファ内のデータを駆動ユニットからMCUに送り、追加のビットストリングで、駆動ユニットによって先に受信された識別子を送ることを更に含む。本発明の実施形態の利点は、駆動ユニットが、MCUによってなされた先の要求の確認を送ることができることである。
本発明のいくつかの実施形態では、命令ビットを使用することは、少なくとも1つの追加のビットサブストリングがDATAフィールドに追加されるように、第2の値を命令ビットに割り当てることを含み、少なくとも1つの追加のビットサブストリングは、バーストポインタアドレスを含む。
特定の実施形態では、方法は、受信/送信コマンドビットの第1の値について、バーストポインタアドレスを使用してレジスタの情報を読み取ること、又は受信/送信コマンドビットの第2の値について、バーストポインタアドレスを使用してレジスタに情報を書き込むことを更に含む。
更なる態様では、本発明は、複数の電子ユニット及びマスタ制御ユニットに接続可能な駆動ユニットであって、本発明の方法のステップを実行するように構成されている、駆動ユニットを提供する。
本発明は、前述の態様による複数の駆動ユニットを備えるシステムであって、複数の駆動ユニットに接続されたマスタ制御ユニットを更に備え、マスタ制御ユニットは、本発明の方法のステップを実行するように構成されている、システムを提供する。
本発明の特定の及び好ましい態様は、添付の独立請求項及び従属請求項に記載される。従属請求項からの特徴は、適宜、また、単に特許請求の範囲に明示的に記載されているものだけでなく、独立請求項の特徴及び他の従属請求項の特徴と組み合わせてもよい。
本発明のこれら及び他の態様は、以下に説明される実施形態から明らかとなり、また当該実施形態を参照して解明される。
図面は概略図であるにすぎず、非限定的である。図面では、いくつかの要素のサイズは誇張されており、例示目的のために縮尺どおりに描画されていない場合がある。
特許請求の範囲内の任意の参照符号は、範囲を限定するものと解釈されるべきではない。
異なる図面において、同じ参照符号は、同じ又は類似の要素を指す。
異なる図面において、同じ参照符号は、同じ又は類似の要素を指す。
本発明は、特定の実施形態に関して、及び特定の図面を参照して説明されるが、本発明は、それに限定されるものではなく、特許請求の範囲によってのみ限定される。寸法及び相対寸法は、本発明の実施に対する実際の縮小に対応しているものではない。
更に、説明及び特許請求の範囲における用語「第1の」、「第2の」などは、類似の要素を区別するために使用され、必ずしも、時間的に、空間的に、順位付けで、又は任意の他の方法で、順序を説明するために使用されるわけではない。そのように使用される用語が適切な状況下で交換可能であり、本明細書に説明される本発明の実施形態が、本明細書に説明される又は示される以外の順序で動作することが可能であることを理解されたい。
更に、説明及び特許請求の範囲における用語「上」、「下」などは、説明目的で使用され、必ずしも相対的位置を説明するために使用されるわけではない。そのように使用される用語が適切な状況下で交換可能であり、本明細書に説明される本発明の実施形態が、本明細書に説明される又は示される以外の向きで動作することが可能であることを理解されたい。
特許請求の範囲において使用される用語「備える(comprising)」は、その後に列挙される手段に制限されるものと解釈されるべきではなく、他の要素又はステップを除外するものではないことに留意されたい。したがって、これは、言及されたような記載された特徴、整数、ステップ、又はコンポーネントの存在を指定するものとして解釈されるべきであるが、1つ以上の他の特徴、整数、ステップ、若しくはコンポーネント、又はそれらのグループの存在又は追加を排除するものではない。したがって、用語「備える」は、記載された特徴のみが存在する状況、並びにこれらの特徴及び1つ以上の他の特徴が存在する状況を包含している。したがって、表現「手段A及びBを備えるデバイス」の範囲は、コンポーネントA及びBのみからなるデバイスに限定されるものと解釈されるべきではない。これは、本発明に関して、デバイスの関連するコンポーネントがA及びBのみであることを意味する。
本明細書全体での「一実施形態」又は「実施形態」への言及は、実施形態に関連して説明された特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体での様々な場所での語句「一実施形態では」又は「実施形態では」の出現は、必ずしも全てが同じ実施形態を指しているわけではないが、同じ実施形態を指している場合もある。更に、特定の特徴、構造、又は特性は、1つ以上の実施形態では、本開示から当業者に明らかであろうように、任意の好適な様式で組み合わされてもよい。
同様に、本発明の例示的な実施形態の説明において、本発明の様々な特徴は、開示を合理化し、様々な発明的態様のうちの1つ以上の理解を補助する目的で、単一の実施形態、図、又はその説明において一緒にグループ化されることがあることを理解するべきである。しかしながら、本開示のこの方法は、特許請求される発明が各請求項に明示的に記載されるよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明的態様は、単一の前述の開示された実施形態の全ての特徴にあるわけではない。したがって、詳細な説明に続く特許請求の範囲は、詳細な説明に明示的に組み込まれ、各請求項は、本発明の別個の実施形態として独自に存在する。
更に、本明細書に説明されるいくつかの実施形態は、他の実施形態に含まれるいくつかの特徴を含み、他の特徴を含まないが、異なる実施形態の特徴の組み合わせは、本発明の範囲内であることを意味し、当業者によって理解されるように、異なる実施形態を形成する。例えば、以下の特許請求の範囲では、特許請求される実施形態のいずれかを任意の組み合わせで使用することができる。
本明細書に提供される説明において、多数の具体的な詳細が記載される。しかしながら、本発明の実施形態は、これらの具体的な詳細なしに実施され得ることが理解される。他の例では、よく知られている方法、構造、及び技法は、この説明の理解を曖昧にしないために詳細に示されていない。
本発明は、特許EP3478031B1に開示された通信方法及びデバイスの強化に関する。したがって、本発明は、マスタとスレーブとの間の通信の最適化に関する。スレーブには、マスタ、すなわち、マスタ制御ユニット(MCU)による指示に従ってスレーブによって制御され得る電子ユニットが含まれる。
説明では、用語「スレーブ」、「ドライバ」、及び「駆動ユニット」は、以下の考察で交換可能に使用される。本発明の実施形態では、「駆動ユニット」について言及する場合、複数の電子ユニットの制御を提供するためのコントローラなどを含むユニットについて言及する。駆動ユニットは、バスを介してMCUに接続される。駆動ユニットは、MCUが受信した指示に従って、接続された電子ユニットを制御することができる。いくつかの実施形態では、駆動ユニットは、1つ以上のLEDなどの1つ以上の電子ユニットを備え得る。これらのLEDは、クラスタ(LEDクラスタ)を形成し得る。本発明は、LEDに限定されず、他のタイプの照明デバイス、更には他のタイプの電子ユニットにも適用することができる。
本発明の実施形態では、LEDについて言及する場合、単一の発光ダイオードについて言及する。ダイオードは1つの単一色を放出し、その明るさは通常、変調を調整することによって調整される唯一のパラメータである。パルス幅変調(PWM)では、LEDは16ビット、したがって2バイトで符号化された情報を必要とする。一方、LEDクラスタ(特にRGBユニット)について言及する場合、好ましくは1つのパッケージ内にあり得るLEDのグループ(特に、赤色LED、緑色LED、及び青色LEDのクラスタ)について言及する。パッケージには、例えば、供給端子、及びクラスタの各LED(赤色LED、緑色LED、及び青色LED)の端子である4つの端子が含まれ得る。クラスタからのこの光は、明るさ及び色を調整することができる。単一のLEDには2バイト(1ワードに相当)が必要なため、RGBユニットを6バイトで更新して制御することができる。しかしながら、電子ユニットは、異なるパラメータによってグループ化される異なるクラスタを形成し得る。
本発明の実施形態では、「ワード」について言及する場合、プロセッサによって単一のユニットとして処理可能である所定数のビットについて言及する。本発明の実施形態では、ワードは、2つの連続したバイトからなる。したがって、ワードには、単一のLEDのPWM制御に必要な16ビットが含まれている。上記を参照されたい。これは、本発明の実施形態では、単一のLEDの制御を1ワードで行うことができ、したがって、RGBユニットを3ワードで制御することができることを意味する。ワードのビットは0から15まで番号付けされ、ビット0は最下位ビット(LSB)である。ワードのLSBを含むバイトは下位バイトとして定義され、ビット15を含むバイトは上位バイトである。以下の例は、2バイトワードに言及するが、本発明はそれに限定されず、本発明は、異なるサイズのワードを受け入れ得る異なるプロセッサアーキテクチャに適用可能であり得る。
本発明は、マスタ(MCU)と複数のスレーブ(駆動ユニット)うちの少なくとも1つのスレーブとの間の通信プロトコルを提供する。通信は、バスへの低負荷を可能にする一方で、同時に、多数のドライバがアドレス指定されることを可能にするビットのシーケンスに基づいている。ビットのシーケンスは、少なくともIDフィールドと、データペイロードが含まれるDATAフィールドとに分割される。IDフィールドが含まれるヘッダは、MCUによって送られる。DATAフィールドを形成する以下のビットは、マスタ-ツー-スレーブメッセージでMCUによって、スレーブ-ツー-マスタメッセージでアドレス指定された1つ以上の駆動ユニットによって送られる。以下で説明するように、メッセージがマスタ-ツー-スレーブであるかスレーブ-ツー-マスタであるかの情報は、IDフィールド、具体的には、受信/送信コマンドビットに含めることができる。他のフィールドは通常、BREAKフィールド及びCRCなどの有効なフレームに含まれる。本発明は、特に、駆動ユニットに命令を追加するためのビットのシーケンス(例えば、コマンド空間)を追加することを可能にする命令ビットIを提供する。IDフィールドで利用可能なビットは、駆動ユニットのアドレスにより長いストリングが利用可能となることから減少するため、駆動ユニットによって実行されるアクションを含めるために追加のフィールドを追加することができる。例えば、追加の空間は、マスタ-ツー-スレーブ(M2S)通信に使用されて、駆動ユニットで実行される命令を送ることができるか、又は通信がスレーブからマスタ(S2M)へのときに、駆動ユニットによって使用されて、駆動ユニットによって実行されるアクションをマスタに通知することができる。更に又はあるいは、以下で更に説明されるように、追加のビットストリングを使用して、データビットを電子ユニットに割り当てることができる。
命令ビットIは、IDフィールド内のビットの一部である。追加のビットシーケンスをDATAフィールドに追加することができる。ビットシーケンスは、少なくとも1ワード、例えば、1ワード又は2ワードを含み得、本発明はそれに限定されない。
16ビットのIDフィールドの拡張により、より少ないデータを送ることでデータ負荷を軽減することができる。システム上での実装は、より安全なシステムを可能にする。命令ビットIはビットストリング(例えば、少なくとも1ワード)の追加を可能にするので、DATAフィールドの長さはこの追加されたビットストリングによって増加される。
本発明のいくつかの実施形態では、少なくとも1ワードは、DATAフィールドの先頭に位置する。
いくつかの実施形態では、追加されたビットストリング(少なくとも1ワード)は、1つ以上の駆動ユニット(すなわち、スレーブ)によって実行される命令である。
追加されたビットストリングは、MCUがS2Mフレームを要求する場合、スレーブによっても送られ得る。いくつかの実施形態では、追加のビットストリングは、スレーブによって実行された命令に関する、スレーブからMCUへの情報を含み得る。
追加されたビットストリングは、電子ユニットを割り当てることを可能にするLEDフレーム、及びデータを含む通信フレーム内の命令に使用することができ、追加されたビットストリングは、電子ユニットを割り当てるための情報及び命令に関する追加情報の両方を更に含み得る。
DATAフィールドの長さは、IDフィールドのサブストリング(ID4~ID2)内のペイロードの長さを定義するPL長さフィールドについて、また、命令ビットに依存する追加のビットストリングの存在によっても定義される。機能ビットFは、存在する場合、ペイロードのデータがどのように測定されるかを決定し得る。本発明は、命令を送り及び要求し、ビットを特定の電子ユニットに割り当てるための高い柔軟性を提供し、これは、通信バスにおける負荷の軽減をもたらす。
命令ビットIを含むIDフィールドがMCUによって送られるため、命令ビットは、バスを制御するMCUによってのみ設定又は再設定することができる。
以下、本発明は、システム及びその要素、並びに通信の方法としての具体的な用途を参照して説明する。
第1の態様では、本発明は、マスタ制御ユニット(MCU)、少なくとも1つの電子ユニットを駆動するための駆動ユニットであり得る1つ以上のスレーブを含み、MCUと複数の駆動ユニットの各々との間のデータシーケンスの交換を確立するための通信バスを備えるシステムに関する。各駆動ユニットは、同じ通信バスに接続され得る。
いくつかの実施形態では、システムは、例えば、車両又は自動車のための照明システムであるが、本発明の実施形態は、これに限定されない。システムは、有利には、電子ユニットの正確な駆動によって安全性を高める。
図1は、本発明の第1の態様の実施形態による照明システムを示している。MCU10及び駆動ユニット11(すなわち、スレーブ)は、データを交換するために双方向バスに接続されている。このマスタ-スレーブシステムでは、データはマスタから1つ以上のスレーブに、スレーブからマスタにのみ提供することができる。1つのスレーブから別のスレーブに提供することはできない。
駆動ユニットは、LED駆動ユニットであり得る。駆動ユニットの供給部では、サージから、又は逆極性などから保護するために、1つ以上の保護ユニット12が接続されていてもよい。いくつかの実施形態では、1つ以上の保護ユニットは、電圧保護要素13、逆極性保護要素14、それらの組み合わせなどを備えていてもよい。これらの保護ユニットは、供給ライン上の高電圧又はESD妨害を抑制し、供給ラインVS及びGNDの逆極性が適用された場合に、システムの損傷を回避し得る。1つ以上の保護ユニットは、供給部と少なくとも1つのLED駆動ユニット、又は複数からのユニットのうちのいくつかとの間に接続され得る。例えば、図1に示されるように、供給部と全てのLED駆動ユニットとの間で接続され得る。
光情報(例えば、光強度、光色又はそれに関連するPWM比)は、バスを介してMCU10からLED駆動ユニット11に搬送され得る。本発明は、光情報に限定されず、診断情報も、これもバスを介して駆動ユニットとMCUとの間で交換されてもよい。診断情報には、全てのLEDに、例えば、所与の電流が流れているかどうかの情報が含まれ得る。
このシステムは、駆動ユニットに異なるアドレスを割り当てるための柔軟で構成可能な自動アドレス指定システムを有するように適合される。いくつかの実施形態では、システムは、典型的には、例えばアドレス指定のレベルにおいて、MCUに電力供給する若しくはMCUへの及びMCUからの情報送信のレベルにおいて、又はデータ交換の開始若しくは終了のレベルにおいてでさえ、データ交換の1つ以上の段階においてチェックポイントを提供するためのいくつかのレジスタを備え得る。典型的には、チェックポイントは、データ送信の特定の段階において、特定のビットストリングの長さを予想されるストリングの長さと比較することに基づいている。例えば、通信バスが突然電圧を低下させるが、これが12ビット未満の長さで発生した場合、システムはこのイベントをノイズとして無視することができる。これが12ビットの長さで発生した場合、駆動ユニットはデータシーケンスの読み取りを開始し得る。これは、送信の終了を含む、データ送信のいくつかの段階に適用することができる。これにより、電磁干渉、サージ、静電放電、及び自動車環境で発生する他の望ましくない現象に対する非常に堅牢なシールドが提供され、電子ユニット(例えば、LED)の非常に安定した堅牢な駆動がもたらされる。
駆動ユニットは、クラスタ(例えば、いくつかのLED(異なるLED)を含むLEDクラスタ、例えば、RGBユニット)として組織され得る1つ以上の電子ユニットを制御するためのコントローラを備えていてもよい。駆動ユニットは、バスを介して受信した通信を処理するための手段を備える。いくつかの実施形態では、通信バスを通して交換されたデータは、例えば、駆動ユニットのCPU内のソフトウェアを介して処理される。いくつかの実施形態では、コントローラは、通信バスを通して交換されたデータを処理するための少なくとも1つのバスプロトコル処理ユニット(BPPU)と、MCUによって送られた任意のデータシーケンスに従ったクラスタの電子ユニットの給電を制御するための少なくとも1つの制御ユニットとを備える。一実施形態では、BPPUは、駆動ユニットのCPUによって実行されるソフトウェア機能として扱うこともできる。駆動ユニット(例えば、そのソフトウェア又は例えば、少なくとも1つのBPPU)は、特に、マスタ制御ユニットと少なくとも1つのアドレス指定された駆動ユニットとの間でデータを交換するために、少なくとも1つの駆動ユニットをアドレス指定するためのIDフィールドと、電子ユニットのステータスに関する情報及び/又は命令を含むDATAフィールドとを処理するために適合される。
図2は、本発明の照明システムに適したLED駆動ユニット11を示している。駆動ユニット11は、LEDを含むクラスタ38を備え得る。このようなユニットは、文書EP3478031B1において、図2A及び2B、特に段落[0074]~[0093]を参照して以前に考察されている。同じユニットを本発明の実施形態で使用することができるが、本発明の実施形態のMCU及び駆動ユニットは、本発明の方法を実行するように構成されている。これらは、本発明の実施形態に従って、命令ビットIを有するIDフィールドを含む通信フレームを処理若しくは送信(又はその両方)し、命令ビットIの所定の値に対する応答として、通信フィールドのデータフィールドにビットストリングを追加する可能性に適合されていてもよい。図2の特定の実施形態では、LED駆動ユニット11は、受信/送信されるデータの処理を実行し、機能的安全対策を適用し、及び/又は必要に応じてエラーハンドリングをトリガするバスプロトコル処理ユニット(BPPU)33を備える。BPPU33はまた、割り込み及び制御信号を生成し、それらをCPU及び汎用非同期送受信機32(UART)に送ってもよい。この実施態様全体は、CPUのリソースの必要性を減らす。BPPU33は、例えば、デジタル状態マシン、又はダイナミック光用途のためのバスプロトコルを処理するための任意の他のタイプのユニットを備えていてもよい。BPPU33は、バス上でビットのシーケンスを処理及び/又は適用することを含む、本発明のステップに従って通信を実行するように構成され得る。
本発明の実施形態では、単一のワイヤバスではなく、差動バス(例えば、2本のワイヤを備える)を使用することができる。このような差動2ワイヤバスは、信号の差動特性が妨害に対してより堅牢であるため、例えば、わずか20kbit/sのローカル相互接続ネットワーク(LIN)バスとして単一のワイヤバスと比較してより高いデータレートを可能にする。例えば、0.5~4Mbit/sのこれらのより高いデータレートは、例えば、ダイナミック光用途において必要とされる。本発明の特定の通信プロトコルのおかげで、最大256個のアドレスを使用することができる。これにより、機能性を低下させることなく、200を超えるスレーブ、例えば、250、例えば、252を超えるスレーブをアドレス指定することができる。バスは双方向であり得、これにより、光情報及び診断情報を交換することができる。
前述のように、システムは、データ交換の1つ以上の段階におけるチェックポイントを提供するためのいくつかのレジスタを含む、駆動ユニットに異なるアドレスを割り当てるための柔軟な構成可能な自動アドレス指定システムを有するように構成され得る。チェックポイントは、特定のビットストリングの長さを、データ送信の特定の段階におけるストリングの予想される長さと比較することに基づいており、これは、以上で説明したように、EM干渉、サージ、及び他の望ましくない現象に対する堅牢なシールドを提供する。
ノードアドレスは、スレーブに一意のネットワークアドレスを提供する自動構成又は自動アドレス指定によって設定することができる。これは通常、全ての駆動ユニットがバスに接続され、システムに初めて電源が入れられたときに行われる。自動構成はいつでも繰り返すことができる。更に、システムは、定義された出力のために、ネットワークを介して各ノード、例えば、駆動ユニット及び接続された電子ユニットを較正するための較正手段を含み得る。例えば、色及び/又は強度などの光出力を較正することができ、較正データは、スレーブのデータメモリ(例えば、NVデータメモリ)に記憶される。これは、マスタからのコマンドに応じて、スレーブが要求された光出力を提供するときに使用することができる。較正は通常、所与のサプライヤで定義されたテストセットアップでモジュールレベルで行われる。
本発明は、システムレベルでの機能的安全を提供し、バスプロトコルで、及び/又はノードのハードウェアレベル(例えば、機能的安全レベルB)で、安全機能及び診断要素を提供する。本発明は、供給ライン上の電圧降下に対して堅牢であり得る。本発明は、自動車環境における、例えば、静電放電(ESD)などに対する保護手段及び安全対策を有利に提示し、電磁両立性を改善することができる。
特に、本発明は、例えば、周囲光だけでなくドライバのための信号情報のために、自動車環境におけるダイナミック光システムで使用することができる。したがって、システムは、機能的安全要件を含み得る。本発明の実施形態は、バス実装ハードウェア及びプロトコルにおける安全対策を含み得る。
本発明は、光制御のための専用のコマンド言語、専用のハードウェアメモリ、及びレジスタアプローチを有するシステムを提供することができる。更に、オープン構成手段をプロトコル及びハードウェアに適用することができる。
システムでは、スレーブは、ネットワークシステム内のスレーブノードでマスタに接続され、システムは、本発明の第2の態様に従って、マスタとスレーブとの間の通信、例えば、M2S通信及びS2M通信を実装するように構成されている。マスタ及びスレーブは、本発明の第2の態様に従って通信方法を適用するように構成され得る。
本発明の第2の態様は、駆動ユニットを操作する方法であって、上記駆動ユニットに接続された電子ユニットを制御するための方法を提供する。この方法は、マスタ制御ユニット(MCU)と、スレーブノードにおける複数の駆動ユニットのうちの少なくとも1つとの間で、ビットシーケンスを交換することを含み、シーケンスは、連続したビットストリングのフィールドに分割される。特に、この方法は、マスタ制御ユニットと少なくとも1つのアドレス指定された駆動ユニットとの間でデータを交換するために、少なくとも1つの駆動ユニットにアドレス指定するためのIDフィールドを適用することを含む。この方法は、その後、電子ユニットのステータスに関する情報及び/又は命令を含むDATAフィールドを適用することを含む。IDフィールドの受信/送信コマンドビット(R/T)(Rビットとも称される)、機能ビットF、及び命令ビットIは、常にMCUによって設定される。特に、この方法は、バスを通してMCUによってIDフィールドを送ることを含む。スレーブは、Rビットの値に応じてデータを受信するか、又はデータを送信する。いくつかの実施形態では、スレーブは、Rがゼロであるときにデータを受信するので、通信はM2Sである。M2S通信では、MCUはIDフィールド及びDATAフィールドを送る。次いで、スレーブは、Rが1であるときにデータを送信するので、通信フレームはS2Mである。S2M通信では、MCUはIDフィールドを送り、アドレス指定された1つ以上の駆動ユニットは、IDフィールドのパラメータに続いてDATAフィールドを送る。
これによって、IDフィールドを適用することは、アドレス指定された駆動ユニットにDATAフィールドを適用するために、また、駆動ユニットがアドレス指定されていない場合は、DATAフィールドを無視するために、Nビットを含む第1のビットサブストリングを使用して駆動ユニットアドレスを示すことを含み、ここで、2^Nは複数のうちの駆動ユニットの数以上である。IDフィールドは固定ビット数を含むため、アドレス指定に利用可能なビット数を増やすと、IDフィールドの他の機能のための空間が縮小される。
この方法は、IDフィールド内のビットを「命令ビット」Iとして使用することを含み、これは、通常、IDフィールド内に適用される機能のためのビットの追加のシーケンス(すなわち、ビットストリング)を可能にする。しかしながら、追加のビットストリングは、DATAフィールド内に導入される。
命令ビットIを使用する方法の実施形態の利点は、図3及び4のフレーム間の以下の比較において明らかであり、両方ともスレーブアドレスに対して同じ長さを使用するが、図4のフレームのみが命令ビットIを使用する。
図3は、DATAフィールドが後に続くIDフィールドを含む、バスプロトコルに従うフレームを示す。このフレームは、BREAKフィールド301の後、IDフィールドから開始する。IDフィールドは、15から0までの番号付けされた16ビット(ID15~ID0)を含むか、又は16ビットからなる。IDフィールドは、駆動ユニットアドレスのための第1のサブストリング302を含む。
第1のサブストリングは、8ビットのストリング(8ビットアドレス)を含み、2^8=256個以下の駆動ユニットをアドレス指定することを可能にする。例えば、システムは、最大で、例えば、252個の駆動ユニットをアドレス指定するように構成されており、ここで、例えば、MCUから全ての駆動ユニットまで、配信目的のために、例えば、4つのアドレスがシステムによって取っておかれる。
MCUによってIDフィールドを適用することは、R/Tコマンドビット(すなわち、Rビット)を使用して、MCUがデータを受信若しくは送信するべきかどうかを定義することを可能にすること、又はビットシーケンスが駆動ユニットに送信されたときに、アドレス指定された各駆動ユニットが、MCUによって要求されたアクションを復号することを可能にすることを更に含む。
フィールドを適用することは、サブアドレス/命令のために第2のサブストリング303を適用することを更に含む。また、以下で更に説明される、文書EP3478031B1に開示される機能ビットFも示す。
フィールドを適用することは、先行技術で知られているように、IDフィールドに2ビットパリティ情報p0/p1を適用することを更に含む。パリティがIDフィールドの残りのビットと一致する場合、情報はバスを介して正しく送信されている。パリティが一致しない場合は、提供された情報は破棄されるべきである。
特に、機能ビットFは、DATAフィールドに含まれる情報のタイプを指定するために使用され得る。この情報は、IDフィールドの第2のサブストリング303(ID5~ID2)内の、DATAフィールドに関連する長さ値を取得するために使用される。機能ビットの特定の値について、続くDATAフィールド内のデータビットは、第2のサブストリング内のいくつかのビットを使用して、アドレス指定された駆動ユニットに接続された異なる電子ユニット(例えば、LED)に割り当てられる。長さ復号ステップも実行可能であり、次のフィールド(DATAフィールド)内のデータビットの長さは、ユニットを割り当てるものとは異なる、第2のサブストリングのいくつかのビットを使用して示すことができる。機能ビットが他の値を有する場合、DATAフィールド内のビットストリングの長さを示すために、長さ復号ステップのみが実行される。したがって、長さ復号ステップは常に実行され得、機能ビットFの所定の値について、DATAフィールドからのデータビットは、電子ユニットに割り当てられて、例えば、これらの電子ユニット、例えば、LEDの出力を更新する。機能ビットFの値は、長さを復号するために使用されるフォーマットを決定する。すなわち、機能ビットFは、DATAフィールド内のデータが命令として使用されるか、又は電子ユニットに割り当てられるビットとして使用されるかに応じて、カウントがどのように行われるかを決定する。
しかしながら、これらのオプションの利用可能な空間は、第2のビットサブストリングのビット数によって制限され、これは、第1のサブストリングに含まれるビット数によって制限される。場合によっては、駆動ユニットに接続された各電子ユニットをアドレス指定することが可能ではない場合がある。これは、単純に、全ての電子ユニットをアドレス指定するのに十分な空間がないか、又はより多くの命令のために十分な空間がないからである。
例えば、場合によっては、受信モードにおいて受信されたデータは、SubAdr/InstrExt ID5、ID4、ID3、ID2におけるビット数に6バイト又は3ワードを乗算したものによって定義される長さを有し、3つのLED(1つの赤、1つの緑、及び1つの青)を含むRGBユニット内のLED当たり1ワードに対応する。これは、0バイト(ビットセットなし:ID[5:2]=0000)~24バイト(全てのビットセット:ID[5:2]=1111)の可変データ長の余地を残す。
ID[5:2]がバイナリ符号化される場合、この空間は(2^4)*6バイト=96バイトに増加する。
しかし、このソリューションにはいくつかの欠点があり、主にSubAdr/InstrExt(ID5~ID2)の4ビット制限に関連している。InstrExtフィールドは2ビットのみに制限されている。これは、命令を含めるためにフィールドで利用可能な空間が、ID[5:2](F=0)内のデータ長復号で利用可能な空間と共有されるからである。これにより、4つの命令のみを符号化することが可能になり、これは不十分である。
SubAdrフィールドのサイズは4ビットに制限されているため、例えば、4つのLEDしかない用途など、小規模な用途で更新されるLEDを指定する場合にのみ使用することができる。現在の用途では、通常、スレーブ当たり2つのRGBユニットとして、スレーブ当たり6つのLEDが含まれている。現在の用途では、1つのLEDのみを更新する必要がある場合でも、MCUは全ての接続されたLEDのデータを送る必要があり、バス負荷が大幅に増加する。
これらの欠点を克服するために、本発明は、IDフィールド内のビットのうちの1つを命令ビットIとして使用することを提供する。特に、第2のビットサブストリング内のビットのうちの1つを使用することができる。これは、IDフィールド内の別のビットが、命令又は情報のためにあまり利用可能でなくなることを意味する。しかしながら、DATAフィールドに追加の空間が利用可能になる。追加の空間は、駆動ユニットによるアクションの情報を含む。例えば、ビットサブストリングは、駆動ユニットにアクションを実行するように促す情報、又はマスタの要求として駆動ユニットによって実行されるアクションに関する情報(例えば、確認の手段として、マスタによって要求される命令の繰り返し)を含み得る。
情報の詳細は、メッセージがM2S又はS2M、診断、レジスタの更新などであるかどうかに依存し得る。例えば、マスタによる情報の命令又は要求が含まれ得る。データビットを電子ユニットに割り当てるための情報(例えば、LEDを更新するための情報)が含まれ得る。マスタによって要求された、スレーブによって送られた情報が含まれ得る。概して、追加されたビットストリングを使用して、命令のタイプ、データビットの割り当てなど、ペイロードに関連する情報を導入することができる。データ長復号は常に実行することができ、PL長のフィールドは、常に同じ数のビットを含み得る(例えば、3ビット、前の第2のビットサブストリングのサイズから命令ビットIとして使用したビットを引いたものに対応する)。問題をDATAフィールドの1つの追加のワードにシフトすることにより、理論上は、1つのワードを追加すると、より多くのLED(例えば、16個のLED)にアドレス指定することが可能になる。しかしながら、IDフィールドで利用可能な空間が限られているため、単一の通信フレーム内でアドレス指定可能なLEDの数は少ないが、2つのRGBユニットをアドレス指定するのに十分に多い。
本発明のいくつかの実施形態では、機能ビットFも上記のように使用され、機能ビットFの値については、追加されたワードは、駆動ユニットの命令又は情報を含み、その異なる値については、追加されたワードは、特定の電子ユニットにビットを割り当て、任意選択的に、命令/情報も含む。すなわち、機能ビットFの第1の値については、データフィールド内のビットが電子ユニットに割り当てられ、これはまた、データ長がどのように計算されるかを決定する。機能ビットが第2の値を有する場合、DATAフィールドには、電子ユニットに割り当てるためのビットは含まれないが、M2S通信で駆動ユニットに送られる命令、S2M通信でMCUからの要求の応答として駆動ユニットによって送られる診断などの情報を含んでもよく、これはまた、データ長がどのように計算されるかを決定する。しかしながら、機能ビットFの第1の値は、図6に示すように、通信フレームが、ビット割り当てとともに、命令(例えば、情報要求)を含むことを阻止しない。
図4は、8ビットの第1のビットサブストリング、すなわち、「スレーブアドレス」ID15~ID8を含む16ビットのIDフィールドを有するバスプロトコルの特定の例を示している。前述のように、例えば、4つのアドレスが配信目的のためにシステムによって取っておかれる場合、このようなサブストリングは、2^8=256個以下の駆動ユニット、例えば、252個の駆動ユニットをアドレス指定することを可能にする。図の異なる列は、一般的なフレーム、ビットの割り当て、及びビットの様々な機能を示している。第1の列(M1)は、BREAKフィールド、IDフィールド、及びDATAフィールドからなるプロトコルのフレームを示す。第2の列(M2)は、IDフィールドのビット割り当てを示し、第3の列(M3)は、IDフィールドの異なるビットの機能を示し、新しい命令ビットIを導入している。
導入された命令ビットIは、第1のビットサブストリングの長さ、並びに受信/送信コマンドビットR/T、又はRビット、機能ビットF、及びパリティビットの存在により、第2のビットサブストリング403 ID4~ID2空間を3ビットのみに更に縮小する。図3の第2のビットサブストリング303は、4ビットID5~ID2を含むSubAdr/InstrExtという名前で示され、一方、図4の第2のビットサブストリング403は、3ビット、ID4~ID2を含む。この3ビットのみへの縮小では、第2のビットサブストリング403は、命令を符号化するには短すぎる。ただし、DATAフィールドにペイロードの長さを含めるために依然として使用することができるため、PayLoad Length又はPL長と名前が変更される。
第4の列M4は、命令ビットIが第1の値(例えば、1の値)に設定されたIDフィールド、及びDATAフィールドの構造を示す。更なる所定数のビット、例えば、更なるビットストリングが、DATAフィールドに追加される。いくつかの実施形態では、追加されるビットストリング401は、追加された「instr」フィールド内の、DATAフィールド内の「Instr」フィールドでの所定の位置で追加された少なくとも1つの追加のワードである。本発明のいくつかの実施形態では、更なるビットストリングは、ペイロードの前のDATAフィールドの先頭に追加される。ペイロード長に関する情報は、PL Lengthフィールドにおいて第2のビットサブストリング403によって提供される。この後、少なくとも1つの追加のワード、ペイロード402が続く。この少なくとも1つの追加のワード401は、命令、例えば、MCUからアドレス指定された少なくとも1つの駆動ユニットへの命令、又は電子ユニットへのデータの割り当てであり得る。例えば、追加のワード401は、S2M通信でのアドレス指定された駆動ユニットからマスタ制御ユニットへの、例えば、アドレス指定された駆動ユニットによってどの命令が実行されたかに関する情報であり得る。
第5の列(M5)は、命令ビットIが0に設定されている場合に、通信フレームの構造を示す。追加のワードは導入されていない。DATAフィールドは、ペイロード404から直ちに開始する。例えば、ペイロードは、完全なDATAフィールドを形成し得る。
図4の特定の実施形態は、前述のように、機能ビットFを含む。機能ビットFの値に応じて、異なる電子ユニット(LED)にデータビットを割り当てることは、命令ビットIの値が追加されたビットストリングを有効にする場合、DATAフィールド内の追加されたビットストリング(例えば、1つ以上のワード)で行われる。
命令ビットの値は、DATAフィールド内の追加のビットストリングを有効又は無効にすることができるため、DATAフィールドの長さには、ペイロード、及び場合によっては追加のビットストリングが含まれるため、以下の条件下で定義することができる。
-I=0の場合、DATAフィールドの長さはPL Lengthで定義されたペイロードの長さに等しいため、PL Lengthフィールドにはペイロードの長さを有する数が含まれる
-I=1の場合、DATAフィールドの長さは、少なくとも1つの追加のワードで増加された、PL Lengthで定義されたペイロードの長さと等しい。
-I=0の場合、DATAフィールドの長さはPL Lengthで定義されたペイロードの長さに等しいため、PL Lengthフィールドにはペイロードの長さを有する数が含まれる
-I=1の場合、DATAフィールドの長さは、少なくとも1つの追加のワードで増加された、PL Lengthで定義されたペイロードの長さと等しい。
ペイロードは常に少なくとも1つのデータ単位を含むので、ペイロードの実際の長さは、PL長フィールドに示された長さに1を足したもの、すなわち、PL長+1に等しいことに留意されたい。以下の実施例では、PL長フィールドは常に、ペイロード自体のデータ単位数よりも1つ低い値を示すことが示される。本発明に示される実施形態では、本発明はそれに限定されず、PL Lengthのフィールドは、10進法で、0~7の値を可能にする3ビットからなり、また、常にペイロードが存在するため、ペイロードは空であることができないため、PL長フィールドの値が0であることは、ペイロードがデータ単位を有することを意味する。
機能ビットは、これらの「データ単位」を定義する。すなわち、ペイロードの長さがどのように測定されるかを定義する。ペイロードについては、以下の定義が有効である。
-F=0の場合、ペイロードはデータとして扱われ、「データ単位」は1ワードである。その後、ペイロード内のワード数は(PL Length+1)*1ワードとして計算される。PL長には3ビットが含まれるため、(PL Length+1)*1ワードの値は1…8ワード=2…16バイトのペイロードの範囲である。
-F=1の場合、ペイロードはLEDに割り当てられたビットとして扱われ、特定の電子ユニットに応じて、所定数のビットが各ユニットに必要である。本発明のいくつかの実施形態では、電子ユニットは、RGBユニットであり、先に説明したように、それらを制御するために3ワードが必要であるので、「データ単位」は、3ワードに等しい。その後、ペイロード内のバイト数は(PL Length+1)*3ワードとして計算される。PL長には3ビットが含まれるため、(PL Length+1)*3ワードの値は3…24ワード=6…48バイトのペイロードの範囲である。
-F=0の場合、ペイロードはデータとして扱われ、「データ単位」は1ワードである。その後、ペイロード内のワード数は(PL Length+1)*1ワードとして計算される。PL長には3ビットが含まれるため、(PL Length+1)*1ワードの値は1…8ワード=2…16バイトのペイロードの範囲である。
-F=1の場合、ペイロードはLEDに割り当てられたビットとして扱われ、特定の電子ユニットに応じて、所定数のビットが各ユニットに必要である。本発明のいくつかの実施形態では、電子ユニットは、RGBユニットであり、先に説明したように、それらを制御するために3ワードが必要であるので、「データ単位」は、3ワードに等しい。その後、ペイロード内のバイト数は(PL Length+1)*3ワードとして計算される。PL長には3ビットが含まれるため、(PL Length+1)*3ワードの値は3…24ワード=6…48バイトのペイロードの範囲である。
理論上は、追加のワードの全てのビットを使用して最大16個のRGBユニットをアドレス指定することができるが、PL長の3ビットの制限は、8個の「データ単位」のペイロードに実用的な上限を課し、したがって、上記のように24ワードの、又は48バイトの最大ペイロードを可能にする。1つのLED当たり2バイトでは、割り当てることができるLEDの最大数は24個の単一LED、又は8個のRGBユニットである。
追加の命令ビットIは、以下の実施例で説明されるいくつかの機能性及び利点を提供する。
主な利点の1つは、例えば、M2S通信において、導入されたビットストリング401を「命令フィールド」として使用して、電子ユニットに個別にアドレス指定する可能性である。例えば、追加のビットストリング401は、電子ユニットへの割り当て、例えば、アドレス指定された駆動ユニットに接続されたそれぞれの電子ユニットの1つ以上の「サブアドレス」を含むために使用されてもよい。いくつかの実施形態では、追加のビットストリング401の各ビットは、電子ユニット、例えば、LEDを表すことができ、ビットセットに応じて、ペイロードは、追加のビットストリング401のビットによって設定された電子ユニットに適用される。例えば、図5は、システム内の特定の駆動ユニットとMCUが通信している場合について、3つの異なる列5M1、5M2、5M3における通信フレームの3つの異なるケースを示している。このシステムでは、駆動ユニットは、いくつかの電子ユニット、この特定のケースでは、例えば、いくつかのLEDに接続している。
特に、5M1は、2つのRGBユニットが接続されているスレーブのLED1及びLED2とラベル付けされた2つのRGBユニットを更新するためのメッセージ内容を示す。命令ビットは1に設定されているので、「Instr」フィールドと名付けられた追加のビットストリング501が追加される。「Instr」フィールド501は値0x0003に設定されており、バイナリでは0b0011であるため、LED1及びLED2のデータがペイロードで送られる。値0b0011は、自動的にRGBユニットLED1及びLED2を更新する。
PL Length=1、F=1、及びI=1は、PL長が1であるため、命令フィールドの1ワード+(PL長+1)*3ワード=6ワードのペイロードを含む、DATAフィールドに7ワードがあることを示す。
命令フィールドがない場合(I=0)、電子ユニット、この場合はLEDへの割り当てを示す機能ビットFは、LEDがペイロード内のデータが読み込まれるにつれて順次更新されることを示す。これは、LEDが「サブアドレス」として使用され得るアドレス指定シーケンスを有することを意味する。DATAフィールドには専用の命令がない(I=0)ため、アドレス指定された駆動ユニットのLEDは、提供されたペイロードで更新される。ペイロードは6ワードであるため、RGBユニットLED1及びLED2が更新される。これは、5M1と同じメッセージを示すが、「Instr」フィールドはないため、ペイロードはIDフィールドの直後から開始する列5M2に示されている。本実施例では、駆動ユニットに接続された2つの電子ユニットを更新する必要がある。結果は5M1と同じなので、このケースでは「Instr」フィールドは任意選択である。
PL Length=1、F=1、及びI=0の値は、6ワードのDATAフィールド長に対応する6ワードのペイロードを示す。
しかしながら、先行技術では、第2のRGBユニット(LED2)のみが更新を必要とする場合(すなわち、I=0の場合)、ペイロードは依然として6ワードを必要とし、第1のRGBユニット(LED1)用のワードに含まれる情報は、そのユニットLED1をアドレス指定する前の通信と同じ情報を含む。したがって、ユニットLED1の情報を含める必要があるが、前回の更新と比べて同じ情報が含まれている。これはバストラフィックの面では、したがってEMCの面でも非効率である。
本発明の実施形態は、アドレス指定シーケンス(それらの「サブアドレス」)にかかわらず、(下位のサブアドレスの)アドレス指定シーケンスにおいて下位の(アドレス指定されていない)電子ユニットの情報を含むペイロードを送る必要なく、かつ追加のステップを実行する必要なく、駆動ユニットに接続された個々の電子ユニットにアドレス指定することを可能にする。
例えば、5M3は、第2のRGBユニットLED2のみが命令ビットI=1の使用下で更新されなければならず、したがって命令として追加のワードがDATAフィールド内に追加されている(「Instr」フィールド)メッセージ内容を示す。この場合、命令は値0x0002を含み、バイナリでは0b0010であるため、LED2のみがアドレス指定される。
PL Length=0、F=1、及びI=1の値は、DATAフィールドの長さとして、1ワードの命令+3ワードのペイロード=4ワードを示す。
LED2のみを更新する必要がある場合、先行技術と比較して(又はI=0の5M2と比較して)、ペイロードを3ワード減らすことができ、DATAフィールドを2ワード減らすことができる(1ワードの長さの追加されたビットストリングがあるため)。ペイロード内の情報は、ペイロードの前に追加された「Instr」フィールドの追加されたビットストリング501によって示されるように、LED2のみを更新するために使用される。これにより、バストラフィックが減少し、EMCが向上し、バスの所与の帯域幅に対してより多くのデータスループットも可能になる。
本発明は、アドレス指定された駆動ユニットに接続される2つの電子ユニットに限定されるものではない。例えば、駆動ユニットが、例えば、各々3つのLEDからなる3つのLEDクラスタを有する場合、各LEDにアドレス指定するために、ペイロードは(各LEDを制御するために1ワードが使用されることを考慮して)9つのワードを含む。これら3つのクラスタから、3つ未満のLEDクラスタを更新する必要がある場合、先行技術のシステム(すなわち、I=0の場合)では、各LEDクラスタを更新するために3つのワードが必要であり、最初のアドレス指定されたLEDクラスタよりも下位の「サブアドレス」を有する各LEDクラスタでは余分のワードが必要である。本発明は、ペイロード内のワードを特定のLEDに割り当てることを可能にし、それによってデータ負荷を低減する。
特定の例として、駆動ユニットに接続された3つのRGBユニット(LED1、LED2、LED3)の場合において、第2のユニットLED2及び第3のユニットLED3のみを更新する必要がある場合、以下のようなことが行われ得る。
-先行技術の通信方法の場合、又はI=0の場合、ペイロード(及びDATAフィールド)は9ワードを含む。ペイロードの最初の3ワードはLED1に割り当てられるが、LED1の最後の更新と同じ情報が含まれている。一方で、ペイロードの次の6ワードにはLED2とLED3の更新情報が含まれている。
-本発明の場合、I=1の場合、追加のワードが、例えば、ペイロードの前に、DATAフィールドに追加される。追加のワードは、ペイロード内のビットを必要な電子ユニット、この場合、ユニットLED2及びLED3に割り当てる情報を含む。したがって、ペイロード内に6ワードだけ必要である。これらのワードは、追加のワードの情報に続いて配信’される。例えば、追加されたビットストリングに含まれる特定の割り当てに従って、6ワードのうちの3つ(例えば、最初の3ワード)がLED2を更新するために使用され、6ワードのうちの他の3つ(例えば、最後の3ワード)がLED3を更新するために使用される。割り当ては、各LEDにビット位置を割り当てることによって行うことができるが、他の割り当てを駆動ユニット(例えば、BPPU)及びMCU内で成文化することができる。各ビット位置がLEDを割り当てている特定の実施形態では、追加されたビットストリングは、例えば、0×0006(バイナリでは、0b0110)である。余分のワード(「Inst」フィールド)が必要であるが、LED1をアドレス指定するために3ワードを含める必要はないため、DATAフィールドのデータ負荷全体は減少する。DATAフィールドは、I=0である前のケースにおいて必要とされた9ワード(LED2及びLED3のみを更新する必要がある場合でも、3つのLEDクラスタの各々に対して3ワード)とは対照的に、7ワード(追加された「Instr」フィールドに1ワードにLED2及びLED3を更新するために6ワードを足す)が含まれている。
-先行技術の通信方法の場合、又はI=0の場合、ペイロード(及びDATAフィールド)は9ワードを含む。ペイロードの最初の3ワードはLED1に割り当てられるが、LED1の最後の更新と同じ情報が含まれている。一方で、ペイロードの次の6ワードにはLED2とLED3の更新情報が含まれている。
-本発明の場合、I=1の場合、追加のワードが、例えば、ペイロードの前に、DATAフィールドに追加される。追加のワードは、ペイロード内のビットを必要な電子ユニット、この場合、ユニットLED2及びLED3に割り当てる情報を含む。したがって、ペイロード内に6ワードだけ必要である。これらのワードは、追加のワードの情報に続いて配信’される。例えば、追加されたビットストリングに含まれる特定の割り当てに従って、6ワードのうちの3つ(例えば、最初の3ワード)がLED2を更新するために使用され、6ワードのうちの他の3つ(例えば、最後の3ワード)がLED3を更新するために使用される。割り当ては、各LEDにビット位置を割り当てることによって行うことができるが、他の割り当てを駆動ユニット(例えば、BPPU)及びMCU内で成文化することができる。各ビット位置がLEDを割り当てている特定の実施形態では、追加されたビットストリングは、例えば、0×0006(バイナリでは、0b0110)である。余分のワード(「Inst」フィールド)が必要であるが、LED1をアドレス指定するために3ワードを含める必要はないため、DATAフィールドのデータ負荷全体は減少する。DATAフィールドは、I=0である前のケースにおいて必要とされた9ワード(LED2及びLED3のみを更新する必要がある場合でも、3つのLEDクラスタの各々に対して3ワード)とは対照的に、7ワード(追加された「Instr」フィールドに1ワードにLED2及びLED3を更新するために6ワードを足す)が含まれている。
これは、Fビット及びIビットに依存する可変データ長フィールドを有するプロトコルが、バス上のデータトラフィックに関して非常に効果的であることを示している。本発明は、特に、必要な1つ以上の電子ユニットにデータを直接提供することができるため、高いデータスループットに適している。
本発明は、M2S通信で適用され、スレーブのアドレスを書き込むための余分の空間を追加することを可能にするので、データ長を含めるための空間を犠牲にすることなく、命令に関する情報(又は以下に示されるように、例えば、バーストポインタアドレスに関するアドレス情報)を追加することを可能にしながら、より多くのユニットを同じシステム内でアドレス指定することができる。DATAフィールドからアドレス指定されたスレーブの特定の電子ユニットにデータビットを割り当てるためにも使用することができ、追加されたビットストリングには、情報を受信する必要がある電子ユニットの特定の割り当てが含まれている。これにより、更新を必要としない全ての電子ユニットのデータビットを、実際に更新を必要とするものまで送る場合と比較して、データ負荷を低減する。
本発明は、S2M通信フレームにおいても有利である。
本発明を使用して、MCUによってどのS2Mフレームが要求されたかを指定することができる。要求は、DATAフィールドに追加されたビットストリングで行うことができる。先行技術では、MCUは、次のフレームでどのS2Mが要求されるかを指定するために、DATAフィールドを含む通信フレームを送る必要がある。これは、より高いバストラフィックを要求するため、効率的ではない。
本発明の実施形態は、電子ユニットに割り当てられたビットを含む1つのLEDフレーム内で要求を有効にする。したがって、専用の通信フレームを使用してスレーブから情報を要求する代わりに、電子ユニットを更新するために使用されるのと同じ通信フレームを使用して情報を要求することができる。このソリューションは、バス負荷を有利に低減し、したがって、排出量と潜在的なEMC問題を軽減する。特に、この方法は、(命令ビットIを介して)追加されたビットストリングを有効にすることと、異なるアクション及び情報を示すためにビットストリングの一部を使用することとを含む。例えば、ビットストリングの一部は、電子ユニットを指定してもよく、ビットストリングの異なる一部は、アドレス指定されたスレーブによって送信されるデータのための識別子を含んでもよい。これは次のように例示される。
MCUは、第1のフレームにおいてビットをそれに応じて設定し、アドレス指定された駆動ユニットに情報を要求することができる。例えば、機能ビットF及び命令ビットIの両方が設定されてもよい(値1)。アドレス指定された駆動ユニットは、第2のフレームにおいてそれに応じて応答する。
図6は、異なる通信フレームを有する3つの列を示している。IDフィールドが0のRビットを含む場合、スレーブはM2Sフレームでデータを受信し、一方、Rビットが1の場合、スレーブはS2Mフレームでデータを送信する。第1の列6M1は、第2のRGBユニットLED2のみを更新するメッセージを示している。情報要求も含んでいる。両方とも追加のビットストリングに含まれている。
特に、第1の列6M1は、機能ビットFの値によって示されるようにペイロードとしてのLEDデータを含む。
命令ビットIが設定されているため、追加のビットストリングが、例えば、ペイロードの前にDATAフィールドに追加されて、「Instr」フィールドが形成される。このフィールドにおける情報は、ソフトウェアで復号することができる(本発明はこれに限定されない)。
追加されたビットストリングは、異なるアクション及び情報を示すために、異なるサブストリングに分割され得る。いくつかの実施形態では、ビットストリングは、先に説明したように、下位バイトと上位バイトとに分割されたワードである。第1の列6M1の追加されたワードは、追加されたワードの一部に第2のRGBユニットLED2を更新するためのメッセージと、追加されたワードの異なる一部に情報要求とを含む。これは、機能ビットFの特定の値によって示される。本発明の実施形態では、この実施例において見られるように、機能ビットは、データビットが電子ユニットに割り当てられているかどうかを示す。命令(この実施例では、駆動ユニットからの情報の要求)は、機能ビットに関係なく、追加されたビットストリングにも存在し得る。
特定の実施形態では、下位バイトは電子ユニットの位置を含み、上位バイトは命令を含み、本発明は、この特定の順序、又はビットストリング内のこの特定の数のビットに限定されない。
例えば、2つのRGBユニットのみをサポートするデバイスでは、更新する必要がある電子ユニットを示すために最下位の2ビットのみを使用することが可能であるが、ワードの他の14ビットは、例えば、命令のために使用され得る。
図6の実施形態は、下位バイト(この場合は0×02)が、上記で説明したようなLED位置(この場合はLED2)を含むことを示している。上位バイト(この場合は0x03)は、次のフレームでアドレス指定されたスレーブによって送信される、送信バッファにどのS2Mデータをロードする必要があるのかを選択するために使用される識別子を含んでいる。この実施例では、上位バイトの値は、MCUが、例えば、測定されたLED順方向電圧を要求していることを示す。LED順方向電圧は既知の方法で測定され、次のフレームにおいて、これらの測定されたLED順方向電圧がMCUに送信される。
この特定の実施形態では、上位バイトは8ビットを含むため、例えば、28=256の異なる命令が提供されることを可能にする。追加されたビットストリングに2つのワードが含まれている場合、このアドレス空間と接続されたLEDの空間を増やすことができる。プロトコルは有利には非常に柔軟である。
MCUによる要求には多くの異なる命令が利用可能であり、例えば、
例えば、アプリケーションモードに入る、
例えば、全てのLEDに定義された光出力を事前に設定するために、例えば、較正モードに入る、
例えば、(自動)アドレス指定モードに入る、
例えば、NVプログラムメモリのための、例えば、プログラミングモードに入る、
例えば、LEDに色情報を送る
例えば、LED用の駆動モード(例えば、電流源又はPWM駆動を介したリニア駆動)を有効にする、
例えば、全てのLEDに電流が流れている場合、例えば、診断を要求する、
例えば、スレーブアドレスを要求する、
例えば、接続されたLEDの色情報、例えば、これらが赤、緑、青(RGB)LEDである場合、例えば、LEDのタイプを要求する、
例えば、温度情報を要求する、
例えば、所与のメモリ場所にデータを書き込む、
例えば、所与のメモリ場所からデータを読み込む、
例えば、スリープモードなどのスタンドバイ操作に入る、
例えば、1つ以上の特定のレジスタを書き込むために入力する、
例えば、1つ以上の特定のレジスタを読み込むために入力する、
そして、多くの他の命令が想到可能である。
例えば、アプリケーションモードに入る、
例えば、全てのLEDに定義された光出力を事前に設定するために、例えば、較正モードに入る、
例えば、(自動)アドレス指定モードに入る、
例えば、NVプログラムメモリのための、例えば、プログラミングモードに入る、
例えば、LEDに色情報を送る
例えば、LED用の駆動モード(例えば、電流源又はPWM駆動を介したリニア駆動)を有効にする、
例えば、全てのLEDに電流が流れている場合、例えば、診断を要求する、
例えば、スレーブアドレスを要求する、
例えば、接続されたLEDの色情報、例えば、これらが赤、緑、青(RGB)LEDである場合、例えば、LEDのタイプを要求する、
例えば、温度情報を要求する、
例えば、所与のメモリ場所にデータを書き込む、
例えば、所与のメモリ場所からデータを読み込む、
例えば、スリープモードなどのスタンドバイ操作に入る、
例えば、1つ以上の特定のレジスタを書き込むために入力する、
例えば、1つ以上の特定のレジスタを読み込むために入力する、
そして、多くの他の命令が想到可能である。
図6の第2の列6M2は、S2Mヘッダ(Rビットは1)を示しており、MCUは、スレーブに、スレーブ送信バッファの内容を送るように要求している。Iビットは設定されている。スレーブは、その送信バッファからの内容で応答する。スレーブには、命令である少なくとも1つの追加のワードも含まれる。追加のワードは、先に受信した命令(したがって、例えば、本発明のいくつかの実施形態に従って、先に受信した上位バイトに含まれる命令は、スレーブによって繰り返され、これは、マスタによって送られた先の命令を検証するために使用することができる)を含み、続いて、MCUによって要求された情報の送信が続く。
図6の最後の列6M3は、SM2ヘッダ(Rビットは1)を示している。MCUは第2の列6M2と同じ要求を行う。ただし、この場合、命令ビットIはヌルであるため、追加のワードはない。スレーブは先に受信した命令を繰り返さず、スレーブは単に命令に従って要求された情報を送信する。先の命令はDATAフィールドに含まれないため、DATAフィールドは1ワードだけ縮小される。
S2M通信の両方のオプションが可能である。MCUがフレームに診断情報を追加することができるため、第2の列6M2のオプションは、より高いセキュリティを与える。一方、第3の列6M3のオプションは1ワード短く、より高いデータスループットを可能にする。これにより、通信の柔軟性が向上され、ユーザが状況や用途ごとにより適しているオプションを選択することを可能にする。
命令ビットIの追加の使用がある。例えば、方法は、命令ビットによって有効にされた、追加されたビットストリングでアドレス指定された駆動ユニットのレジスタを直接読み込む又は書き込むことを含んでもよい。このようなレジスタは、メモリ(例えば、NVメモリ、RAM、ROMなどとしての)、ポート、ADCレジスタなどであり得る。
レジスタを読み込むことは、DATAフィールドに読み込まれるレジスタアドレスを適用することを含み得る。本発明のいくつかの実施形態では、本方法は、(命令ビットIが追加のビットストリングを有効にするという条件で)追加のビットストリングにバーストポインタアドレスを適用することを含む。バーストポインタアドレスは、ネットワークシステム内の同じ種類の全ての接続された駆動ユニットに対して同じである所定のアドレスである。これは、駆動ユニットによって使用されて、それらのレジスタマップに内部ポインタが設定される。バーストポインタアドレスはシステムに依存するため、例えば、システムの電子機器の異なるバージョンは、異なるバーストポインタアドレスを有し得る。ただし、MCUには、必要に応じてバーストポインタアドレスを使用するために必要な情報がある。
図7は、第1の列7M1で、バーストポインタアドレスの使用を示している。PL長は0に設定されているため、ペイロードには1つのデータ単位(前述のようにPL長+1)のみが含まれている。これは、機能ビットFの値(F=0)に従って、1ワードとして解釈されるべきである。命令ビットIは、DATAフィールドに追加のビットストリングが追加されないような値に設定されるため、DATAフィールドの長さは1ワードの長さである。この1ワードは、Rビットの値(ゼロ)に続いて、アドレス指定された駆動ユニットに提供される。このワードは既知のアドレス0x1234であり、アドレス指定された駆動ユニットはそれをバーストポインタアドレスとして解釈する。放送アドレスが使用される場合、全てのスレーブはそれらのポインタをこのバーストポインタアドレスに置き、そこから更なるアクション(例えば、読み込み/書き込み)を開始する。図は「バーストポインタアドレス」を示しているが、これは図のラベルにすぎず、ビットストリングが追加されていないため、駆動ユニットの指示や情報ではないことに留意されたい。
特定のレジスタを読み込むために、特定のレジスタアドレスは、アドレス指定された駆動ユニットの既知のバーストポインタアドレスにDATAフィールド内で送られる。
以下のS2Mメッセージには、スレーブが、所定のレジスタアドレスから開始して、レジスタの内容で応答するように、Rビットが1に設定されている、MCUから送られたIDフィールドが含まれている。列7M2及び7M3の両方ともS2Mフレームに相当するが、第3の列は、DATAフィールド内に、命令ビットIの値によって定義される余分のワードを含む。この定義下で、「Instr」フィールドには、駆動ユニットが送るデータの開始アドレスが含まれている。したがって、スレーブは、追加されたビットストリングで現在のアドレスを送る。このレジスタアドレスは、先のM2Sメッセージペイロード内で設定されている。MCUは、読み込みが必要なレジスタの数を指定する。これは、PL長フィールドを使用して行うことができる。例えば、PL長フィールドに与えられる数は、所定のレジスタアドレスから開始して、PL長に達するまで線形順序で増加する、読み込まれるレジスタの数である。
いくつかの実施形態では、アドレス範囲は、通常、0x0000で始まり、所定の値で終了するため、上記所定の値を上回る値は、アドレスとして解釈されない。本方法は、その値に応じて追加されたビットストリングを解釈することを含んでもよく、例えば、所定の数を上回る値については、追加されたビットストリングは、命令として解釈され得、その所定の数以下の値については、バーストポインタアドレスを含み得るアドレスとして解釈され得る。同様に、本発明の方法を実装するシステムは、どの値を命令と見なすことができ、どの値をアドレス指定されたレジスタと見なすことができるかを指定するように適合され得る。いくつかの非限定的な実施形態では、例えば、システムの定義は、0×E000未満の値がアドレスとして解釈される一方で、等しい又はそれ以上の値が命令であることであり得る。
レジスタを書き込むこと又は読み込むことは、1つ以上のレジスタに書き込むこと又は読み込むことを含み得る。例えば、本発明の方法は、DATAフィールドに書き込むために第1のレジスタを追加することを含み得る。いくつかの実施形態では、命令ビットIは、書き込むために第1のレジスタアドレスを含むDATAフィールド内の少なくとも1つの更なるビットストリング、例えば、1つ以上のワードを有効にする。追加されたビットストリングの後に開始し得るペイロードには、レジスタに書き込むデータが含まれている。所与のフレームに対して、ペイロードはPL長+1であり、データフィールドには、最終的に、命令ビットIの値に応じて、ペイロード+1つの追加のビットストリング(この場合はワード)が含まれている。書き込み又は読み込みは線形順序で行われるので、レジスタの数はPL長によって定義される。したがって、PL長は、この場合も、書き込み又は読み込みするレジスタの数を示す。
このレジスタ操作の開始は、命令フィールドで行われる。Rビットがゼロの場合、通信フレームはM2Sであり、「書き込み」操作が行われる。PL長が、例えば、6ワードに設定されている場合、スレーブは6ワードを受信し、レジスタごとに1ワードを書き込みするので、6つの連続したレジスタは1ワードを受信する。Rビットが1の場合、フレームはS2Mフレームであり、「読み込み」操作が行われる。
図8は、レジスタを書き込むための通信フレームを示している。列8M1~8M4は、Rビットの値(0に設定)に従って、M2Sフレームである。PL長フィールドには3ビットしかないため、利用可能な値は000から111まで変化し、これは10進法で7に等しい。ペイロードはPL長+1に等しいため、ペイロードの8ワードの後に、アドレス指定されたスレーブに対して、新しい開始アドレスを持つ新しいフレームを初期化する必要がある。したがって、列8M1が終了した後、次の列が始まる。命令ビットIは1であるため、追加されたビットストリングは、スレーブがその「開始アドレス」から始めてレジスタに置くべきデータの「開始アドレス」を線形順序で提供する。
このように、本発明は、駆動ユニットのアドレスに大きなビットストリングを可能にすることによって通信を向上させ、必要に応じて、ビットストリングがデータフィールドに追加される。駆動ユニットは、ビットストリングが追加されているかどうかを示す1つの命令ビットを含むIDフィールドを解釈する。追加されたビットストリングを使用して、図6で前述したように、情報(先に受信した命令の駆動ユニットによる確認、レジスタを書き込むための通信における開始レジスタアドレスなど)及び/又は電子ユニットを更新する命令、先に受信した命令の駆動ユニットによる確認、更には更なるビットストリングの一部分におけるデータビットの割り当て及び更なるビットストリングの異なる部分における更なる命令又は情報の組み合わせなどの命令を追加することができる。
Claims (14)
- 電子ユニットに給電するために複数の駆動ユニット(11)を操作する方法であって、マスタ制御ユニット(10)と複数の駆動ユニット(11)のうちの少なくとも1つとの間でビットシーケンスを含むフレームを交換することを含み、前記シーケンスは連続するビットストリングのフィールドに分割され、前記方法は、
-少なくとも1つの駆動ユニット(11)をアドレス指定するためのIDフィールドを、前記マスタ制御ユニット(10)と前記少なくとも1つのアドレス指定された駆動ユニット(11)との間でデータを交換するために、適用することと、
-前記アドレス指定された少なくとも1つの駆動ユニット(11)の前記電子ユニットのステータスに関する情報及び/又は命令を含むペイロードを含むDATAフィールドを適用することと、を含み、
-前記IDフィールドを適用することは、
-前記少なくとも1つのアドレス指定された駆動ユニット(11)に前記DATAフィールドを適用するために、また、前記駆動ユニット(11)がアドレス指定されていない場合は、前記DATAフィールドを無視するために、Nビットを含むビットの第1のサブストリング(ID15~ID8)を使用して前記駆動ユニット(11)アドレスを示すことであって、ここで、2^Nは前記複数の駆動ユニット(11)における駆動ユニットの数以上である、示すことと、
-値を割り当てるための受信/送信コマンドビット(R/T)を、前記受信/送信コマンドビット(R/T)に割り当てられた前記値に応じて、前記マスタ制御ユニット(10)が、前記少なくとも1つのアドレス指定された駆動ユニット(11)からデータを受信するべきか、又は前記少なくとも1つのアドレス指定された駆動ユニット(11)にデータを送信するべきかを識別することを可能にするために、かつ前記フレームが前記少なくとも1つのアドレス指定された駆動ユニット(11)によって受信されたときに、各アドレス指定された駆動ユニット(11)が前記マスタ制御ユニット(10)によってどのアクションが必要とされているかを復号することを可能にするために、使用することと、
-前記IDフィールド内の第2のサブストリング(ID4~ID2)を使用して、前記ペイロードの長さを示すことと、を更に含み、
-前記DATAフィールド内の情報のタイプを示す、値を割り当てるための命令ビット(I)を更に使用することを特徴とし、
-前記DATAフィールドを適用することは、前記命令ビット(I)が第1の値を有する場合、前記ペイロードの前記ビットのシーケンスからなるビットのシーケンスを適用することを更に含み、
-前記DATAフィールドを適用することは、前記命令ビット(I)が前記第1の値とは異なる第2の値を有する場合、前記ペイロードの前記ビットのシーケンス及び少なくとも1つの追加のビットサブストリングを含むビットのシーケンスを前記DATAフィールド内の予め定義された位置に適用することであって、前記追加のビットサブストリングは、前記駆動ユニットによってアクションを実行するための情報を導入する、適用することを含む、方法。 - 前記IDフィールドを適用することは、値を割り当てるための機能ビットを適用することを更に含み、前記機能ビットFの第1の値について、前記DATAフィールドのビットを異なる電子ユニットに割り当て、前記機能ビットFの第2の値について、前記DATAフィールド内のデータビットを駆動ユニット命令として処理することを更に含む、請求項1に記載の方法。
- IDフィールドを適用することは、16ビットのストリングを使用することを含む、請求項1に記載の方法。
- ビットの第1のサブストリング(ID15~ID8)を使用して前記駆動ユニット(11)アドレスを示すことは、8ビットからなる第1のビットサブストリングを使用することを含む、請求項1に記載の方法。
- 前記第2のサブストリング(ID4~ID2)は3ビットからなる、請求項1に記載の方法。
- 電子ユニットに給電することは、2つ以上のLEDを含むLEDクラスタに給電することを含む、請求項1に記載の方法。
- フレームを交換することは、少なくとも1つの追加のビットサブストリングが前記DATAフィールドに追加されるように、前記第2の値を前記命令ビット(I)に割り当てることを含み、前記少なくとも1つの駆動ユニットから前記マスタ制御ユニット(10)にDATAフィールドを送信することを更に含み、前記追加のビットストリングは、前記駆動ユニットによって実行される前記命令の情報を含む、請求項1に記載の方法。
- 前記DATAフィールドに追加され、少なくとも1つの電子ユニットの位置を含む予め定義された第1のバイトと、次のフレームで前記アドレス指定された駆動ユニットによって送信される、送信バッファに前記駆動ユニットから前記マスタ制御ユニットへどのデータをロードする必要があるのかを選択するために使用される識別子を含んでいる、前記第1のバイトとは異なる予め定義された第2のバイトとに分割された少なくとも1ワードで命令を送信することを更に含む、請求項1に記載の方法。
- 前記マスタ制御ユニット(10)からスレーブに、前記駆動ユニットから前記マスタ制御ユニット(10)に前記送信バッファ内の前記データを送る要求を送ることを更に含む、請求項8に記載の方法。
- 前記マスタ制御ユニット(10)から前記要求を送ることは、前記追加のビットストリングを適用するための前記命令ビット(I)の前記第2の値を設定して、前記送信バッファ内の前記データを前記駆動ユニットから前記マスタ制御ユニット(10)に送り、前記追加のビットストリングで、前記駆動ユニットによって先に受信された前記識別子を送ることを更に含む、請求項9に記載の方法。
- 命令ビット(I)を使用することは、少なくとも1つの追加のビットサブストリングが前記DATAフィールドに追加されるように、前記第2の値を前記命令ビットに割り当てることを含み、前記少なくとも1つの追加のビットサブストリングは、バーストポインタアドレスを含む、請求項1に記載の方法。
- 前記受信/送信コマンドビットの第1の値について、前記バーストポインタアドレスを使用してレジスタの情報を読み取ること、又は前記受信/送信コマンドビットの第2の値について、前記バーストポインタアドレスを使用して前記レジスタに情報を書き込むことを更に含む、請求項11に記載の方法。
- 複数の電子ユニット及びマスタ制御ユニット(10)に接続可能な駆動ユニットであって、先行請求項のいずれか一項に記載の方法のステップを実行するように構成されている、駆動ユニット。
- 複数の電子ユニットに接続可能な複数の駆動ユニットを備えるシステムであって、前記複数の駆動ユニットに接続されたマスタ制御ユニットを更に備え、前記マスタ制御ユニット及び駆動ユニットは、請求項1~12のいずれか一項に記載のステップを実行するように構成されている、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22173422.1A EP4280823B1 (en) | 2022-05-16 | 2022-05-16 | Advanced bus protocol for dynamic lighting |
EP22173422 | 2022-05-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023169110A true JP2023169110A (ja) | 2023-11-29 |
Family
ID=81748410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023060802A Pending JP2023169110A (ja) | 2022-05-16 | 2023-04-04 | ダイナミックライティングのための高度なバスプロトコル |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230367733A1 (ja) |
EP (1) | EP4280823B1 (ja) |
JP (1) | JP2023169110A (ja) |
KR (1) | KR20230160196A (ja) |
CN (1) | CN117081884A (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2101795T3 (es) * | 1991-04-02 | 1997-07-16 | Philips Electronics Nv | Procedimiento para el tratamiento de instrucciones de control. |
DE102015222504A1 (de) | 2015-11-16 | 2017-05-18 | Bayerische Motoren Werke Aktiengesellschaft | Beleuchtungsvorrichtung für ein Kraftfahrzeug |
EP3478031B1 (en) * | 2017-10-30 | 2020-06-24 | Melexis Technologies NV | Bus protocol for dynamic lighting application |
-
2022
- 2022-05-16 EP EP22173422.1A patent/EP4280823B1/en active Active
-
2023
- 2023-04-04 JP JP2023060802A patent/JP2023169110A/ja active Pending
- 2023-05-09 CN CN202310519464.2A patent/CN117081884A/zh active Pending
- 2023-05-10 US US18/315,032 patent/US20230367733A1/en active Pending
- 2023-05-16 KR KR1020230063081A patent/KR20230160196A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
KR20230160196A (ko) | 2023-11-23 |
CN117081884A (zh) | 2023-11-17 |
EP4280823A1 (en) | 2023-11-22 |
US20230367733A1 (en) | 2023-11-16 |
EP4280823B1 (en) | 2024-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102065277B1 (ko) | 동적 조명 장치용 버스 프로토콜 | |
JP4892170B2 (ja) | Linバス、特に自動車両内のlinバス | |
JP2019088000A5 (ja) | ||
JP4657637B2 (ja) | バス接続を介してのランダムアクセスのための方法およびデータ構造 | |
JP2017520053A (ja) | マルチプロトコルデバイスによって共有される動的調整可能なマルチラインバス | |
JP2020135861A5 (ja) | ||
WO2011150883A2 (zh) | 一种终端批量升级方法及装置 | |
JP2019201408A (ja) | 発光ダイオードドライバ、発光ダイオードモジュールおよび相応のシステム | |
CN110223620B (zh) | 驱动控制方法、组件及显示装置 | |
US7039690B2 (en) | System and method for accessing registers of PHY device in network | |
JP2023169110A (ja) | ダイナミックライティングのための高度なバスプロトコル | |
US20030135679A1 (en) | Circuit and method for expanding a serial bus | |
US20030149819A1 (en) | Method and apparatus for ascertaining the status of multiple devices simultaneously over a data bus | |
JP6771791B2 (ja) | エネルギー効率の高いデータフレーム交換 | |
CN110710330A (zh) | 针对串联连接设备的自动地址分配 | |
CN111306087B (zh) | 串行的传输风扇控制装置、串行的风扇控制系统及其方法 | |
KR100994842B1 (ko) | Can 네트워크를 이용한 인버터 시스템 | |
US20220376949A1 (en) | Bus controlled lighting system | |
CN102087509B (zh) | 集成电路及其控制方法 | |
KR101593840B1 (ko) | 캔 프레임 송신 방법 및 장치 | |
KR20230109270A (ko) | 신호 처리 장치, 이미지 출력 장치 및 이를 이용한 이미지 투사 방법 | |
CN1288332A (zh) | 电子设备 | |
JP2024050233A (ja) | 照明制御システム及び伝送装置 | |
CN115742946A (zh) | 交互式车灯系统、车辆及控制方法 | |
JP2588831Y2 (ja) | 車両用負荷制御装置 |