AN 690:PCI Express Avalon-MM DMA参考设计

ID 683824
日期 5/28/2016
Public

1.3. Avalon‑MM DMA

带DMA的Avalon-MM接口包含下列模块:

Read Data Mover

Read Data Mover向上游发送存储器读TLP。接收到完成后,就将已接收数据写入片上存储器。

Write Data Mover

Write Data Mover从片上存储器读取数据并使用PCI Express链路上的存储器写TLP将数据向上游发送。

描述符控制器

描述符控制器模块管理DMA读和写操作。该模块内嵌于主DMA以助于自定义描述符处理。可在应用中使用外部描述符控制器。

在控制器中,FIFO储存Read Data Mover获取的数据。主机软件按照PCI Express主存储器中描述符列表的位置和大小,并通过RX Avalon-MM主端口编程描述符控制器的内部寄存器。基于该信息,描述符控制器指挥Read Data Mover复制整个列表并将其储存于内部FIFO。然后,控制器获取列表条目并指挥DMA在Avalon-MM和PCIe域之间以1个描述符一次进行数据传输。并且通过TX Avalon-MM从端口向上游发送DMA状态。

TX Slave

TX Avalon-MM从模块向上游发送32-bit Avalon-MM读和写。外部Avalon-MM主端口,包括DMA控制主端口,可访问使用TX Slave的PCI Express存储空间。DMA使用此路径向上游更新DMA状态,包括Message Signaled Interrupt (MSI)状态。

RX Master

RX Master模块将来自根端口的单个dword读和写TLP通过32-bit Avalon-MM主端口传输到Avalon-MM域。软件编程RX Master从而将控制,状态,和描述符信息发送到Avalon-MM slave,以及DMA控制slave。