使用PYNQ-Z2的HDMI RX/TX实现HDMI直通
扫描二维码
随时随地手机看文章
介绍
上一篇文章讨论了使用PYNQ-Z2 TX输出TPG的colorbar函数。在本文中,我们将使用PYNQ-Z2的HDMI RX/TX实现HDMI直通,并在内部将信号转换为axi4流格式,以便将来更容易进行图像处理。
关于先决条件—下载PYNQ-Z2开发板信息、设置XDC和配置ip—请参考上一篇文章。在本文中,我们直接从Vivado块设计开始。
注意:本文中使用的IP版本与前一个略有不同。
Vivado街区设计
•ZYNQ7处理系统
首先,设置ZYNQ7处理系统并运行“运行块自动化”-默认设置是足够的。
接下来,添加RGB到DVI视频编码器和DVI到RGB视频解码器,并分别配置它们。
•RGB到DVI视频编码器
对于HDMI TX功能,串行时钟由内部像素时钟生成,并配置为1080p。
•DVI到RGB视频解码器
DDC ROM提供预设分辨率选项,特别是下面列出的四种分辨率,我们也选择1080p。
•时钟向导
由于DVI到RGB视频解码器的反射需要200MHz,我们使用时钟向导配置了200MHz输出。
IP连接
接下来,我们可以进行各种IP核的初步连接和输入/输出端口的配置。
约束是根据设计中的端口名称设置的,由于我们配置的是1080p,所以TMDS_clk_p必须另外设置为1/148.5MHz = 6.734ns。
接下来,创建HDL包装器和生成比特流,然后对设备进行编程。
注意:PYNQ Z2有两个JTAG模式。上面的JTAG模式用于通过Vitis编程flash,下面的JTAG模式用于通过Vivado编程。
结果
如果你没有在XDC中包含以下内容:
输出将显示以下问题。
Vivado块设计-添加AXI4-Stream相关IP
接下来,我们将添加相关的AXI4-Stream IP,将RGB-to-DVI转换为AXI4-Stream,然后再转换回DVI输出。在此过程中,TPG和VDMA将被合并来验证图像传递过程。
•视频进入到axi4流
•axi4 -流到视频输出
•视频定时控制器
我们可以先把所有东西连接起来,看看图像是否通过。
IP连接
在连接相关时钟和视频流之后,其余的可以通过运行连接自动化来处理。
上述设计通过Vivado编程到设备上也可以实现直通功能。
增加视频测试模式发生器(TPG)和视频直接存储器访问(VDMA)
•视频测试模式发生器
•视频直接存储器访问
流数据宽度(自动)自动检测输入数据的宽度,因此不需要手动配置。
•AXI智能互联
•ZYNQ7处理系统
IP连接
在连接相关时钟和视频流之后,其余的可以通过运行连接自动化来处理。
点击“Validate Design”自动分配IP地址。
在运行合成、实现和比特流过程之后,您可以将XSA导出到Vitis以进行进一步开发。
Vitis开发流程
如果需要构建说明,请参阅关于Vitis的上一篇文章。
初始化TPG
配置TPG
重置VDMA
配置VDMA
完整代码
构建应用程序并将其编程到PYNQ-Z2板上。一旦闪过,您将看到操作的结果。
注意:如果您将PYNQ Z2与其他显示器一起连接到计算机主板,建议首先将计算机的多显示器显示模式设置为同步(镜像)显示。
本文编译自hackster.io