High Definition Multimedia Interface is a widely used interface for communicating audio visual data among electronic devices. This interface introduced in 2002 by a group of 7 electronic product manufacturing companies, facilitates the communication of uncompressed video and both compressed and uncompressed audio from a HDMI source device to another complaint device such as a monitor, tv, projector, etc.
HDMI gives the advantage of transmitting high definition video, multiple channels of audio and advanced control data replacing a large number of wires which would have been in use if an older technology was used. It’s high bandwidth allows higher resolutions even as 4K and the advanced control data communication allows devices in the two ends of the communication to adjust their frame rates, resolutions and other details to match each other.
This interface consists of 29 pins and uses the EIA/CEA-861 B standard for video and supports a wide range of video resolutions and subsmapling methods including YCbCr 4:2:0, 4:2:2, 4:4:4 and RGB.
Being the de facto standard for communicating high definition video in modern day electronics, HDMI interfaces have been included in almost all the modern electronic devices which uses HD video and also in development/evaluation boards of all sorts which uses HD video. Hence most of the FPGA evaluation boards ranging from low to high price categories consist of HDMI interfaces which can be used to feed output video to pheriperal devices such as monitors and projectors.
Most of these FPGA evaluation boards consist of HDMI transmitter IC’s to transmit uncompressed digital video to the outside. For example, zynq 706 board consists of a ADV7511 IC for transmitting HDMI video. But these HDMI transmitter IC’s are required to be programmed using I2C and fed with video input that complies with a given set of guidelines.
The input video has to be consisting of the synchronization pulses such as pixel clock, horizontal syncrhonization pulse (hsync) and vertical synchronization pulse (vsync) while the resolution, frame rate and other parameters comply with the values programmed to the IC via I2C. Therefore the task of the designer often is to program the HDMI transmitter IC appropriately and shape the input video to comply with the guidelines. The exact timing details of these synchronization pulses can be extracted from the CEA-861 standard for uncompressed digital video and the formats accepted by each transmitter IC can be extracted from the datasheet of the IC.
Timing details of the video format 34 of the CEA standards for 1920x1080p video at 30 frames per second supported by the ADV7511 IC used in zynq706 and Xilinx VC707 evaluation boards is shown in the following diagram.