JAJSL46A August 2022 – December 2022 DRV8452
PRODUCTION DATA
複数のデバイスをコントローラに接続するためには、デイジー・チェーンを使う方法と、使わない方法があります。デイジー・チェーンを使わずに「n」個のデバイスをコントローラに接続するには、nSCS ピンのためにコントローラ側で「n」個の GPIO リソースを利用する必要があります。これに対して、デイジー・チェーン構成を使用する場合は、単一の nSCS ラインを使って複数のデバイスを接続できます。
図 7-50 に、3 つのデバイスをデイジー・チェーンで接続する場合のトポロジを示します。この構成により、複数のデバイスが同じコントローラと通信するときに、GPIO ポートを節約できます。
3 デバイス構成の場合、チェーンの最初のデバイスは、図 7-51 に示すように MCU からデータを受信します。2 バイトのヘッダ (HDRx) + 3 バイトのアドレス (Ax) + 3 バイトのデータ (Dx)。
3 デバイス構成の場合、データがチェーンを介して送信されると、MCU は、図 7-52 に示されるフォーマットでデータ文字列を受信します。3 バイトのステータス (Sx) + 2 バイトのヘッダ + 3 バイトのレポート (Rx)。
ヘッダ・バイトには、チェーン接続されたデバイス数とグローバル障害クリア・コマンドの情報が含まれています。グローバル障害クリア・コマンドとは、すべてのデバイスの FAULT レジスタをチップ・セレクト (nSCS) 信号の立ち上がりエッジでクリアするコマンドです。ヘッダ値 N5~N0 の 6 ビットは、チェーン内のデバイス数を示すために使用されます。各デイジー・チェーン接続には、最大 63 台のデバイスを直列に接続できます。
HDR2 レジスタの下位 5 ビットは、MCU がデイジー・チェーン接続の整合性を判断するために使えるドント・ケア・ビットです。ヘッダ・バイトは、上位 2 ビットが 10 で始まる必要があります。
ステータス・バイトは、MCU が読み出しコマンドを開始して特定のデバイスからフォルト・ステータスを読み取る必要がないように、デイジー・チェーン内の各デバイスのフォルト・ステータス・レジスタに関する情報を提供します。これにより、MCU は追加の読み取りコマンドを確保でき、システムはデバイス内でフラグが立ったフォルト条件をより効率的に特定できます。ステータス・バイトは、上位 2 ビットが 11 で始まる必要があります。
データがデバイスを通過する際、そのデバイスは最初のヘッダ・バイトに続けて受信したステータス・バイトの数を数えることで、チェーン内の自身の位置を判断します。たとえば、この 3 デバイス構成で、チェーン内のデバイス 2 は、2 つのステータス・バイト、HDR1 バイト、HDR2 バイトをこの順に受信します。
受信したステータス・バイトが 2 つであることから、デバイス 2 は自身の位置がチェーン内の 2 番目であることが分かります。HDR2 バイトから、チェーン内に接続されているデバイスの数が分かります。このようにして、データは関連するアドレスおよびデータ・バイトのみをバッファに読み込み、その他のビットは無視します。このプロトコルは、チェーン接続した最大 63 台のデバイスのシステムにレイテンシを生じさせずに、より高速な通信を可能にします。
アドレスおよびデータ・バイトは 1 デバイス接続と同じです。レポート・バイト (R1~R3、図 7-51 を参照) は、アクセス先のレジスタの内容です。