【FPGA设计_180110】vdma的使用

参考资料:pg020_axi_vdma.pdf


VDMA可以在内存和数据流之间做切换,从而实现一些类似于帧率切换,数据加载等功能,下面简单描述一下vdma的使用,方便后续调试。

vdma的配置界面1:



其中可以配置地址总线宽度,AXI总线数据总线宽度,读写burst  size,Stream数据总线宽度,以及linebuffer深度(手册描述的是AXI从ddr读数据会先放到line buffer,然后再发送;stream会先写到linebuffer,然后再写内存)


vdma的配置界面2:


这里可以配置产生fsync选项,genlock选项,以及是否允许非对齐传输,fsync相当于一个同步信号,有效后才会触发vdma工作;genlock是一个读写通道之间同步的机制;



下面以一个持续发起MM2S读内存,然后通过AXIS_MM2S stream接口将数据发送出去,

1.版本寄存器0x2c

2.配置MM2S控制寄存器0x00为0x8b

3.配置hsize 寄存器0x54为0x100,代表只要vdma从内存取够256byte,就会开始stream传输;

4.配置mm2s stride寄存器0x58为0x200,代表stream每发送512byte数据后,就产生一个tlast;

5.配置ddr起始地址,因为我们配置时选择3个frame buffer,故这里配置0x5c,0x60,0x64都为0x10000000,代表都从内存0x10000000取数据;

6.配置vsize寄存器0x50为0x5,代表发起5次stream传输后(每次以tlast为标志),下次再从内存取数据的话,从首地址取;


在线调试结果:





缺点:目前发现缺省配置下vdma占用LUT资源都有2k,资源不小。







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值