ZYBO HDMI和VGA接口小记

ZYBO的视频接口既有VGA又有HDMI,但是这两个接口又有一定的联系,经过一段时间使用发现这个问题,在这里记录一下。

最开始发现这个问题是因为使用diligent官网上的linaro ubuntu例程的时候,发现EDK工程下没有VGA相关的引脚说明(但是有HDMI相关引脚),但是实际上启动后是VGA输出图像而HDMI没有。这个我就很奇怪,发邮件询问了diligent的技术服务,那边给的回复是这里linaro ubuntu例程里面HDMI引脚是接到VGA引脚上的,仔细查了一下板图和ucf约束文件发现确实如此。汗。。这里ZYBO的linaro ubuntu的例程是完全移植zedboard的,而zedboard是有专门的HDMI驱动芯片的,而ZYBO没有。这时候我仔细查看了HMDI的核以及输出的引脚以及ZYBO的板图,发现事情原来是这样的。

首先对于VGA接口,这是一个模拟接口,其管脚定义如下:


其实主要5个信号,行场同步,还有RGB模拟信号。其余接地即可。ZYBO的板图VGA的接口是这样的:

ZYBO HDMI和VGA接口小记_第1张图片

看以看到这里直接用电阻做了DAC的功能实现了数模转换,而在EDK工程中HDMI_TX的这个核输出的就是数字化的VGA信号(有行场同步,以及RGB的数字信号),因此将HDMI核的输出直接接到了VGA的引脚上就可以使得VGA正常输出。


那么ZYBO的HDMI接口应当如何使用呢?首先HDMI的管脚定义和ZYBO HDMI相关的板图如下:

ZYBO HDMI和VGA接口小记_第2张图片

ZYBO HDMI和VGA接口小记_第3张图片

HDMI是纯数字传输,我们看下来其数字信号是通过差分线传输的,数据位只有3bit,此外还有一些控制信号,包括可以看到一个I2C的控制信号。

这里HDMI实际是通过两个核来驱动的,这里我找到了diligent官网上给出的一个zybo_base_system的例程,其中ISE工程是14.7的暂时打不开,查看其mhs源代码,发现有两个核驱动HDMI输出,一个是dispctrl,这个核输出就是数字VGA信号,可以直接驱动VGA,再有就是一个hdmi_tx,这个核将dispctrl输出的数字VGA信号转成HDMI接口的数据格式。由于这个EDK工程暂时无法打开,所以看不到其资源的占用情况,但是估计下来要占zynq-7010的一半以上的资源了。所以ZYBO的HDMI和VGA输出还是不那么划算的,如果用linux开发最好还是通过ssh或者uart进行无视频输出的控制。除非要做视频或者图像处理否则还是不要有视频输出了。

你可能感兴趣的:(ZYBO,ZYBO,Xilinx)