インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

19.4.6.1. Motorola SPI Protocol

SPIの場合、クロック極性 (SCPOL) のコンフィグレーション・パラメーターにより、シリアルクロックの非アクティブ状態がHighかLowかを決定します。データフレームの長さは4ビットから16ビットにすることができます。†

コンフィグレーション・パラメーターがSCPH = 0の場合、データ送信は、スレーブ選択信号の立ち下がりエッジで開始します。最初のデータビットは、マスターおよびスレーブ・ペリフェラルによってシリアルクロックの最初のエッジでキャプチャーされます。そのため、有効なデータは、最初のシリアル・クロック・エッジの前にtxdラインおよびrxdラインに存在している必要があります。†

スレーブ選択信号は、スレーブSPIとして使用されている場合にのみ効力を発します。マスターSPIでは、データ送信は出力イネーブル信号がデアサートされるとすぐに開始します。

このセクションのタイミング図には、次の信号が示されています。†

  • sclk_out - SPIマスターからのシリアルクロック †
  • sclk_in - SPIスレーブからのシリアルクロック †
  • ss_0_n - SPIマスターからのスレーブ選択信号 †
  • ss_oe_n - SPIマスターまたはスレーブの出力イネーブル †
  • txd - SPIマスターまたはスレーブの送信データライン †
  • rxd - SPIマスターまたはスレーブの受信データライン †
図 88. SPIシリアル形式 (SCPH = 0)

SPIコントローラーでは、SPIシリアル・トランザクションの実行において4つの転送モードが使用可能です。詳細に関しては、「転送モード」を参照してください。送受信の転送 (Control Register 0のTransfer Mode Field (9:8) = 0) の場合、SPIコントローラーから外部シリアルデバイスに送信されるデータは、送信FIFOバッファーに書き込まれます。SPIコントローラーで外部シリアルデバイスから受信したデータは、受信FIFOバッファーにプッシュされます。†

注: 送信専用の転送 (Control Register 0のTransfer Mode Field (9:8) = 1) の場合、SPIコントローラーから外部シリアルデバイスに送信されるデータは、送信FIFOバッファーに書き込まれます。外部シリアルデバイスから受信するデータは無効とみなされるため、そのデータはSPI受信FIFOバッファーに格納されません。†

受信専用の転送 (Control Register 0のTransfer Mode Field (9:8) = 2) の場合、SPIコントローラーから外部シリアルデバイスに送信されるデータは無効であるため、単一のダミーワードが送信FIFOバッファーに書き込まれ、シリアル転送が開始します。SPIコントローラーからのtxd出力は、シリアル転送の間、一定の論理レベルに保持されます。SPIコントローラーで外部シリアルデバイスから受信したデータは、受信FIFOバッファーにプッシュされます。†

EEPROM読み出し転送 (Control Register 0のTransfer Mode Field [9:8] = 3) の場合、オペコードまたはEEPROMアドレスは送信FIFOバッファーに書き込まれます。これらの制御フレームの送信中に、受信データはSPIマスターにキャプチャーされません。制御フレームが送信されると、EEPROMからの受信データは受信FIFOバッファーに格納されます。