シリアル・データ入力 (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 x 16) の SCLK サイクルが発生しなければならない。上記を満たさない場合、フレーム・エラー (SPI_ERROR) が報告され、書き込み動作ではデータは無視される。
- デバイスからの SDO データは SCLK の立ち上がりエッジで伝搬され、SDI データは SCLK の次の立ち下がりエッジでデバイスによってキャプチャされる。
- 最上位ビット (MSB) のシフト・イン / シフト・アウトが最初に行われる。
- 書き込みコマンドの場合、書き込み先レジスタ内の既存データは、8 ビットのコマンド・データに続いて SDO ピンでシフト・アウトされる。
SDI 入力データ・ワードは 16 ビット長であり、表 7-32 に示すようなフォーマットで構成されています。
コマンド・バイト (最初の 8 ビット)
- MSB ビットはフレームの種類を示します (標準フレームの場合、ビット B15 = 0)
- MSB の次のビット W0 は、読み取り / 書き込み動作を示します (ビット B14、書き込み = 0、読み取り = 1)
- W0 の次に 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 |