多通道仿真,通道 1 H2C 和 C2H 示例 - 4.1 简体中文

DMA/Bridge Subsystem for PCI Express 产品指南 (PG195)

Document ID
PG195
Release Date
2023-11-24
Version
4.1 简体中文
  1. 在主机存储器地址内创建 H2C 通道 1 描述符,该描述符不同于 H2C 和 C2H 通道 0 描述符。
  2. 在主机存储器地址内创建 C2H 通道 1 描述符,该描述符不同于 H2C 通道 0、C2H 通道 0 以及 H2C 通道 1 描述符。
  3. 在主机存储器内为 H2C 通道 1 传输创建传输数据(128 字节)不会覆盖主机存储器中的 4 个描述符(H2C 和 C2H 的通道 0 及通道 1 的描述符)中的任一描述符,也不会覆盖 H2C 通道 0 数据。
  4. 还需确保主机存储器中的 H2C 数据不会与 C2H 通道 0 和 1 的 C2H 数据传输空间重叠。
  5. 将描述符起始地址写入 H2C 通道 0 和 1。写入“H2C SGDMA Descriptor Low Address (0x80)”(H2C SGDMA 描述符低位地址 (0x80))寄存器和“H2C SGDMA Descriptor High Address (0x84)”(H2C SGDMA 描述符高位地址 (0x84))寄存器。
  6. 将描述符起始地址写入 C2H 通道 0 和 1。写入“C2H SGDMA Descriptor Low Address (0x80)”(C2H SGDMA 描述符低位地址 (0x80))寄存器和“H2C SGDMA Descriptor High Address (0x84)”(H2C SGDMA 描述符高位地址 (0x84))寄存器。
  7. 写入 H2C 通道 0 和 1 的控制寄存器(位 0)以启用多通道传输。写入通道 0 和通道 1 的“H2C Channel Control (0x04)”(H2C 通道控制 (0x04))寄存器。
  8. 写入 C2H 通道 0 和 1 的控制寄存器(位 0)以启用多通道传输。写入通道 0 和通道 1 的“C2H Channel Control (0x04)”(C2H 通道控制 (0x04))寄存器。
  9. 比较数据,确认是否正确。

此过程同样适用于 AXI4‑Stream 配置。请参阅上一章节内容以获取 AXI4‑Stream 传输的详细解释。