Forum: Mikrocontroller und Digitale Elektronik EDID erstellen / programmieren (Windows 7)


von WehOhWeh (Gast)


Lesenswert?

Hallo,

ich stehe vor folgendem Problem, bei dem ich etwas Hilfe gebrauchen 
könnte:

Hier liegt eine Platine mit TFP401 (DVI-Receiver) und 24LCS22A 
(EDID-EEPROM) mit einem  Display (800x480) dran.
Das soll jetzt in Betrieb genommen werden.

Das hängt über HDMI an einem PC mit Windows 7. Windows gibt aber nur 
über HDMI ein Bild aus, wenn es einen Monitor erkennt, dazu braucht es 
die EDID. Glaube ich zumindest :-)

Daher meine Fragen:
Wie kann ich eine EDID aus den Displaydaten erstellen?
Wie bekomme ich diese über das HDMI-Kabel in das EEPROM?

Für Windows habe ich bisher nichts entsprechendes gefunden.
Angeschaut hab ich mir folgendes:
edidedit : kann nur editieren
EDID-Manager : verwendet nur EDIDs aus der Registry
Phoenix EDID - Designer : 10:6 Aspect ratio geht nicht

Wäre nett, wenn mir jemand hier einen Tipp geben könnte!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

WehOhWeh schrieb:
> Phoenix EDID - Designer : 10:6 Aspect ratio geht nicht

800:480 ist 16:10.

von WehOhWeh (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> WehOhWeh schrieb:
>> Phoenix EDID - Designer : 10:6 Aspect ratio geht nicht
>
> 800:480 ist 16:10.

Ich komme da auf, 10:6 (oder 5:3 von mir aus).
Außer das ist als 16:10 definiert. Kann natürlich sein, aber das fände 
ich etwas seltsam.

800:480 = 1,66...
16:10 = 1,6

800:500 wäre 16:10.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das mag sein, aber die genaue Auflösung ist eh' woanders codiert.

Im EDID-Block* stehen nur zwei Bits zur Codierung des 
Seitenverhältnisses zur Verfügung:

00=16:10
01=4:3
10=5:4
11=16:9

Etwas anderes als einen dieser Werte kann man daher gar nicht angeben.


*) genauer: In den bis zu 8 Zwei-Byte-Datensätzen "Standard Timing 
Configuration" ab Byte 38, hier sinds die Bits 7&6 des jeweils zweiten 
Bytes des Datensatzes.

Siehe https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

von WehOhWeh (Gast)


Lesenswert?

Danke für den Link!
Eigentlich hätte ich selber darauf kommen können, dass die deutsche 
Wikipedia mal wieder nicht ganz so ausführlich ist.

Damit kann ich mir ein File mit dem EDID-Designer zusammenschustern, 
wenn ich mir einen normalen Monitor als Vorbild nehme.

Die Frage ist, wie bekomme ich das File in das EEPROM?
Kennt da jemand ein Tool?

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

> Die Frage ist, wie bekomme ich das File in das EEPROM?
> Kennt da jemand ein Tool?
Mit einem Mikrocontroller oder USB-I2C-Adapter und über HDMI bzw. über 
die I2C Pins, wenn der Schreibschutz beim EEPROM nicht gesetzt ist.
Beim RPi kann man den Bus auch direkt ansteuern:
http://blog.koalo.de/2013/11/i2c-over-hdmi.html

Hier sind auch Beispiele für 800x480:
https://github.com/watterott/HDMI-Display/tree/master/docu

Gruß
Andreas

von WehOhWeh (Gast)


Lesenswert?

Andreas W. schrieb:
>> Die Frage ist, wie bekomme ich das File in das EEPROM?
>> Kennt da jemand ein Tool?
> Mit einem Mikrocontroller oder USB-I2C-Adapter und über HDMI bzw. über
> die I2C Pins, wenn der Schreibschutz beim EEPROM nicht gesetzt ist.
> Beim RPi kann man den Bus auch direkt ansteuern:
> http://blog.koalo.de/2013/11/i2c-over-hdmi.html
>
> Hier sind auch Beispiele für 800x480:
> https://github.com/watterott/HDMI-Display/tree/master/docu
>
> Gruß
> Andreas

Danke für die Beispiele!

Ich habe inzwischen viel herumgesucht und einige Tools unter Windows 
durchgetestet, und es scheint kein kostenloses zu geben.

Ich werde jetzt noch folgendes probieren:
Versuch1: Mit Arduino:
https://learn.adafruit.com/adafruit-tfp401-hdmi-slash-dvi-decoder-to-40-pin-ttl-display/editing-the-edid
Das erscheint mir vielversprechend, aber ich muss mir erst mal einen 
Arduino von Zuhause mitbringen. Sowas haben wir hier leider nicht.

Sollte das nicht klappen, werde ich das mal unter Linux probieren. Eine 
Anleitung hab ich gefunden:
http://www.chalk-elec.com/?p=1905

Aber dazu muss ich Linux erst mal installieren. Ich werde es dann mit 
Ubuntu auf einem USB-Stick probieren.

Wenn es klappt, werde ich berichten.

Falls jemand ein Windows-Tool kennt, wäre das trotzdem schön :-)

von EZP2010 (Gast)


Lesenswert?

ALso ich habe auch mal mit EDID gekämpft. Geschrieben habe ich die Dtane 
mit einem EZP2010 Chinabrenner.
Lesen ging ganz ohne Probleme, beim schreiben musste man, ganz Windows 
like, einfach solange wiederholt auf den Button klicken bis das Verify 
keinen Fehzler mehr ausgab.
Das ganze mit einem 8 Pin DIL Sockel mit eingelöteten Strippen und einem 
passen SUB-D Gegenstück fürs analoge Kabel. Bei HDMI musst DU entweder 
direkt am IC mit so einem Aligator Clip dran, oder Du machst das mit 
mehreren Adaptern. Wenn mich mein Hirnschmalz nicht verlassen hat, dann 
müsste da folgendes gehen:
IC-Soockel für den Brenner -> VGA (Selbst gelötet)
VGA -> DVI (fertiger Adapter)
DVI -> HDMI (fertiger Adapter)

VGA auf HDMI gibts nicht, da HDMI ja nicht die analogen Signale enthält. 
Daher der Umweg.

Schliesslich wird der I2C Bus ja bei allen mit durchgeschleift.

von WehOhWeh (Gast)


Lesenswert?

Als Update: Hiermit hat es geklappt:

https://learn.adafruit.com/adafruit-tfp401-hdmi-slash-dvi-decoder-to-40-pin-ttl-display/editing-the-edid

Ich habe dazu ein HDMI-Kabel zerschnitten und die Leitungen wie 
beschrieben mit dem Arduino verbunden. Das Sketch programmiert und über 
die serielle Schnittstelle einen Programmiervorgang ausgelöst.
Hat zwei Versuche gebraucht, aber es funktioniert.

Hätte ich mir gestern sehr viel Zeit sparen können, weil das war jetzt 
höchstens 20Min Aufwand. Aber hinterher ist man immer schlauer.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Na, dann herzlichen Glückwunsch.

Dein PC ist mit Deinem Display jetzt auch glücklich?

von WehOhWeh (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Dein PC ist mit Deinem Display jetzt auch glücklich?

Inzwischen schon. Unter Ubuntu ging es mit der EDID auf Anhieb - Booten, 
Bild da.

Unter Windows 7 natürlich nicht. Ich habs damit hinbekommen:
http://www.car-pc.info/phpBB2/viewtopic.php?t=25892
Da ist ein Post für einen DTD-Calculator drin. Anscheinend unterstützt 
mein (Intel) Grafiktreiber keine 800x480. Die Werte aus dem Forum haben 
funktioniert.

Das Ganze verhält sich jezt auch unter Windows wie ein normales 
HDMI-Display. Anstecken, geht.

Jetzt kommt noch die EMV, die Abstrahlung wird noch interessant :-)

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.