zynq系列之-----video进出VDMA+读写ddr验证

一 、使用的工具:

vivado 2021.2及其配套的软件

二、使用到的ip
        1、video in to axi4_stream ip

        2、两个vdma IP

        3、zynq ip

        4、axi4_stream to video out ip

        5、vtc ip

三、注意点

这里使用的ps测ddr。这里输入输出的是vesa标准的1080P视频内容.

这里的视频是4lane的,即一个时钟有4个像素。

转载:video进出VDMA+读写ddr验证_hhh_fpga的博客-CSDN博客

四、设计思想

五、BD设计

六、vitis代码中vdma的设计:因为此设计只需要编写vdma的代码就可以了。

Xil_Out32((VDMA_BASEADDR0 + 0x030), 0x03);//使能循环模式
    Xil_Out32((VDMA_BASEADDR0 + 0x0AC), VIDEO_BASEADDR0);//帧存0地址
    Xil_Out32((VDMA_BASEADDR0 + 0x0B0), VIDEO_BASEADDR1);//帧存1地址
    Xil_Out32((VDMA_BASEADDR0 + 0x0B4), VIDEO_BASEADDR2);//帧存2地址

    Xil_Out32((VDMA_BASEADDR0 + 0x0A8), (H_STRIDE*3));   //跨度设置(1920 * 3) bytes
    Xil_Out32((VDMA_BASEADDR0 + 0x0A4), (H_ACTIVE*3));   //行宽设置(1920* 3) bytes

    Xil_Out32((VDMA_BASEADDR0 + 0x0A0), V_ACTIVE);       //行数设置(1080)

    /*****************从 DDR 读数据设置**********************/

    Xil_Out32((VDMA_BASEADDR1 + 0x000), 0x03); // enable circular mode
    Xil_Out32((VDMA_BASEADDR1 + 0x05c), VIDEO_BASEADDR0); // start address
    Xil_Out32((VDMA_BASEADDR1 + 0x060), VIDEO_BASEADDR1); // start address
    Xil_Out32((VDMA_BASEADDR1 + 0x064), VIDEO_BASEADDR2); // start address
    Xil_Out32((VDMA_BASEADDR1 + 0x058), (H_STRIDE*3)); // h offset (1920 * 3) bytes
    Xil_Out32((VDMA_BASEADDR1 + 0x054), (H_ACTIVE*3)); // h size (1920 * 3) bytes
    Xil_Out32((VDMA_BASEADDR1 + 0x050), V_ACTIVE); // v size (1080)

七、各ip的设置:

Video in to AXI4-stream: 

VDMA:写

 VDMA:读

VTC:因为4lane

 

 AXI4-Stream to Video Out:

 八、ILA在线逻辑分析仪验证的信号:

1、Video in to AXI4-stream输出的视频内容:

USER:每一帧的第一个像素:

 TLAST:每一行的最后一个像素:

 2、VDMA ddr: 8bit占用一个地址。

1920*1080*24bit的一帧占用地址是:1920*1080*24/8=6220800=0x5E_EC00

M_AXI_S2MM:写ddr接口:位宽从96-->128bit

第一帧的首地址:0x1000_0000

最后一个地址:0X105E_E800: 

第二帧:

第二帧的首地址:0x2000_0000

 

最后一个地址:0X205E_E800: 

第三帧:

第三帧的首地址:0x3000_0000 

 最后一个地址:0X305E_E800:

3、VDMA 读ddr

由于它是这种,把读地址用先缓存的方式,这不利于我们用逻辑分析仪捕捉正确地址的内容,所以这里直接捕捉VDMA与video out模块的视频时序 

4、VDMA输出video stream

TUSER:每一帧的第一个像素:

 TLAST:每一行的最后一个像素:

 5、AXI4-Stream to Video Out,输出的视频时序和内容:

时序和内容:

H_ACTIVE = 1920 /4=480; H_TOTAL = 2200/4=550

V_ACTIVE = 1080 ; V_TOTAL = 1125

第一帧的第一个像素:

每一行的第一个像素:

每一行的最后一个像素:

 6、VTC:输出的时序验证:

H_ACTIVE = 1920 /4=480; H_TOTAL = 2200/4=550

 V_ACTIVE = 1080 ; V_TOTAL = 1125

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: UG585-Zynq-7000-TRM是一份关于Xilinx Zynq-7000 SoC处理器的技术参考手册。Zynq-7000 SoC处理器是一款配备ARM Cortex-A9双核处理器和Xilinx可编程逻辑部分(PL)的可扩展平台,旨在为嵌入式系统开发者提供卓越的灵活性和可编程性。 TRM代表Technical Reference Manual(技术参考手册),其中包含了该处理器的体系结构和功能特性的详细描述,包括处理器内部的各种模块、外设、总线结构等等。该手册的主要目的是为开发者提供全面的指导和支持,从而加速其系统设计和开发应用,减少错误和风险。 UG585-Zynq-7000-TRM手册的内容包括Zynq-7000的基本特征、处理器硬件和软件架构、可编程逻辑PL和PS之间的通信、外设接口和寄存器映射、中断控制等内容。开发者可以根据手册中的详细说明,了解Zynq-7000的构成和功能,从而基于此设计和实现自己的应用。 总之,UG585-Zynq-7000-TRM手册是一份非常重要的技术参考资料,为开发者提供全面的指导和支持,促进了Zynq-7000处理器的应用和拓展,也为未来的嵌入式系统设计提供了参考和借鉴。 ### 回答2: UG585是Xilinx公司发布的Zynq-7000系列技术手册,全称为“Zynq-7000 All Programmable SoC Technical Reference Manual”。Zynq-7000系列是Xilinx公司推出的一款功能强大的FPGA芯片,集成了双核ARM Cortex-A9处理器和可编程逻辑资源,支持高性能中间件、操作系统和外围设备的支持。该手册详细介绍了Zynq-7000系列SoC的架构、功能、性能、测试和验证、软件和硬件开发等方面的知识。他对于学习、使用和开发Zynq-7000 SoC具有非常重要的意义,使得开发人员能够深入了解这个芯片的细节,掌握它的特性和功能,以便更加高效地使用它进行开发。如果你想要学习和使用Zynq-7000 SoC,UG585是一个非常重要的参考文献,值得认真阅和研究。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值