ZCU102 Standalone 显示接口(Displayport/HDMI)血泪调试史

一、需求

        项目需要展示FPGA处理后的图像,因此得使用板载的接口接显示器进行显示。此前曾经在ZCU102上用SD卡烧录过Ubuntu桌面系统,并且成功显示。但是,在zynq上编译linux镜像的过程太麻烦,而且经常莫名其妙报错,实在不方便调试。因此尝试使用SDK的example工程进行Standalone的显示驱动调试,初衷就是为了减少工作量。

        事后发现,即使用standalone的显示驱动,依然需要踩很多坑。本篇博文将调试的过程详细列举出来,一方面方便以后的复用,另一方面也为其他使用ZCU102的同志提供参考。

二、总览

        根据ZCU102板子的资料,板子具备HDMI和Displayport两种硬件接口,分别分布在下图的右边倒数第五个和倒数第三个。

        本博文中使用的vivado版本为2019.1。ZCU102的板子版本为rev1.1,由于rev1.1的ZCU102更换了DDR的型号,因此在进行block design的zynq核配置时,必须修改DDR的设置,否则PS端就会罢工。这里放一下正确的DDR配置图,红框中的是修改后的正确参数。(坑点1)

三、调试过程

1.HDMI接口调试

        1.1连出信号的方式(不可行)

        由于PS内部没有集成HDMI控制器,因此第一个想法是在PL端的block design中接出HDMI的TMDS信号(参考正点原子的DFZU2EG_4EV MPSoC 之嵌入式 VITIS 开发指南),然后将信号通管脚约束绑定到板载HDMI的硬件接口上。通过查阅ug1182,找到了ZCU102的HDMI接口对应的TMDS管脚,如下图所示。然而,将对应的管脚号与PL端信号绑定并进行vivado综合时,一直报错说没有指定管脚电压。

        于是,进一步查阅表格发现,这些信号的电压不是传统的LVCMOS33或者LVDS之类,而是备注为U1 MGT,且没有提供具体的电压(I/O standards do not apply),如下图所示。去网上查了一下资料,发现ZCU系列的板子的HDMI口是使用了高速收发器(GTH/GTY)之类的接口标准,该类接口比较复杂,需要专用的IP核处理,无法用一般的信号连出方式进行驱动。因此,放弃了这种连出信号的方式。(坑点2)

        1.2通过HDMI 1.4/2.0 Transimitter Subsystem配置的方式(可行但复杂)

       

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值