DMA内部寄存器的读写方式
基于AXI的DMA对内部寄存器的读写有着相同的方式。在普通传输模式下,DMA内部的寄存器都是由处理器通过AXI-Lite总线进行读写的;但基于AXI总线的三种DMA,都增加了S/G传输模式,它卸载了处理器对寄存器的读写,通过独立的S/G读写通道对存储着命令描述符的内存进行访问读取、处理描述符,然后更新描述符写入内存。
几种应用DMA的场合
表4‑20三种DMA的应用场合
类型 | 应用场合 |
---|---|
AXI DMA | AXI DMA 应用在系统内存和基于总线AXI4-Stream的外设之间的高速数据传输,比如控制以太网数据的交换。 |
AXI Centralized DMA | AXI Centralized DMA 应用由一个内存空间到另一个内存空间的高速数据传输。 |
AXI Video DMA | AXI VDMA 应用在系统内存和基于总线AXI4-Steam的视频外设的高速数据传输。 |
几种应用DMA的典型应用
(1) AXI DMA
图4‑40 AXI DMA应用
在系统中,AXI DMA与处理器等其他设备通过AXI Interconnect互联。系统处理器通过AXI4-lite接口访问DMA内部寄存器,向其写入配置信息,然后根据配置信息,高效的进行数据传输;DMA也可以启动S/G传输模式,通过独立的AXI S/G通道从DDR中获取描述符信息,然后协调以太网和DDR间的数据传输;独立的控制和状态流通道,提供相关的包信息;DMA的中断与系统中断控制器相连。
(2) AXI Centralized DMA
图4‑41 AXI CDMA
在此系统中,AXI CDMA与处理器等设备通过AXI Interconmect互联。CDMA控制着一个内存映射空间到另一个内存映射空间的数据传输。
(3) AXI Video DMA
图4‑42 AXI VDMA
在此系统中,AXI VDMA与处理器等其他设备通过AXI Interconnect互联。系统处理器通过AXI4-lite接口访问VDMA内部寄存器,向其写入配置信息,然后根据配置信息,高效的进行数据传输;VDMA也可以启动S/G传输模式,通过独立的AXI S/G通道从DDR中获取描述符信息,然后调控Video IP和DDR间的数据传输;VDMA的双中断与系统中断控制器相连。
Scatter-gather DMA 与 block DMA
传统的block DMA 一次只能传输物理上连续的一个块的数据, 完成传输后发起中断。而scatter-gather DMA允许一次传输多个物理上不连续的块,完成传输后只发起一次中断。
传统的block DMA像这样:
先进的scatter-gather DMA像这样:
这样做的好处是直观的,大大减少了中断的次数,提高了数据传输的效率。
OVER