SPI バリアントは、全二重の 4 線式同期通信を備えており、デバイスの構成や動作パラメータの設定、デバイスからの診断情報の読み出しに使います。SPI は、ペリフェラル・モードで動作し、コントローラに接続します。シリアル・データ入力 (SDI) ワードの構成は、16 ビットのワード、 8 ビットのコマンド (A1)、8 ビットのデータ (D1) となっています。シリアル・データ出力 (SDO) ワードの構成は、FAULT_SUMMARY バイト (S1)、その後にレポート・バイト (R1) です。レポート・バイトは、読み出しコマンドでアクセスする場合はレジスタ・データ、書き込みコマンドの場合はヌルです。MCU と SPI ペリフェラル・ドライバ間のデータ・シーケンス 図 8-10をに示します。
有効なフレームは以下の条件を満たしていなければなりません。
- SCLK ピンは、nSCS ピンがHIGH から LOW、および LOW から HIGH に遷移するとき、LOW になっている必要がある。
- nSCS ピンは、ワードとワードの間では HIGH にプルアップされている必要がある。
- nSCS ピンが HIGH にプルアップされているときは、SCLK ピンおよび SDI ピンのすべての信号が無視され、SDOピンが Hi-Z 状態になる。
- デバイスからの SDO データは SCLK の立ち上がりエッジで伝搬され、SDI 上のデータは SCLK の次の立ち下がりエッジでデバイスによってキャプチャされる。
- 最上位ビット (MSB) が最初にシフト・イン / シフト・アウトされる。
- 標準フレームで有効なトランザクションを実行するには、 16 SCLK サイクルが完全に発生する必要がある。また、デイジー・チェーン・フレームに「n」個のペリフェラル・デバイスが接続されているとき、有効なトランザクションを得るには 16 + (n x 16) の SCLK サイクルが発生しなければならない。それ以外の場合には、フレーム・エラー(SPI_ERR) が報告され、書き込み動作では、データは無視される。