HDMI

HDMI am FPGA

HDMI ist immer wieder ein Thema für FPGAs. Gerade bei der schnellen und verzögerungsarmen Verarbeitung von Videosignalen ist ein FPGA perfekt geeignet. Da es bei dem Thema diverse Stolperstellen gibt, möchte ich eine erste Einführung in dieses Thema geben und in weiteren Blogposts zeigen, wie sich HDMI Signale an ein FPGA anbinden lassen.

 

Stolperstellen

Signalstandard

Der Standard für HDMI ist TMDS. Das Kürzel steht für Transition-Minimized Differential Signaling. Es ähnelt dem LVDS-Signal, doch gibt es hier eine Spezialität: Die Terminierung werden nicht zwischen den Signale mit 100Ω durchgeführt, sondern am Empfänger zwischen Signalleitung und Versorgungsspannung mit 50Ω.
 

Spannungspegel

Wichtig bei der Auslegung der Schaltungen ist, dass die I2C-Signale mit 5V Pegel betrieben werden.
 

Hotplugsignal

Der Sender erwartet vom Empfänger ein Hotplug-Signal, damit überhaupt eine Signalübertragung stattfindet.
 

Deserialisierung

HDMI setzt auf TMDS als Signalstandard und dieser hat einen 10-fach langsameren Takt und somit eine 10:1 Serialisierung bzw. 1:10 Deserialisierung.
 
 

Erklärung

Signalstandard

Im FPGA kann diese Terminierung im Normalfall nicht durchgeführt werden. Dadurch muss dieses Signal außerhalb des FPGAs terminiert werden. Es sind Widerstände von 50Ω gegen die 3,3V Spannung zu schalten. Der Sender hat Stromsenken gegen Masse verbaut.
 

Spannungspegel

Ein FPGA kann ein 5V Signal nicht verarbeiten, so dass diese I2C-Signale vorher durch einen Pegelwandler gewandelt werden müssen. Weiterhin hat auch das Hotplugsignal ein 5V Pegel.
 

Hotplugsignal

Das Hotplugsignal kann passiv über Widerstände oder aktiv über das FPGA-Signal gesteuert werden. Der Sender kann damit getriggert werden, die EDID Daten neu einzulesen.
 

Deserialisierung

Der Standard TMDS benutzt eine 8Bit/10Bit Wandlung, um durch Veränderung der Werte eine Minimierung der Signalübergänge zu erzeugen und damit die EMV-Abstrahlung zu verringern. Im FPGA ist demnach zuerst eine 1:10 Deserialisierung erforderlich und anschließend eine 10Bit/8Bit Wandlung.
 
 

Zusammenfassung

Dieser Blogpost ist eine erste Einführung in das Thema HDMI. In weiteren Blogposts werde ich über die Technik hinter HDMI und der Umsetzung im FPGA berichten.
Falls schon jetzt Fragen sein sollten, dann bitte eine Mail schicken an: David@ib-dck.de