相关代码:附件2

1. 软件平台

vivado2019.1web

2. 硬件平台

PYNQ_Z2

3. 具体操作流程

3.1 新建一个工程

新建立一个工程hdmi_vdma

create BD

如果不想手动连线请转到此处:利用tcl命令设计(建议使用Tcl方式)
add zynq - IP

run block automation

配置PYNQ参数,使能HP0口,用于VDMA快速读取DDR3

配置时钟,FCLK_CLK0配置为100Mhz,FCLK_CLK1配置为142MHz,这个时钟用于VDMA

配置中断,使能IRQ_F2P,用于接收PL的中断响应信号


因为使用了boardfile,bu不需要做其他配置,点击OK


添加VDMA IP

配置DMA参数


配置advanced参数,然后点击OK

添加视频时序控制器

配置视频时序控制器参数,取消Enable Detection

add AXI4-stream to video out

配置AXI-stream to video out参数(clock,timing mode)

添加自定义的IP(附件)
点击 IP Catalog然后在空白处右击,点击add respository


选择select->ok

然后添加时钟控制器

添加 HDMI编码器

设置编码器参数,如下(可能不需要修改)

点击regenerate layout (重新布局)


手动连接时钟信号
FCLK_CLK1

连接clk。。。

连接serialclk

连接aRst_n

连接一些数据传输通道信号

add concat IP用于连接中断信号

连接中断信号

点击Run connection Automation,选择所有模块自动连接
完成所有连线


再一次
#regenerate layout
regenerate_bd_layout

导出端口


按F6检查设计,无误后,create HDL wrapper


添加HDMI输出的xdc文件,约束管脚


#hdmi_out
set_property -dict { PACKAGE_PIN L17 IOSTANDARD TMDS_33 } [get_ports { TMDS_Clk_n_0 }]; #IO_L11N_T1_SRCC_35 Sch=hdmi_tx_clk_n
set_property -dict { PACKAGE_PIN L16 IOSTANDARD TMDS_33 } [get_ports { TMDS_Clk_p_0 }]; #IO_L11P_T1_SRCC_35 Sch=hdmi_tx_clk_pset_property -dict { PACKAGE_PIN K18 IOSTANDARD TMDS_33 } [get_ports { TMDS_Data_n_0[0] }]; #IO_L12N_T1_MRCC_35 Sch=hdmi_tx_d_n[0]
set_property -dict { PACKAGE_PIN K17 IOSTANDARD TMDS_33 } [get_ports { TMDS_Data_p_0[0] }]; #IO_L12P_T1_MRCC_35 Sch=hdmi_tx_d_p[0]
set_property -dict { PACKAGE_PIN J19 IOSTANDARD TMDS_33 } [get_ports { TMDS_Data_n_0[1] }]; #IO_L10N_T1_AD11N_35 Sch=hdmi_tx_d_n[1]
set_property -dict { PACKAGE_PIN K19 IOSTANDARD TMDS_33 } [get_ports { TMDS_Data_p_0[1] }]; #IO_L10P_T1_AD11P_35 Sch=hdmi_tx_d_p[1]
set_property -dict { PACKAGE_PIN H18 IOSTANDARD TMDS_33 } [get_ports { TMDS_Data_n_0[2] }]; #IO_L14N_T2_AD4N_SRCC_35 Sch=hdmi_tx_d_n[2]
set_property -dict { PACKAGE_PIN J18 IOSTANDARD TMDS_33 } [get_ports { TMDS_Data_p_0[2] }]; #IO_L14P_T2_AD4P_SRCC_35 Sch=hdmi_tx_d_p[2]set_property -dict { PACKAGE_PIN R19   IOSTANDARD LVCMOS33 } [get_ports { oen_0 }]; #IO_0_34 Sch=hdmi_tx_hpdn

生成bitstream



number of jobs与电脑CPU有关,数量越多跑的越快
编译时间与电脑性能有关,现在你可以去歇会了,等待编译完成吧
…(等待着。。。半个小时了还没编译完成)

编译完成后,
file->export hardware->include bitstream->ok
file->luanch SDK
下面的操作参考
https://blog.csdn.net/qq_42263796/article/details/101828046
SDK部分的src部分代码将放在附件2
显示字母、符号、以及数字的库文件可以参考LCD屏幕的写法
或者下载附件2
附件2
最终图像显示效果如下

Pynq_Z2-hdmi输出图像、文字流程(VDMA)相关推荐

  1. ZYNQ-IO模拟HDMI输出图像

    开发软件:Vivado 2018.3 开发板:PYNQ-Z2 IP核:rgb2dvi(Digilent官方) 我一直想使用FPGA开发图像处理算法,在学习图像处理前要学会如何显示图像.我使用的开发板是 ...

  2. Android HDMI输出设置流程

    Android的Surface系统定义了一个DisplayType的枚举,其中有代表手机屏幕的DISPLAY_PRIMARY和代表HDMI等外接设备的DISPLAY_EXTERNAL,还有用于Wi-F ...

  3. HDMI原理详解以及时序流程(视频是三对差分信号,音频Audio是PCM级(无压缩)传输,包含在数据包内,依靠协议规定采样)HDMI可以传输RGB与YUV两种格式

    资料来源:HDMI介绍与流程 - TaigaComplex - 博客园 最近要用ZYNQ开发版的HDMI做显示,看着硬件管脚和例程只能发呆,于是决心去弄清楚HDMI的工作原理,查找了很多资料,都是碎片 ...

  4. 【正点原子FPGA连载】第二十四章HDMI彩条显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  5. android 480p分辨率,[RK3399][Android7.1] HDMI显示屏(副屏)调试记录小结

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 驱动文件: dw-hdmi.c: HDMI驱动,包括内部I2C接口实现. drm_edid.c: ed ...

  6. 嵌入式应用-详解移植并使用freetype显示文字

    目录 前言 1. freetype和相关概念简介 2.freetype显示文字流程和主要函数 2.1 包含头文件及API头文件:ft2build.h 2.2 初始化: FT_InitFreetype ...

  7. kernel下HDMI调试记录

    目录 平台环境及验证工具 1.1 软件环境 1.2 硬件环境 libdrm 移植 DRM 组件探测 HDMI图像显示调试流程 4.1 故障定位过程 4.1.1 modetest 匹配 connecto ...

  8. 转载: HDMI 基础知识

    转自:http://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多媒 ...

  9. PYNQ-Z2 HDMI输出图形实验

    在本文中作者使用Xilinx的IP搭建一个HDMI输出图形的平台.在这个平台上设计目标是输出800*600像素的图像,本实验没有使用DDR缓存图像数据.本次实验使用到的工具: 开发板:PYNQ-Z2: ...

最新文章

  1. 学界丨北大清华合力打造通用人工智能实验班,朱松纯教授领衔
  2. 2017年11月01日普及组 I Liked Matrix!
  3. (转)java datetime date 类型
  4. Android编译笔记四
  5. openstack密钥对_您对OpenStack了解多少?
  6. 冲锋衣和羽绒服哪个保暖?
  7. ubuntu 16.04无法正常关机、重启
  8. layui上传文件限制选择文件类型 upload.render
  9. Windows 启动 Idea 报错 if you already hava a 64-bit JDK ... 以及 failed to create jvm...
  10. 如何下载秦皇岛市卫星地图高清版大图
  11. 495. Teemo Attacking(提莫攻击)
  12. 电脑如何分盘win10_Win10电脑如何刻录光盘?利用win10自带刻录工具来刻录DVD光盘教程...
  13. 健身的基本知识(1)
  14. iOS 如何判断静音开关是否打开
  15. html5把六张图片做成立方体,一篇文章教会你利用html5和css3实现3D立方体效果图...
  16. 3D可视化信息管理平台让运维管理更高效率!
  17. 手把手教学使用Halo搭建自己的博客网站
  18. 酒精测试仪检测方法分析
  19. IT风云15年的那些人、那些事
  20. 【Java编程】遗传算法简介与简单二进制编码计算

热门文章

  1. ArcGIS基础实验操作100例--实验79分区统计降雨量
  2. 计算机带不起大型游戏怎么回事,电脑带不动原神怎么办
  3. 如何复现论文?什么是论文复现?
  4. 即简单又漂亮的思维导图怎样绘制
  5. Lyapunov稳定性分析2(连续时间系统)
  6. axios下载图片 node_nodejs axios 下载文件
  7. 第十三届恩智浦智能车平衡组
  8. 【Mac新手必看】苹果macOS桌面壁纸设置技巧
  9. innoDB可重复读级别是否可以隔离幻行读
  10. java app 图标_App 更换应用图标