基于AXI的DMA对内部寄存器的读写有着相同的方式。在普通传输模式下,DMA内部的寄存器都是由处理器通过AXI-Lite总线进行读写的;但基于AXI总线的三种DMA,都增加了S/G传输模式,它卸载了处理器对寄存器的读写,通过独立的S/G读写通道对存储着命令描述符的内存进行访问读取、处理描述符,然后更新描述符写入内存。
几种应用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的双中断与系统中断控制器相连。
传统的block DMA 一次只能传输物理上连续的一个块的数据, 完成传输后发起中断。而scatter-gather DMA允许一次传输多个物理上不连续的块,完成传输后只发起一次中断。
传统的block DMA像这样:
先进的scatter-gather DMA像这样:
这样做的好处是直观的,大大减少了中断的次数,提高了数据传输的效率。
责任编辑:YYX
全部0条评论
快来发表一下你的评论吧 !