重点分析一、AXI_VDMA_1

之前一直认为这个就是内含有DDR的ip核(......最近才搞懂是个啥),后来经过对FDMA的分析发现这就是个框架,通AXI总线挂载到bus总线,可以实现PL端FPGA代码直接读写PS侧的DDR。

几个关键的AXI(AXIS)总线接口:

(1)、S_AXI_LITE接口:该接口收到ZYNQ核和GP总线控制,M_AXI_GP接口通过AXI-Lite总线控制VDMA的配置

(2)、M_AXIS_MM2S接口:本接口将从DDr中读取的数据发送到sobel处理ip

(3)、M_AXIS_S2MM接口:该接口接收sobel处理ip核的输出数据流

(4)、M_AXI_S2MM接口:该接口将数据输出到ZYNQ处理器,然后数据可以刷入DDR

(5)、M_AXI_MM2S接口:该接口接收来自DDR的像素数据

学习完FDMA之后,对VDMA才有了一个初步的了解,VDMA就是通过AXI(AXIS)总线挂载到总线的典型应用,M_AXI_MM2S接口接收到来自ps侧DDR的像素数据,然后通过M_AXI_MM2S将数据发送到sobel ip核,ip对图片数据进行处理后进行将数据转换为AXI_STREAM格式,可以在上一篇博文中看到,输出数据通过S_AXIS_S2MM进入VDMA,然后,由于在VDMA中设置的是三帧缓存,这三帧数据并不是在VDMA中缓存的,是在DDR中进行缓存。那么VDMA与三帧数据的关系是什么?参考FDMA中的设计,CDMA就是对输入数据设计了一个标志位flag,保证有三帧数据传送到DDR进行缓存。数据通过M_AXI_MM2S接口进入DDR。

那么,AXI_CONNECT1的作用中有一个S00_AXI的作用=是什么?可以看到该总线发出读请求,读取ps侧DDR缓存的像素数据。

其他分析二、AXI_VDMA

框架流程:就是将图像数据以二进制形式进行存储,ZYNQ通过AXI_GP接口对各个模块进行配置,将sobel处理的结构通过stream数据流发送到vdma0,再经过stream2video进行转换,将输出图像发送到HDMI核,video timing核的作用是进行时钟约束,其中HDMI的主时钟是74.25Mhz,除此之外还输入一个串转并数据时钟,为主时钟的5M:74.25*5Mhz。

复位管理单元的作用是将复位信号于时钟进行同步处理,所以主时钟连接到复位管理单元的同步时钟端,由ZYNQ产生的复位信号连接到ext_reset_in,就是extern外部复位信号输入。输出两个信号,一个信号用于专用于AXI总线互联模块,另一个用于模块以及AXI传输的复位信号。个人理解是这个peripheral_reset的作用是局部模块的复位信号,但是它好就好在与AXI_CLK同步,可以在AXI的局部传输中进行复位,AXI_CONNECT的总复位信号是interconnect_aresetn,在信号处理中,复位判断语句应该是(interconnect_aresetn||M02_ARESETN),此处的M02_ARESETN仅是用来举例,还可以是其他的复位信号

  VDMA0为什么不用设置成可写呢?

因为数据通过MM2S仅可从GP来到VDMA0,然后经过三帧缓存之后从MM2S到stream视频流输出IP, 将HDMI核需要的信号给HDMI控制器,比较关键的一点是Video Out的vtg_ce,用于暂停时序发生器以达到同步的的目的。

最新文章

  1. composer--------------通过composer.json下载laravel包----barryvdh/laravel-debugbar
  2. wxPYTHON图形化软件开发(一)---LOMO工具箱
  3. 修改hive分区表,在分区列前增加一个字段
  4. Android深度探索HAL与驱动开发 第四章 源代码下载和编译
  5. Nodejs 请求转发代理
  6. mybatis like的用法
  7. AFN网络状态的时时监控以及网络的判断、
  8. 有直接运行的runas命令,XP就有
  9. leetcode:Isomorphic Strings
  10. c语言,strcat(),字符串拼接
  11. Delphi 停靠技术的应用
  12. 蓝桥网试题 java 基础练习 十六进制转八进制
  13. iptables 初见 第一章
  14. 是否可从一个static方法内发出对非static方法的调用?
  15. 一个简单的MapReduce示例(多个MapReduce任务处理)
  16. Docker中查看Mysql数据库中的各环境参数
  17. 逻辑回归应用之Kaggle泰坦尼克之灾
  18. Linux查看使用端口的进程
  19. Centos6、7 PHP5.4 5.5 5.6安装
  20. elasticsearch聚合案例--分组、求最大值再求最大值的均值

热门文章

  1. overload(重载) 和 override(重写)的区别
  2. 【JavaScript】数组方法之基础方法
  3. Linux学习-基于CentOS7的LAMP环境实现多虚拟主机
  4. HDU 6620 Just an Old Puzzle
  5. 三、angular7登录请求和路由带参传递
  6. Qt Creator 启动失败 可能的解决办法
  7. POJ 1434 Fill the Cisterns! (模拟 or 二分)
  8. 在ubuntu12.4上安装minigui3.0.12
  9. CMD模块打包部署总结
  10. Visual Studio新增类模板修改