Overview

Starting from my first  EBAZ4205 project on August '22 I tried to get the maximum processing power from the EBAZ4205 board, using its high speed I/O, the dual core CPU and the huge number of different IP's blocks to configure the PL (Programmable Logic). 

In the 32 MHz Spectrum and SDR in an FPGA, barely completed on December '22, I managed to build a complete solution, nowadays achievable only with very much more expensive boards, but during that development I understood that the Zynq-7010 CPUs had the chance to supply an autonomous graphic interface, instead of using an external PC with some sort of graphics (in that case PyQt5).

Therefore, having the target to connect any kind of video monitor to the EBAZ4205 I examined the several options,  choosing the following one.

HDMI without HW converter

Features

Development Environment

In this hackaday project I'll describe the Vivado Project and the HDMI wirings while the Petalinux and Vitis projects are described in my associated EBAZ4205_HDMI Github Repository.

If you don't feel like to build the Vivado project and the software (Linux Kernel, Root File System and programs) now,  you can simply use my ready made SD card, insert it into the EBAZ4205 and go! See Description and Getting Started here.

HDMI interface

Before going to the schematic, you must understand a few things about HDMI. For a complete description see Wikipedia HDMI.

The main facts to me:

In this picture you can also see how to build a cheap HDMI Female wiring, simply connecting a male with a double female. A double male cable costs about 2 Euros and a double female 1.5 Euros while a cable with a female costs 10 Euros and it is very uncommon as well!

HDMI Wirings

I started from the  Digilent ZYBO schematic (at page 5) showing the wirings for an HDMI IN/OUT directly connected to the Zynq-7010 pins. 

Two aspects:

  1. On ZYBO the HDMI Type A female connector serves both In and Out (of course not at the same time) while I wanted EBAZ4205 were always a "Source". 
  2. Besides, I don't need the DDC channel and the CEC at the moment.
  3. I also got rid of 49.9 Ohm resistors, useful only as a line termination on the HDMI Sink side

Therefore I simplified the schematic in this way:

This table shows a few important things.

The +5V and HotPlugDetect lines need further details.

A very reliable HDMI wirings

Using an HDMI cable directly connected to a 20 pin EBAZ socket as in the following picture, you can obtain all these resolutions (and probably many others not implemented in my sw "colorbars")  with a 2 meters HDMI cable connected to a standard TV or HDMI monitor.

1 - 640x480@60Hz

2 - 800x600@60Hz
3 - 1280x720@60Hz
4 - 1280x720@50Hz
5 - 1280x1024@60Hz
6 - 1920x1080@60Hz
7 - 1920x1080@30Hz
8 - 1920x1080@25Hz

pixel frequency up to 148 MHz (option 6)