🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/利用蜂鸟E203搭建SoC【5】——DMA使用
利用蜂鸟E203搭建SoC【5】——DMA使用
全国大学生集成电路创新创业大赛 作者 Z 发布于 2021-06-10 20:15(1947 天前) 8253 浏览

队伍编号:CICC1842 


前文介绍了DDR3扩展,然而,对于大块数据而言,使用CPU进行搬运速度较慢,因此可以使用DMA进行数据搬运。这里会使用到前文提到的中断与DDR3。


本例中使用了Vivado提供的AXI-DMA IP,其中需要用到的寄存器如下,需要注意的是LENGTH寄存器不为0时会立刻开启传输。此外,接收端会接收到AXI Stream格式的数据,需要对AXIS数据进行逻辑处理。


寄存器名
地址偏移量
作用
MM2S_DMACR
0x0000
使能DMA功能,使能DMA中断
MM2S_DMASR
0x0004
对相应位写1,可以将中断置位
MM2S_SA
0x0018
DDR起始地址(32位)
MM2S_LENGTH
0x0028
DMA写数据长度(字节为单位)


具体连接图如下,由于本次使用的总线为50MHz,DMA时钟为50M;DDR3 ui_clk为100MHz;e203这里使用了10MHz。时钟的转换完全由AXI Interconnect进行控制,具体连接如下,DMA的中断信号连接到了irq_1上,当触发中断后会立刻将中断位置零,同时开始响应操作。


本例中还设计了axis4从设备端口,用于地址转换,向BRAM中存数据。在IDE中编程如下


通过逻辑分析仪可知,DMA可以正确传输



全部回复 3
Ricardo W.Dong
Ricardo W.Dong1323 天前 · 1 楼
回复 Z:

这个不太记得了,用的都是默认,而且这个似乎也没有交织能力,3和4没区别吧

好的,谢谢!

Z
Z1323 天前 · 2 楼
回复 Ricardo W.Dong:

您好,请问您封装的这个AXI是AXI3还是AXI4的协议接口呢

这个不太记得了,用的都是默认,而且这个似乎也没有交织能力,3和4没区别吧

Ricardo W.Dong
Ricardo W.Dong1323 天前 · 3 楼

您好,请问您封装的这个AXI是AXI3还是AXI4的协议接口呢

💡 请 登录 后参与讨论(微信扫码即登录/注册)