VIVADO 官方AXI DMA模块 SG 模式
AXI DMA模块说明
AXI DMA框图
引脚描述
补充下重点描述:
- s_axi_lite_*:上位机通过此接口配置AXI DMA的内部寄存器。
- m_axi_mm2s_* :上位机到DMA的写通道,传输的是上位机需要写入到外设的数据。
- m_axi_s2mm_*:上位机到DMA的读通道,传输的是外设写入上位机的数据:即上位机从外设读取的数据。
- m_axis_mm2s_*:DMA到外设的写通道,DMA通过此通道将上位机的数据写入外设。
- s_axis_s2mm_*:DMA到外设的读通道,DMA通过此通道读取外设需要传给上位机的数据。
- m_axis_mm2s_cntrl_*:DMA配置外设的控制通道(未使用)
- s_axis_s2mm_sts_*:DMA读取外设的状态通道(未使用)
- m_axi_sg_*:SG模式下的读写内存映射的通道
AXI DMA寄存器内存地址映射
Scatter/Gather模式
寄存器各字段详细说明看附件(AXI_DMA Preference Guide)
Scatter Gather 描述符
各字段详细说明看附件
SG模式下典型的系统连接结构
SG DMA使用流程(摘取自xilinx官方教程)
MM2S 端:
-
在内存中开辟缓存空间,制作链表
-
通过 AXI4_LITE 总线将第一个 Descriptor 的地址写入 MM2S_CURDESC 寄存器
-
写寄存器 MM2