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

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

8.1. DMAコントローラーの機能

HPSは、メモリーマッピングされたペリフェラルとメモリー間のデータ転送を処理するDMACを1つ提供し、この作業をMPUシステム・コンプレックスからオフロードします。DMACには次の機能があります。
  • DMAの動作を指定する柔軟な方法を提供する小さな命令セット。このアーキテクチャーは、リンクリスト・アイテム (LLI) ベースのDMAコントローラーの固定機能よりも優れた柔軟性を提供します。
  • 専用のレジスターフィールドでプログラミング可能なソフトウェア
  • 複数の転送タイプをサポート
    • メモリーからメモリー
    • メモリーからペリフェラル
    • ペリフェラルからメモリー
    • スキャッターギャザー
  • 8つのDMAチャネルをサポート
  • 8つの未処理のAXI読み出しトランザクションと8つの未処理のAXI書き込みトランザクションをサポート
  • ソフトウェアで最大16の未処理の読み出し命令と最大16の未処理の書き込み命令をスケジューリングすることが可能
  • SMPUシステム・コンプレックスへの9つの割り込みラインをサポート
    • 1つはDMAのスレッドアボートに使用
    • 8つは外部イべントに使用
  • 最大32のペリフェラル要求インターフェイスをサポート9
    • 8つはFPGAで使用10
      • FPGA_0からFPGA_5
      • FPGA_6はI2C_EMAC2_TXと多重化されます
      • FPGA_7はI2C_EMAC2_RXと多重化されます
    • 10個はI2Cで使用
      • I2C_EMAC2 TXはFPGA_6と多重化されます
      • I2C_EMAC2 RXはFPGA_7と多重化されます
      • I2C0 (TXおよびRX) とI2C1 (TXおよびRX)
      • I2C_EMAC0 (TXおよび RX) とI2C_EMAC1 (TXおよび RX)
    • 8つはSPIで使用
    • 1つはシステム・トレース・マクロセル (STM) で使用
    • 4つはUARTで使用
次のペリフェラル・インターフェイス・プロトコルがサポートされています。
  • Synopsys® プロトコル。これは、次のペリフェラル・インターフェイスで使用されます。
    • SPI (シリアル・ペリフェラル・インターフェイス)
    • UART (Universal asynchronous receiver transmitter)
    • I2C (Inter-integrated circuit)
    • FPGAインターフェイス
  • ARM® プロトコル。これは、STMペリフェラルで使用されます。
    • システム・トレース・マクロセル (STM) ペリフェラル11
DMAコントローラーは次のものを提供します。
  • DMA転送に使用するLinuxドライバー
  • ARM® Advanced Microcontroller Bus Architecture ( AMBA* ) Advanced eXtensible Interface ( AXI* ) マスター・インターフェイス・ユニット
  • マルチFIFO (MFIFO) データバッファー。DMA転送時に、DMAコントローラーは読み出すデータまたは書き込むデータをこのバッファーを使用して格納します。

デュアル・スレーブ・インターフェイスにより、DMAコントローラーの操作をセキュア状態と非セキュア状態に分けることができます。ネットワーク・インターコネクトをコンフィグレーションし、セキュア・トランザクションのみがセキュア・インターフェイスにアクセスできることを保証する必要があります。スレーブ・インターフェイスは、ステータスレジスターへのアクセスを提供します。また、DMAコントローラーで直接命令を発行して実行するために使用されます。

9 そのうち3つのインターフェイスは予約されています。
10 HPSには合計33のペリフェラル要求インターフェイスが必要です。一方、DMACは最大32のインターフェイスをサポートします。よって、FPGA_6とFPGA_7は、システム・マネージャーのソフトウェア・コントロール・レジスターによって制御されます。
11 同じ ARM® プロトコルをサポートしており、アダプターは必要ありません。