前面 2 篇文章分别介绍了 PS DMA(PL330)和 AXI DMA IP 核:
接下来介绍一下自定义的 AXI DMA IP 核,该 IP 核仍是通过 AXI_GP 接口和 AXI_HP 接口来实现 PL 对 DDR 的读写,其中,AXI_GP 接口用于 DMA 的控制及状态通道,AXI_HP 接口用于数据通道。这种方法的好处在于更加灵活,例如,可以通过一个 AXI_GP 接口控制多个 AXI_HP 的数据传输,当然,也可以通过 AXI_GP 接口寄存器配置 burst 长度,起始地址,数据长度等信息。
一、封装 AXI master 模式 IP
由于 ZYNQ 的 AXI_HP 接口是从机接口,所以要事先具备封装 AXI mater 接口 IP 的能力。这里可以参考官方文档:
https://docs.xilinx.com/v/u/en-US/ug1037-vivado-axi-reference-guide
或者,通过下方的链接实现 AXI Master 接口:
https://blog.csdn.net/modest_cat/article/details/130543453
https://blog.csdn.net/ningjinghai11/article/details/80596338
https://zhuanlan.zhihu.com/p/77528158
二、具体实现
仿真波形
debug 波形
扫码关注尚为网微信公众号
每天学习电路设计和嵌入式系统的专业知识,关注一波,没准就用上了。
原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/embedded/1332.html