VESA Display Data Channel
VESA Display Data Channel (w skrócie DDC) – standard VESA definiujący sposób komunikacji karty graficznej z urządzeniem wyświetlającym (monitorem, LCD): określa parametry elektryczne, jak również interfejs programisty. Pierwsza wersja standardu została ogłoszona w 1994 roku, poprawiona – oznaczona numerem 1.1 – w roku 1999. Przed ogłoszeniem tego standardu nie istniał żaden inny (powszechny), który definiowałby podobną funkcjonalność.
Główna idea jest taka, że producent monitora w pamięci ROM zapisuje parametry monitora, które można odczytać programowo. Informacje udostępniane przez monitor pozwalają określić m.in. fizyczne rozmiary monitora, maksymalną częstotliwość odchylania poziomego i pionowego, punkt bieli.
Dodatkowy standard DDC/CI (Command Interface) umożliwia programowe sterowanie monitora, tzn. wysyłanie rozkazów, które mogą powodować np. zmianę jasności, kontrastu, czy rozmiaru obrazu.
Komunikacja z monitorem zrealizowana została za pomocą szeregowego interfejsu I²C (wprowadzonego przez firmę Philips). Istnieją trzy wersje DDC:
- DDC1 – port I²C jest jednokierunkowy, dane spływają z monitora do karty,
- DDC2B – port I²C jest jednokierunkowy, dane spływają z monitora do karty,
- DDC2AB – port I²C jest dwukierunkowy, możliwa jest komunikacja w obie strony.
Do elektrycznego połączenia potrzebne są 3 linie dla: danych, zegara oraz masy. W złączu VGA wykorzystano nieużywane linie, dla danych jest to pin 12, natomiast dla zegara pin 15.
Format w jakim dane są zapisane jest ustandaryzowany, nazywa się EDID ang. Extended Display Identification Data. Dane są przesyłane w blokach po 128 bitów (standardy EDID 1.0-1.3) lub 256 bitów (standard EDID 2.0).
Dostęp programowy zrealizowano jako rozszerzenie przerwania programowego 10h zdefiniowanego w VGA BIOS. Chociaż DDC jest związany ze standardem VESA BIOS Extension, to możliwa jest implementacja DDC, nawet jeśli karta nie obsługuje VBE.