JAJA989 August 2025 TXE8116 , TXE8116-Q1 , TXE8124 , TXE8124-Q1 , TXE8148
シリアル ペリフェラル インターフェイス (SPI) バスは、コントローラ デバイスと 1 つ以上の周辺デバイス間の高速全二重データ転送を可能にする、広く使用されている同期通信プロトコルです。SPI は 1980 年代にモトローラによって開発され、それ以来、組み込みシステムのペリフェラルを接続するための標準インタフェースとなっています。そのシンプルさ、汎用性、効率性により、信頼性と高速な通信を必要とするシステムを設計するエンジニアにとって必要不可欠なツールです。図 1 に、バス上の SPI 接続の一般的な図を示します。
SPI 通信は、共有クロック信号を使用して同期し、高精度のデータ転送タイミングを確保します。I2C (Inter-Integrated Circuit) などの他のシリアル プロトコルとは異なり、SPI (シリアル ペリフェラル インターフェイス) では標準の通信形式が定義されていないため、開発者は特定のアプリケーション要件に合わせてプロトコルをカスタマイズできます。表 1 に、SPI、I2C、ユニバーサル非同期レシーバ/トランスミッタ (UART) の違いを示します。
| 機能 | SPI | I2C | UART |
|---|---|---|---|
| 通信タイプ | 同期 | 同期 | 非同期 |
| データ転送モード | 全二重 | 半二重 | 全二重 |
| クロック信号 | あり | あり | なし |
| アドレス | チップセレクト (CS) ライン | アドレスプロトコル | 該当なし |
| 速度 | 高 | 中 | 低 |
SPI は全二重通信を可能にし、データを同時に送受信できます。このプロトコルは、SPI 構成に応じて変化する可能性のある一連の主要信号を使用して通信を確立します。
| 信号名 | 使用法 |
|---|---|
| PICO (コントローラ SDO、ペリフェラル SDI) | コントローラからペリフェラルにデータを送信します |
| POCI (コントローラ SDI、ペリフェラル SDO) | ペリフェラルからコントローラにデータを送信します |
| SCLK (シリアル クロック) | データ転送を同期するためにコントローラによって生成されます |
| CS (チップセレクト) | コントローラが特定のペリフェラルデバイスを選択し、有効にするために使用するアクティブ Low 信号 |
SPI バスアーキテクチャは、1 つの コントローラ と 1 つ以上の ペリフェラル デバイスでシンプルに構成されていあます。コントローラは通信を開始し、クロックを制御し、通信するペリフェラルを選択します。このアーキテクチャは、次の 3 つの主要な構成をサポートします。
SPIは、クロック極性 (CPOL) とクロック位相 (CPHA) によって決定される 4 つの動作モードをサポートしています。表 3 に示すこれらのモードは、クロック信号の動作とデータサンプリングのタイミングを定義します。
| モード | CPOL | CPHA | 説明 |
|---|---|---|---|
| モード 0 | 0 | 0 | データはクロックの立ち上がりエッジでサンプリングされ、クロックは Low アイドル状態になります。 |
| モード 1 | 0 | 1 | データはクロックの立ち下がりエッジでサンプリングされ、クロックは Low アイドル状態になります。 |
| モード 2 | 1 | 0 | データはクロックの立ち下がりエッジでサンプリングされ、クロックは High アイドル状態になります。 |
| モード 3 | 1 | 1 | データはクロックの立ち上がりエッジでサンプリングされ、クロックは High アイドル状態になります。 |
SPIは、コントローラと 1 つ以上のペリフェラルデバイス間のデータ交換を可能にする同期全二重通信プロトコルです。テキサス インスツルメンツの TXE8116/24 デバイスは、24 ビット固定 SPI トランザクションフォーマットを使用しており、SPI モード 0 (CPOL = 0、CPHA = 0) で MSB ファーストで送信されます。このデバイスは、全二重動作をサポートしており、受信コマンドフレームと送信データまたはステータスフレームが同時に交換されます。各 SPI トランザクションは、CS 信号が Low に引き下げられた状態で開始し、24 ビット シーケンス全体にわたって低く維持される必要があります。図 2 に、TXE8116/24 デバイスの SPI データフレームを示します。
登録情報に書き込むには、コントローラは MSB (ビット23) を 0 に設定した 24 ビットのワードを送信します。アドレス登録は、ビット [22:16] にエンコードされ、ビット [15:8] はターゲット GPIO ポートを選択するか、マルチポートモードを設定します。最後の 8 ビット [7:0] は、書き込む実際のデータを伝送します。
登録情報から読み取るには、ホストはビット 23 を 1 に設定し、必要なアドレス登録を送信します。下位 16 ビットにはダミーデータを含めることができます。この同じ転送中に、TXE8124 は POCI ラインの指定されたアドレス登録の現在の値を返します。
| パラメータ | 説明 | 標準値 |
|---|---|---|
| tSCLK | SPI クロック周期 (3.3V < VCC < 5.5V) | 100ns (10MHz) |
| tCSS / tCSH | CS セットアップ/ホールド時間 | ≥ 50ns |
| tV(SDO) | POCI は SCLK エッジ後に有効 | ≤ 27ns |
| tDIS(SDO) | CS デアサートされた後の POCI の High - Z | ≤ 50 ns |
正しい通信を維持するためには、すべての SPI トランザクションは、割り込み出力、リセット入力、および I/O 構成登録データシートを備えた TXE81xx-Q1 車載用 24 ビット SPI バス I/O エクスパンダー で指定されている最小タイミング制約を満たす必要があります。