打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SOC从此开始,初探ZYNQ的DMA传输

很久都没有写文章了,一直想写一篇关于SOC的文章,始终没有想好到底该写什么。

如果说写个串口显示的  “Hello World!”,那就太简单了!

正好最近在弄ZYNQ的SOC图像处理,用到了DMA传输,便决定来写第一篇关于SOC的文章,用第一篇文章来简单的介绍一下DMA传输。

当然,这里还是解释一下什么是DMA,全称Direct Memory Access,直接内存存取。它是一种几乎不需要CPU干预的一种内存访问方式,当然这里的内存指的是DDR3。

ZYNQ的PL和PS进行DMA传输时,使用到的是High Performance AXI4 32bit/64bit Slave Ports。

在进行DMA传输时,使用到的是AXI4协议。当然AXI4协议也有很多种,在我们使用Vivado创建自定义IP的时候就可以看到接口类型有:Lite、Full、Strem这三种。

在进行DMA传输时,使用的是Full这个接口类型。该接口支持突发方式的读写模式。

Lite类型,是不支持突发模式的,一般应用场景在于PS对某些寄存器的配置,传输少量的数据信息。

Stream类型,也是一种大数据量的传输接口,但是它没有相关的读写地址接口,是一种数据流模式的传输方式。在Xilinx的很多IP Core中,都有这个接口的身影。

好了,废话不多说了。我们来看一下演示的这个例子。

首先,我们在PS端向DDR3中写入了640*480个16bit的数据,来模拟一幅图像的数据量。

当然,这里产生的数据,大家应该可以看出,模拟的图像,是3个彩条。

运行之后,也可以查看到DDR3中已经写入了我们想要的数据。

在DMA读模块工作之后,可以看到显示上也显示了彩条。

是的,效果实现了,那DMA传输它到底是怎么工作的呢?

先来看一下SOC的硬件框架,也就是Block Design的框架。

Master_AXI4_VGA_0这个模块,集成了DMA读和写的功能,VGA显示的画面,就是该模块通过DMA读操作,读取到了DDR3中的数据。

这是通过ILA抓取到的DMA读操作波形图,图中可以看到读出的数据为32'hF800F800,这是因为HP AIX4接口使用的是32bit,而且设置的突发长度为16。

当然这个只是DMA的读操作,下边来说一下DMA的写操作。

DMA写操作,在外部有一个写数据的测试模块write_test_0,该模块产生递增的写数据。

这是通过ILA抓到的与DMA写操作相关的信号,将写入的数据放大一点来看,是按照32‘h00000001,32'h00020003这样的数据拼起来的。

那我们再在SDK中看一下DDR3中的数据是怎么样的呢?

数据也是按照这种格式排列的,当然这里看到的数据与ILA中抓到的数据不一样,是因为咱们不是在同一时刻抓取的。

最后再来看一下VGA显示上显示的效果。

当然,通过VGA的效果,我也不知道这个效果是不是递增数展现的一个效果,但可以说明,DMA读和写的功能是已经实现了的。

总结一下,这篇文章只是简单的给大家介绍了DMA的工作过程,至于AXI4的时序关系,因为网上已经有太多的资料了,故没有作太多的介绍。

DMA的读和写功能已经实现了,然后再在目前的这个硬件平台上挂上一个摄像头,实现SOC的摄像头显示系统也不是难事了。

基于SOC的摄像头显示系统完成了,摄像头的数据能正确的写入到DDR3中,之后便可以在PS端做其他的图像处理算法,做基于深度学习的人脸检测等其他高深的应用。

欢迎通信工程师和FPGA工程师关注公众号

FPGA微信技术群

欢迎大家加入全国FPGA微信技术群,这里有一群热爱技术的工程师,在这里可以一起交流讨论技术!

用手指按住就可以加入FPGA全国技术群哦

FPGA技术群平台自营:Xilinx Altera 镁光、三星、海力士、ADI TI ST NXP 等品牌的优势代理分销商,欢迎大家有需求随时发型号清单,我们将在第一时间为您提供最优竞争力的报价!价格低于您原有供应商5%以上!欢迎询价-直接把需求发给群主!

FPGA技术群官方鸣谢品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
基于Zynq平台PCIE高速数据接口的设计与实现
浅谈Xilinx ZYNQ-7000平台的应用【文尾有福利】
【学术论文】激光点云解算的软硬件协同设计与实现
小判官教你零基础学习ZYNQ+SOC+Linux开发,内含资料下载
基于SRIO协议的板级芯片互联技术
pcie总线授时卡的使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服