シリアル・データ入力 (SDI) ワードの構成は、8 ビットのコマンド (A1) とそれに続く 8 ビットのデータ (D1) の 16 ビット・ワードとなっています。シリアル・データ出力 (SDO) ワードは、フォルト・ステータス表示 (S1) とそれに続くレポート・バイト (R1) の 8 ビットのステータス・レジスタで構成されています。図 7-49 に、コントローラと SPI ターゲット・ドライバの間のデータ・シーケンスを示します。
有効なフレームは以下の条件を満たしていなければなりません。
- nSCS ピンが Low になるときと nSCS ピンが High になるとき、SCLK ピンは Low である必要がある。
- nSCS ピンは、フレーム間の最低 500ns 以上は High になっている必要がある。
- nSCS ピンが High にアサートされているときは、SCLK ピンと SDI ピンのすべての信号が無視され、SDO ピンがハイ・インピーダンス状態 (Hi-Z) になります。
- 標準フレームで有効なトランザクションを実行するには、16 SCLK のサイクルが完全に発生する必要があります。また、デイジー・チェーン・フレームに「n」個のペリフェラル・デバイスが接続されているとき、有効なトランザクションを実行するには 16 + (n × 16) の SCLK サイクルが発生する必要があります。それ以外の場合は、フレーム・エラー (SPI_ERROR) が報告され、書き込み動作ならデータは無視されます。
- デバイスからの SDO データは SCLK の立ち上がりエッジで伝搬され、SDI 上のデータは SCLK の次の立ち下がりエッジで、デバイスによってキャプチャされます。
- 最上位ビット (MSB) のシフト・イン / シフト・アウトが最初に行われます。
- 書き込みコマンドの場合、書き込み先レジスタ内の既存データは、8 ビットのコマンド・データに続いて SDO ピンでシフト・アウトされる。
SDI 入力データ・ワードは 16 ビット長であり、表 7-32 に示される以下のフォーマットで構成されています。
コマンド・バイト (最初の 8 ビット)
- MSB ビットはフレームの種類を示します (標準フレームの場合、ビット B15 = 0)。
- MSB の次のビット W0 は、読み取り / 書き込み動作を示します (ビット B14、書き込み=0、読み取り=1)。
- 次に、6 つのアドレス・ビット A[5:0] (ビット B13 から B8 まで) が続きます。
データ・バイト (最後の 8 ビット)
- 最後の 8 ビットはデータ D[7:0] (ビット B7 から B0 まで) を示します。読み取り動作では、これらのビットは通常ヌル値に設定されます。書き込み動作では、アドレス指定されたレジスタのデータ値がこれらのビットに設定されます。
表 7-32 SDI - 標準フレーム・フォーマット | R/W | アドレス | データ |
---|
B15 | B14 | B13 | B12 | B11 | B10 | B9 | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
0 | W0 | A5 | A4 | A3 | A2 | A1 | A0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
SDO 出力データ・ワードは 16 ビット長であり、表 7-33 に示される以下のフォーマットで構成されています。
レポート・バイト (最後の 8 ビット)
- 最後の 8 ビット (B7:B0) は、読み出し動作 (W0 = 1) の場合は読み出し元のレジスタの現在のデータであり、書き込みコマンド (W0 = 0) の場合は書き込み先のレジスタに存在するデータです。
表 7-33 SDO 出力データ・ワードのフォーマットステータス | レポート |
---|
B15 | B14 | B13 | B12 | B11 | B10 | B9 | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
1 | 1 | UVLO | CPUV | OCP | STL | TF | OL | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |