HDMI TX is Up!

A project log for eeColor Color3

Reverse engineering the Color3

Tom VerbeureTom Verbeure 04/15/2018 at 23:330 Comments

(Also published here.)

Huge progress: I now have a design that sends a test image over HDMI to a monitor, which then correctly decodes the image!

The image in the video is only 640x480@60Hz (scaled up by the monitor.)

 A number of things had to come together for this:

Though there were no real head-scratching road blocks, it took a while for everything to work. Especially the I2C configuration part. 

Once I had the 9136 talking back to me, it was smooth sailing. I'm programming out with the same values that are programmed by the example design in the Terasic HDMI FMC board. That mostly configures up format transformation settings, but no resolution or video timings: the 9136 derives those from the input signal.

I'm assuming that I'm using single clock mode (as opposed to DDR or double clocking). The output clock sent to the device is simply the internal clock that I use to generate the test image. There is no control over setup or hold on the IOs. Once I upgrade to faster timings (right now, the pixel clock is only 25MHz), that may require some extra attention.

Next step: the HDMI receiver? Since there is no simply example design, that will require a lot more work, reading the Linux driver code for the SiI9233 etc.