Xilinx AXI Central Direct Memory Access (CDMA)笔记

CDMA:Central Direct Memory Access,IP核内部框架如下:
从框架图可以看出:
S_AXI-Lite接口用来配置CDMA内部的寄存器,M_AXI接口用来搬运数据,M_AXI_SG接口一般与Bram连接,用来存储描述符。cdma_introut表示中断输出,一般用于DMA传输完成标志。
s_axi_lite_aclk时钟应该小于等于m_axi_aclk。
s_axi_lite_aresetn低电平复位,复位应该至少保持16个时钟周期内核才会对复位生效,且必须与s_axi_lite_aclk时钟同步。


寄存器地址采用小端模式,地址的[1:0]必须为0。地址空间偏移量与C_BASEADDR分配有关,寄存器配置通过S_AXI_LITE接口控制
重点关注的几个地址:
0x00:CDMA控制寄存器,bit[2]:复位bit位,bit[3]:SGMod,bit[6]:BD循环使能开关,bit[12]:DMA完成产生中断标志
0x04:CDMA状态寄存器,bit[1]:Idle,1表示Idle,0表示Not Idle
0x08:当前描述符指针,[31:6]R/W,[5:0]Reserved,SG模式下可用,CDMACR.IDLE = 1时写入,写入此字段的
描述符地址必须对齐到64字节边界(8个64bit),示例是0x00,0x40,0x80
0x10:末尾描述符指针,[31:6]R/W,[5:0]Reserved,SG模式下可用,CDMACR.IDLE = 1时写入,写入该寄存器会启动SG模式DMA传输
0x18:取数的源地址,[31:0]R/W,Simple模式下可用,CDMACR.IDLE = 1时写入
0x20:送往目的地的地址,[31:0]R/W,Simple模式下可用,CDMACR.IDLE = 1时写入
0x28:要转移的字节数,[25:0]R/W,[31:26]Reserved,Simple模式下可用,CDMACR.IDLE = 1时写入,写入BTT寄存器会启动Simple模式DMA传输,不允许值为零(0),会导致DMA内部错误

Simple DMA 模式操作步骤:
在此模式下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值