- Marco
L'EDID: il misterioso linguaggio dei display.
Tutti noi, maneggiando segnali video, ci siamo imbattuti in problemi legati a questo fantomatico EDID. Questa breve guida vuole spiegare brevemente cos'è questo EDID e come lavora. Alcune volte, complicandoci la vita.
Che cosa è l’EDID ?
Innanzi tutto EDID è l'acronimo di Extended Display Identification Data. Lo scambio dei dati EDID è il metodo usato da un display per comunicare le proprie capacità e caratteristiche a un dispositivo di origine. Questa comunicazioni è necessaria per far trasmettere le funzioni operative (come la risoluzione nativa, frequenza…), dalla sorgente collegata e quindi, consentire di generare le caratteristiche video necessarie per soddisfare le esigenze del display. Questo massimizza la compatibilità tra i dispositivi senza richiedere all'utente di configurarli manualmente, riducendo così il pericolo di impostazioni e regolazioni non corrette che potrebbero compromettere la qualità delle immagini visualizzate e l'affidabilità complessiva del sistema.
Dove è utilizzato EDID ?
Il dispositivo di origine che dialoga con un display/TV/Monitor/Proiettore può essere una scheda grafica su un PC desktop o laptop, un ricevitore DVB-T / DVB-S, DVR, un lettore DVD e Blu-ray Disc, una console di gioco… ed è questo che legge i dati contenuti nell’EDID per generare il segnale video richiesto. Originariamente l’EDID fu sviluppato per l'utilizzo tra dispositivi analogici come computer - monitor con connessioni VGA: ora ce lo ritroviamo implementato nel DVI, HDMI e DisplayPort e tutte le connessioni digitali video.
Storia
Lo standard EDID fu sviluppato da VESA - (Video Electronics Standard Association). La versione 1.0 fu introdotta nel 1994 all'interno della versione 1.0 dello standard DDC (Display Data Channel DDC = è lo standard VESA che descrive una connessione fisica fra un display e una scheda video).
Prima dello sviluppo dell’EDID, i pin 4, 11, 12 e 15 del connettore VGA erano utilizzati talvolta per definire le caratteristiche del monitor. Questi pin “bit ID” potevano avere valori logici alti o bassi per definire le diverse risoluzioni dello schermo. VESA estese questo schema ridefinendo i pin 9, 12 e 15 del connettore VGA come bus seriale sotto forma di DDC - Display Data Channel.
Ciò permise di scambiare tra fonte e display molte più informazioni, compreso l’EDID.
Il protocollo originale DDC definisce 128 byte da inviare dal display alla sorgente video, con la formattazione della stringa definita dalla specifica EDID. Poiché i tipi di visualizzazione e le funzionalità aumentarono velocemente, 128 byte divennero ben presto insufficienti ed entrambi i protocolli EDID e DDC furono revisionati, estendendoli in modo da poter scambiare più blocchi di dati da 128 byte. Questo è noto come E-EDID ed è stato implementato in molti dispositivi di consumo.
Quali informazioni EDID vengono scambiate tra display e sorgente ?
Le informazioni EDID di base di un display vengono trasportate all'interno di una struttura di dati a 128 byte che contiene i dati del produttore, delle caratteristiche, delle funzioni.
La versione corrente di EDID definisce la struttura come segue:
Fornitore / blocco di identificazione del prodotto - I primi 18 byte identificano il produttore e il prodotto di visualizzazione, incluso il numero di serie e la data di fabbricazione.
Versione di EDID e revisione - I due byte successivi identificano la versione e la revisione dei dati EDID all'interno della struttura.
Parametri di visualizzazione di base / Funzioni - I cinque byte successivi definiscono le caratteristiche come per esempio se il display accetta ingressi analogici o digitali, i tipi di sincronizzazione, la risoluzione orizzontale e verticale massima del display, le caratteristiche di trasferimento gamma, le capacità di gestione dell'alimentazione, lo spazio dei colori e la frequenza video predefinita.
Caratteristiche del colore - I successivi 10 byte definiscono la tecnica di conversione dello spazio colore RGB da utilizzare dal display.
Valori di Risoluzione standard VESA supportate - I tre byte successivi definiscono le risoluzioni video e la frequenza di default (per esempio 640x480 / 60Hz).
Valori di Risoluzione tipiche del prodotto supportate - I successivi 16 byte definiscono altre otto risoluzioni video supportate dal display.
Extension Flag - Le versioni EDID 1.3 e superiori consentono ulteriori blocchi dati di 128 byte per descrivere le funzionalità aggiuntive. Questo byte indica il numero di blocchi di estensione aggiuntivi disponibili. Sono state definite diverse strutture per questi blocchi di estensione, tra cui l’estensione DI-EXT (Display Information), l’estensione VTB-EXT (Video Block Timing) e estensione LS-EXT (Localized String). L'estensione più diffusa è la CEA-861, che è stata definita per supportare le funzionalità avanzate dei dispositivi consumer che incorporano HDMI. Questa estensione mira a risolvere le diversità operative tra sistemi AV commerciali e quelli basati su PC (o PRO), consentendo di veicolare correttamente le informazioni EDID tra i dispositivi.
Esistono sofwtare in grado di visualizzare i dati contenuti nell'EDID ed è anche possibile manipolarli. Questa pratica sado-maso è consigliata solo ad esperti.
Protocollo EDID / DDC
Il DDC utilizza uno uno standard seriale di comunicazione, conosciuto come bus I2C. Il bus I2C è utilizzato ampiamente dove dispositivi elettronici necessitano di scambiare informazioni, data la sua semplicità, il numero ridotto di connessioni e la bidirezionalità del segnale. Un bus I2C è costituito da tre contatti: SDA (dati), SCL (clock) e una tensione DC pull-up “alta” di + 5V. Le informazioni EDID vengono scambiate tipicamente quando viene avviata la sorgente video. Le specifiche DDC richiedono che una tensione + 5V venga fornita dalla sorgente alla circuiteria EDID di un display in modo che la comunicazione possa essere abilitata, anche se il display è spento. Al momento dell'avvio, la sorgente video invierà una richiesta per EDID via DDC.
Le specifiche EDID / DDC supportano il rilevamento “a caldo”, in modo che le informazioni EDID possano essere scambiate ogni volta che un display viene ricollegato ad una sorgente video. Il rilevamento “a caldo” non è supportato per VGA, ma è supportato in interfacce digitali tra cui DVI, HDMI e DisplayPort. Per queste interfacce, il dispositivo di visualizzazione fornirà una tensione su un pin HPD - Hot Plug Detect, per segnalare al dispositivo sorgente video che è connesso. L'assenza di una tensione sul perno HPD indica la sconnessione. Il dispositivo sorgente video controlla la tensione sul pin HPD e inizia le richieste EDID in quanto rileva la tensione in ingresso.