Forum: Mikrocontroller und Digitale Elektronik STM32 LCD - Rot wird falsch dargestellt


von rgb (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein seltsames Problem mit einem parallelen 24bit LCD an einem 
STM32(H743). Aus mir unerklärlichen Gründen wird die rote Farbe falsch 
dargestellt, und nach langem Debugging habe ich noch nicht 
herausgefunden, was das Problem ist. Anbei ist ein Bild mit 
Farbgradienten in jeweils Rot, Grün und Blau, und wie es vom LCD 
dargestellt wird. Die Gradienten in Grün und Blau sehen so aus wie 
erwartet, allerdings ist beim roten etwas seltsam. Ich habe zwei mal 
bemerkt, dass sich im laufenden Betrieb die Reihenfolge der roten 
'Farbblöcke' plötzlich ändert, konnte es aber nicht fotografieren oder 
reproduzieren. Ich habe mal das Display getauscht, ohne Besserung.

Das LCD ist über die LTDC-Schnittstellt auf einem selbsterstellten Board 
angeschlossen. Der Framebuffer bzw. Layer 0 zeigt direkt auf das Bild, 
das im Flash liegt, also ohne es vorher mit DMA2D in den RAM zu kopieren 
(was jedenfalls auch nichts änderte). Das Bild ist im ARGB8888-Format, 
und Layer0 ist ebenso auf ARGB8888 gestellt. Wenn ich beides auf RGB565 
stellt sieht es genau so aus. Im c-Code des Bildes kann so einen 
Farbverlauf nicht feststellen. Mit den Timing-Parametern der 
LTDC-Schnittstelle habe ich herumgespielt, ohne eine Änderung zu sehen.

Hat irgendjemand eine Idee in welcher Richtung ich nach dem Fehler 
suchen könnte?

von Marvin M. (Gast)


Lesenswert?

Datenbit (Hardware) vertauscht.

von rgb (Gast)


Lesenswert?

Marvin M. schrieb:
> Datenbit (Hardware) vertauscht.

Das war auch mein erster Verdacht, allerdings ist das Display genau so 
angeschlossen, wie im Datenblatt und CubeMX angegeben. Welche Bits 
denkst Du denn könnten vertauscht sein?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Da ist offenbar zusätzlich zu den vertauschten Bits noch ein simpler 
Wackelkontakt im Spiel. Denn da werden einige Bits gar nicht 
angesteuert.

Wenn man sich das Foto  vom Display anschaut, dann sieht es aus, als ob 
die roten Balken in sich unterschiedlich hell wären.  Wenn man aber die 
Drumrum mal abdeckt, dann sieht man, dass sie in sich gleich hell sind.
Letztlich werden aber nur 4 unterschiedliche Rottöne ausgegeben. Und es 
sieht so aus, als ob die unteren 6 Bits gar nicht angesteuert werden und 
die oberen beiden vertauscht sind.

rgb schrieb:
> allerdings ist das Display genau so angeschlossen
Zeig doch mal...

von Dr. Sommer (Gast)


Lesenswert?

rgb schrieb:
> Das war auch mein erster Verdacht, allerdings ist das Display genau so
> angeschlossen, wie im Datenblatt und CubeMX angegeben

Mal das Errata Sheet gecheckt? Es gibt Prozessoren bei denen die LCD 
Leitungen komplett anders belegt sind als im DB dargestellt. Das DB zu 
korrigieren hält man aber nicht für nötig und schreibt das ins Errata 
Sheet...

von rgb (Gast)


Lesenswert?

Lothar M. schrieb:
> Da ist offenbar zusätzlich zu den vertauschten Bits noch ein simpler
> Wackelkontakt im Spiel. Denn da werden einige Bits gar nicht
> angesteuert.

Ding, ding, ding! Unter der Lupe sahen die Lötstellen alle gut aus, 
nachdem ich aber nochmal mit dem Lötkolben drübergegangen bin sieht 
alles aus wie es soll. Vielen Dank =D

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.