Forum: FPGA, VHDL & Co. DVI Schnittstelle, EDID Daten Tabelle, I2C Bus


von FPGA-Fragender (Gast)


Lesenswert?

Hallo zusammen,

innerhalb eines größeren Projektes arbeite ich an einem DVI Frame 
Grabber für digitale Videodaten.

Kann mir jemand sagen, ob der elektrische Bus bzw. das Busprotokoll zum 
auslesen der EDID Tabelle des Displays exakt dem I2C Bus entspricht ?

Wäre es möglich mit meinem vorhandenen I2C Master Adapter die EDID Daten 
eines DVI Displays auszulesen ? Offiziell wird hierfür ja die 
Bezeichnung DDC Channel oder so ähnlich verwendet.

Könnte ich also umgekehrt per Adapter einen I2C Slave bauen, welcher per 
I2C Protokoll die vom Master ( z.B. GraKa vom PC ) die zu lesende 
Adresse auf den Bus legt und damit die TAbelle dynamisch anpassen, um zu 
testen ?

Ich Poste im FPGA Bereich, weil mein Projekt auf einem FPGA Mainboard 
aufbaut.

Wer kann mir da weiterhelfen ?

Gruß vom FPGA-Fragenden

von Kest (Gast)


Lesenswert?

Alle Fragen sind mit "Ja" zu beantworten.

Habe selber schon Monitore ausgelesen und dann eigene Flashes geflasht 
und über DVI was augegeben.

Grüße,
Kest

von FPGA-Fragender (Gast)


Lesenswert?

Hallo zusammen,

ich im Laufe meines größeren Projektes erst jetzt zu der Implementierung 
des DDC ( Data Display Channel ) gekommen, deshalb erst jetzt meine 
weitere Fragestellung. ( Der Rest meines Gesamtprojektes ist soweit 
fertig )

Ich habe in meinem Spartan einen I2C Slave implementiert und kann das 
Signal, DDC Signal, zwischen meinem PC Graka und einem angeschlossenen 
Beamer protokollieren.

Mein Datalogger zeigt mir die Daten exakt so, wie sie auch über Windows 
abgefragt werden können. Soweit so gut.

Ich habe auch bereits einen Slave implementiert, der die gleichen Daten 
wie sie der Beamer besitzt aus einem internen FPGA ROM nach Anforderung 
entsprechend auf den Bus legt.

Ich scheitere allerdings immer an dem Problem, dass ich nicht 
herausfinden kann in welcher Reihenfolgt die Tabellen abgefragt werden.

Beispiel: Mein Beamer hat eine 128 Byte EDID Tabelle und eine erweiterte 
128 Byte Tabelle.

Beim Protokollieren eines Detection ( Neu erkennen des angeschlossenen 
Monitors an der Graka) in Windows wird z.B. in etwa folgende Reihenfolge 
übertragen.
( je Tabelle 128 Byte )

Tabellen Nr.
=============
2 * erste Tab
1 * zeite Tab
1 * erste
1 * zweite
2 * erste
1 * zweite



Warum werden die gleichen Tabellen immer wieder übertragen ??

Wer von Euch weiß nach welchem Schema das Protokoll auf dem DDC abläuft.
Ich finde überhaupt keine ( kostenlose ) Doku darüber.

Bin für jeden Rat echt dankbar, denn ich mach schon viele Stunden damit 
rum und komm nicht weiter.

Gruß vom FPGA-Fragenden

von Duke Scarring (Gast)


Lesenswert?

Schau doch mal, in welcher Reihenfolge die Tabellen ausgelesen werden, 
wenn Du Linux verwendest.
Ich vermute ganz stark, dass die Reihenfolge sowohl vom BIOS, als auch 
vom Grafikkartentreiber und sicher auch von der Zahl der angeschlossenen 
Monitore abhängt.
Auf eine bestimmte Reihenfolge würde ich mich da nicht verlassen. Beim 
nächsten Treiberupdate kommt sicher wieder alles anders.

Duke

von ... .. (docean) Benutzerseite


Lesenswert?

kennst du das schon...

http://ddccontrol.sourceforge.net/

bzw. deren Quellcode?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.