Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi HDMI Auflösung und Timing Einstellung


von Dominic Worm (Gast)


Lesenswert?

Moin,

ich habe  hier bei mir auf dem Tisch den Raspberry Pi 3 und ein Display 
mit der Auflösung von 1920*720 (60Hz) liegen. Diese möchte ich gerne 
über HDMI ansteuern.
Im Netz habe ich dazu die Information gefunden, dies in der config.txt 
anzupassen und hatte die folgende Einstellung erfolgreich getestet:

hdmi_group=2
hdmi_mode=87
hdmi_force_hotplug=1
hdmi_cvt=1920 720 60 0 0 0 0

Soweit so gut! Nun muss ich aber neben der Auflösung auch den Pixelclock 
und z.B. den Front Porch konfigurieren, damit der Aufbau der zukünftigen 
Videoquelle gleicht. Diese sollte natürlich das Timing des Displays 
unterstützen.

Nach einer weiteren Recherche im Netz bin ich auf das Kommando 
"hdmi_timing" gestoßen. Dies beinhaltet alle von mir gewünschten 
Einstellungen. Leider bekomme ich dies nicht erfolgreich zum Laufen :-( 
Ich habe schon verschiedene Kombinationen ausprobiert. Die benötigten 
Informationen zur Einstellung des Displays habe ich soweit aus dem 
Datenblatt des Displays übernommen, diese sehen wie folgt aus:

#<h_active_pixels> = 1920
#<h_sync_polarity> = 0
#<h_front_porch> = 84
#<h_sync_pulse> = 16
#<h_back_porch> = 44
#<v_active_lines> = 720
#<v_sync_polarity> = 0
#<v_front_porch> = 3
#<v_sync_pulse> = 2
#<v_back_porch> = 2
#<v_sync_offset_a> = 0
#<v_sync_offset_b> = 0
#<pixel_rep> = 0
#<frame_rate> = 60
#<interlaced> = 0
#<pixel_freq> = 90000700
#<aspect_ratio> = 0

Ich verwende in der config.txt derzeit die folgende Einstellung, welche 
leider nicht funktioniert:

hdmi_group=2
hdmi_mode=87
hdmi_force_hotplug=1

hdmi_timing=1920 0 84 16 44 720 0 3 2 2 0 0 0 60 0 90000700 0

Den Wert für aspect_ration habe ich auf 0 gesetzt, dies funktioniert 
auch bei meiner hdmi_cvt Einstellung, warum auch immer!? Ich gehe aber 
davon aus, dass sich dies durch die Auflösung von selbst ergibt. Auch 
habe ich versucht dies wie folgt festzulegen:

<aspect_ratio>: 1=8:3 ##1920:720 entspricht


Vielleicht findet ja jemand den Fehler in meiner config, oder kann mir 
einen Hinweis geben?

Schon einmal einen schönen Dank vorab.

von Spacebert (Gast)


Lesenswert?

90000700 ? War da nicht was? Kann der PI jede Pixelfrequenz ausgeben? 
Glaube nicht ... dann bleibt ggf. der Screen schwarz ...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ist für so etwas nicht eigentlich das EDID-EEPROM gedacht, das in jedem 
HDMI- und DVI-Monitor zu finden sein sollte?

von Dominic Worm (Gast)


Lesenswert?

Moin,

@Rufus Τ. Firefly:
der Monitor besitzt kein EDID-EEPROM. Es handelt sich um keinen normalen 
Monitor. Es ist eigentlich nur ein Display, welches per GMSL angesteuert 
wird. Derzeit verwende ich ein EV-Kit, welches per HDMI das Bild bekommt 
und dies auf GMSL (Koaxial-Kabel) umsetzt und dann ans Display sendet. 
Sorry hätte ich auch mit in meiner Eingangsbeschreibung aufführen 
können.

Ich schließe diese Übertragungsstrecke aus, da es mit dem anderen 
Kommando "hdmi_cvt=1920 720 60 0 0 0 0" funktioniert hatte. Neben einen 
Raspberry Pi hatte ich dies auch schon erfolgreich mit einem PC 
betrieben. Dieser besitzt eine NVIDIA Grafik und gibt mir die 
Möglichkeit die Werte im Treiber einzustellen.

@ Spacebert:
Ich hatte die Werte übernommen aus dem Windows Treiber, welcher Aufgrund 
der eingestellten Werte die Pixelclock berechnet hatte. Mir fällt aber 
gerade auf, dass die eingestellten Werte vom Windowstreiber abweichen, 
dadurch ergibt sich eine andere Pixelclock :-( Ich werde dies neu 
berechnen. Vielen Dank für den Hinweis.

von Dominic Worm (Gast)


Lesenswert?

So,

ich habe nun noch ein paar andere Kombinationen ausprobiert:

#<h_active_pixels> = 1920
#<h_sync_polarity> = 0
#<h_front_porch> = 72
#<h_sync_pulse> = 16
#<h_back_porch> = 44
#<v_active_lines> = 720
#<v_sync_polarity> = 0
#<v_front_porch> = 7
#<v_sync_pulse> = 2
#<v_back_porch> = 2
#<v_sync_offset_a> = 0
#<v_sync_offset_b> = 0
#<pixel_rep> = 0
#<frame_rate> = 60
#<interlaced> = 0
#<pixel_freq> = 90000000
#<aspect_ratio> = 0

hdmi_mode=87
hdmi_force_hotplug=1
hdmi_timing=1920 0 72 16 44 720 0 7 2 2 0 0 0 60 0 90000000 0

Hierzu habe ich dieses mal die Werte verwendet, welche ich von meinem 
Kollegen für den Windowstreiber verwendet hatte. Diese funktionieren 
auch mit dem PC.

Zusätzlich habe ich noch folgendes ausprobiert:
hdmi_mode=87
hdmi_force_hotplug=1
hdmi_timing=1920 0 0 0 0 720 0 0 0 0 0 0 0 60 0 0 0

Dies würde meinem Verständnis nach dem "hdmi_cvt=1920 720 60 0 0 0 0" 
entsprechen, welches ja funktioniert.

Leider haben beide Kombinationen keinen Erfolg gebracht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dominic Worm schrieb:
> der Monitor besitzt kein EDID-EEPROM. Es handelt sich um keinen normalen
> Monitor. Es ist eigentlich nur ein Display, welches per GMSL angesteuert
> wird.

Das ist durchaus klar, aber es ist jetzt keine Raketenwissenschaft, da 
ein 24c02 an den HDMI-Anschluss mit dranzuklemmen. Notfalls als "dead 
bug" auf der Platine mit einer kleinen Handvoll Fädeldraht, und Du hast 
ein Gerät, das unabhängig von der Signalquelle als richtiger Monitor 
verwendet werden kann.

von Dominic Worm (Gast)


Lesenswert?

@ Rufus Τ. Firefly

Mh... ok, ist bestimmt eine Möglichkeit, aber nicht das Ziel, welches 
ich vor Augen hatte.
Es geht mir ja darum dies mit dem Raspberry Pi zu machen und nicht auf 
dem EV-Kit herumlöten, wo ich nur sehr schwer an die jeweiligen Kontakte 
komme.
Trotzdem Danke für deinen Hinweis.

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.