JAJSPH7B January 2023 – March 2024 DRV8145-Q1
PRODUCTION DATA
複数のデバイスが同じ MCU と通信する場合に、デバイスをデイジー・チェーン構成で接続することで GPIO ポートを節約できます。図 7-11 は、そのトポロジと波形を示しています。ここで、デイジー・チェーン接続されているペリフェラル「n」の数は 3 になっています。この方法で最大 63 個のデバイスを接続できます。
この場合、コントローラから送信される SDI は次の形式になります (図 7-11 の SDI1 を参照)。
データがチェーンを通って送信されると、コントローラはそれを次の形式で受信 します (図 7-11の SDO3 を参照)。
ヘッダ・バイトは、デイジー・チェーン SPI 通信の開始時にアサートされる特別なバイトです。ヘッダ・バイトは、先頭の 2 ビットが 1 と 0 で始まる必要があります。
最初のヘッダ・バイト (HDR1) には、デイジー・チェーン内のペリフェラル・デバイスの総数に関する情報が含まれます。N5~N0 は、図 7-12 のようにチェーン内のデバイスの数を示す 6 ビットの値です。各デイジー・チェーン接続に、最大 63 個のデバイスを直列に接続できます。ペリフェラルの数 = 0 は許容されず、SPI_ERR フラグが立てられます。
2 番目のヘッダ・バイト (HDR2) には、グローバルな CLR FAULT コマンドが含まれており、チップ・セレクト (nSCS) 信号の立ち上がりエッジですべてのデバイスのフォルト・レジスタをクリアします。HDR2 レジスタの後続 5 ビットは、 SPARE (予備) となっています (冗長ビット)。これらのデータは、MCU でデイジー・チェーン接続の整合性を判定するために使用できます。
さらに、このデバイスは、先頭の 2 ビットが 1 と 1 で始まるバイトを「パス」バイトとして認識します。「パス」バイトはデバイスによって処理されませんが、単に SDO 上で次のバイトとして送信されます。
データがデバイスを通過する際、デバイスは最初のヘッダ・バイトの前に受信したステータス・バイトの数を数えることで、チェーン内の自身の位置を判断します。たとえば、この 3 デバイス構成でチェーン内のデバイス 2 は、 2 つのヘッダ・バイトを受信する前に、 2 つのステータス・バイトを受信します。
ステータス・バイトが 2 つなので、チェーン内の位置が 2 番目であることがわかります。また、HDR1 バイトから、チェーン内に接続されているデバイスの数がわかります。このようにして、そのデバイスに対応するアドレスおよびデータ・バイトのみをバッファに読み込み、その他のビットは無視してバイパスします。このプロトコルは、チェーン接続した最大 63 台のデバイスのシステムにレイテンシを追加せずに高速な通信を可能にします。
コマンド、データ、ステータス、およびレポート・バイト は、「標準フレーム形式」で説明されているものと同じです。