Forum: Mikrocontroller und Digitale Elektronik Display zeigt Fehler in Spalten auf halben Bildschirm


von Sven W. (ulminpoika)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

ich habe hier zwei Displays (7'' 1024x600) und einen LCD Controller 
(THV65-V4) auf den Tisch bekommen mit der Bitte, das für einen Kollegen 
im Urlaub mal eben zum Laufen zu bringen. Nun mache ich schon eine Woche 
lang dran rum, den Fehler im halben Display (siehe Foto) zu beheben.

Könnt ihr mir einen Tipp geben, an welcher Stelle ich suchen muss?

Der LCD Controller hat LVDS Ausgänge für ODD und EVEN. Das Display hat 
aber nur eine single LVDS Schnittstelle. Könnte es damit zusammenhängen? 
Wie verhält sich ein Display mit single LVDS an einem Controller mit 
dual LVDS?

Den horizontalen SYNC habe ich testweise von 8bit auf 6bit umgestellt, 
mit dem Ergebnis dass Linienfehler noch da waren, aber im 
funktionierenden Teil die Farben komplett durcheinander kamen. Also 
wieder zurück auf 8bit (wird mit einem pull Widerstand am SELB Eingang 
des Displays konfiguriert).

Unabhängig von den Linien wird das Display nicht komplett ausgefüllt. 
Ich vermute, das liegt an einer Inkompatibilität mit dem LCD Controller, 
der andere Formate unterstützt. Momentan läuft der Controller an meinem 
Laptop mit Auflösung 800x480, Portrait.

Ich hänge auch ein Datenblatt eines der beiden Displays an. Der Fehler 
tritt bei beiden Displays gleichermaßen auf.

Danke sehr für jegliche Tipps!

von Kaputtnix (Gast)


Lesenswert?

Hau wech.

Die Spaltenansteuerung ist hinüber. Gerne gehen auch mal die 
Kontaktflächen auf dem Glasträger kaputt. Es ist auf jeden Fall auf der 
Seite nach dem Multiplexer.

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


Angehängte Dateien:

Lesenswert?

Sven W. schrieb:
> Der Fehler tritt bei beiden Displays gleichermaßen auf.
Der Fehler kommt wohl vom Scaler.

Sven W. schrieb:
> LCD Controller (THV65-V4)
Kannst du da solche beliebigen Timings und Auflösungen überhaupt 
einstellen?
Im Handbuch zur Version 03 finde ich da nichts zu 800x480 und 1024x600:
https://manualzz.com/doc/de/8225996/specification--thv-65-series-board-engineering-leadership
Kann die Version 04 die von dir gewünschten Timings? Hast du ein 
Datenblatt für diese Version?

Oder probier einfach mal ein Display mit einer üblichen Auflösung an 
einem Displaysignal mit der selben Auflösung. Man lernt das Jonglieren 
ja auch nicht gleich mit 7 Bällen...

von Sven W. (ulminpoika)


Lesenswert?

Ich habe nur ein ausgedrucktes Datenblatt in V04, aber die Timings sind 
identisch. Ich hatte zwischenzeitlich auch eine V03 hier liegen, und mir 
ist kein Unterschied aufgefallen.

Ich habe noch eine letzte Hoffnung dass der Fehler durch die unpassende 
Auflösung entsteht. Wie ihr vermutlich merkt bin ich bisher bei Displays 
noch recht blank. Beim großen A* habe ich bereits ähnliche LCD 
controller bestellt die angeblich für eine Auflösung von 1024x600 
speziell konfiguriert sind. Man kann dort aber auch nicht auf Single 
LVDS umstellen.

Gegen einen Defekt im Display spricht für mich, dass sich beide Displays 
gleich verhalten, und dass der Fehler genau aber der Mitte des 
Bildschirms auftritt. Es könnte aber auch passiert sein, dass beide 
Teile durch eine falsche Verbindung abgeschossen wurden. Wie würde man 
denn einen Zeilentreiber killen können?

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


Lesenswert?

Sven W. schrieb:
> Wie würde man denn einen Zeilentreiber killen können?
Am Besten geht das mit viel Zeit und einem Klimaschrank...

> Ich habe nur ein ausgedrucktes Datenblatt in V04
Welcher Scaler ist denn überhaupt auf den Boards drauf?
Was sagt das Datenblatt des Scalers zu den gewünschten Auflösungen?

von W.S. (Gast)


Lesenswert?

Lothar M. schrieb:
> Welcher Scaler ist denn überhaupt auf den Boards drauf?

Du meinst vermutlich 'auf den Displays drauf' = garkeiner. Die haben 
1024x640 und ums Skalieren müßte sich der ansteuernde PC bzw. µC 
kümmern. Das passiert aber (wenn überhaupt) auf der Softwareseite vor 
dem eigentlichen Bildschirmspeicher.

Meine Vermutung ist, daß sowohl das Ansteuer-Regime (vor allem in 
X-Richtung) als auch ein nicht passendes LVDS als auch ein falsches 
Setup des Controllers als auch eine falsche Verwendung des 
Bildschirmspeicher-Bereiches als Fehlerursache in Frage kommt.

Das ist ne Menge, aber es sieht erstmal nicht nach einem Display-Defekt 
aus und etwaige Skalierungen sind entweder Mumpitz auf der PC/µC Seite 
oder schlichtweg nicht vorhanden.

W.S.

von Schlaumaier (Gast)


Lesenswert?

Wenn du Glück hast, ist ein Bruch im Ansteuerungskabel. Und wenn du noch 
mehr Glück hast, kannst du den tauschen. ;)

von guteidee (Gast)


Lesenswert?

Schlaumaier schrieb:
> kannst du den tauschen.

Also einen Bruch gegen einen anderen tauschen?

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


Lesenswert?

W.S. schrieb:
> Du meinst vermutlich 'auf den Displays drauf'
Nein, ich meine den Scaler auf den THV65 Boards.
Weil die Displays natürlich nur ihr "eigenes" Format darstellen können, 
brauchen sie eben einen Scaler zwischen einem Bilderzeuger mit anderer 
Auflösung als das Display hat.
Sven W. schrieb:
> Laptop mit Auflösung 800x480
-->
> Display... 1024x600
Und wenn der Scaler das benötigte Timing und die Auflösung nicht 
hergibt/umrechnen kann, dann gibts halt Mischmasch.

Deshalb mache ich den ersten Test mit einem Display und einen Timing, 
das der Scaler laut Datenblatt nachweislich kann.

von Sven W. (ulminpoika)


Lesenswert?

Lothar M. schrieb:
> Nein, ich meine den Scaler auf den THV65 Boards.
> Weil die Displays natürlich nur ihr "eigenes" Format darstellen können,
> brauchen sie eben einen Scaler zwischen einem Bilderzeuger mit anderer
> Auflösung als das Display hat.

In MS Windows wird zwar eine Reihe Auflösungen angeboten, aber keine 
1024x600. Ich hoffe dass die zusätzlich bestellten Teile da mehr 
Optionen zur Auswahl bieten (Amazon ASIN B06XK9MB2L).
Ich wüsste nicht, wie ich den Scaler auf dem Controller Board 
konfigurieren könnte. Ich habe den Eindruck das macht eine spezifische 
Firmware?

Gebrochene Kabel kann ich ausschließen. Ich habe schon mehrere Leitungen 
gebaut, Flachbandleitungen gecrimpt, verdrillte LVDS Kabel umgelötet.

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


Lesenswert?

Sven W. schrieb:
> Ich wüsste nicht, wie ich den Scaler auf dem Controller Board
> konfigurieren könnte.
Durch eine Firmwareanpassung  ;-)

> Ich habe den Eindruck das macht eine spezifische Firmware?
Richtig. Und die Entwicklungsumgebung dazu bekommst du kostenlos, wenn 
du 100k der Scaler abnimmst :-/

> In MS Windows wird zwar eine Reihe Auflösungen angeboten, aber keine
> 1024x600.
Du brauchst für diesen Test ein SVGA, XGA oder SXGA-Display. Diese 
Auflösungen sind in der obigen Tabelle für den Scaler vorgesehen. Und 
dann gibst du mit dem PC genau diese passende Auflösung aus.
Dann weißt du, dass der Scaler mal prinzipiell mit dem Signal vom PC 
zusammen tut.
Und dann änderst du die Auflösung am PC und schaust, was auf dem Display 
passiert.
Und dann änderst du mal das Ausgabeformat des Scalers so, dass es nicht 
zum Display passt und schaust, was passiert.
Dann hast du eine grobe Übersicht, was der Scaler kann und was nicht.

von Sven W. (ulminpoika)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

heute wieder am Display Problem gearbeitet und das Problem konnte 
tatsächlich durch eine neue Controller Card behoben werden. Damit habe 
ich den Kollegen während seines Urlaubs gut vertreten ;-).

Die neue Controller Card ist angeblich auf eine Auflösung von 1024x600 
Pixel konfiguriert. Dennoch erhielt ich zuerst noch schwarze Balken am 
oberen und unteren Rand des Displays. Erst nachdem ich die Auflösung auf 
1280x720 geändert hatte, wurde das Display komplett ausgefüllt. 
Vermutlich skaliert die Controller Card auf irgendein spezielles 
Display. Oder mir wurde fälschlicherweise ein Teil mit der höheren 
Auflösung geschickt.

Die Controller Card hat außerdem nur drei Data Lanes am LVDS Ausgang. 
Das Display hat aber einen Eingang, an dem die Interpretation von 8bit 
nach 6bit geändert werden kann. Erst nach dieser Anpassung wurde das 
Bild korrekt angezeigt.

Dank an alle die ihre Konstruktives beigetragen haben. Ich hoffe ich 
werde weiter Gelegenheit bekommen mich in die Thematik einzuarbeiten. 
Falls jemand gute Quellen hat wie Application Notes, wäre ich für Tipps 
sehr dankbar. Bisher finde ich immer nur Infos dazu, was LVDS auf 
physikalischer Ebene ist, aber nicht wie eine Display Schnittstelle denn 
genau funktioniert (ODD, EVEN, horizontale Synchronisation, 
Bildfrequenzen, 8bit/6bit, data lanes, ...)

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


Lesenswert?

Sven W. schrieb:
> aber nicht wie eine Display Schnittstelle denn
> genau funktioniert (ODD, EVEN, horizontale Synchronisation,
> Bildfrequenzen, 8bit/6bit, data lanes, ...)
Ich habe da einfach mal 25 unterschiedliche Datenblätter von 25 
unterschiedlichen Displays angeschaut und auf Gemeinsamkeiten und 
Unterschiede untersucht. Und mir auch jeden einzelnen Pin und die 
dahinterstehende Beschreibung dazu genau angesehen. Denn wenn er nicht 
nötig wäre, dann wäre er nicht dran, weil er ja schlicht Geld kostet.

> Die Controller Card hat außerdem nur drei Data Lanes am LVDS Ausgang.
> Das Display hat aber einen Eingang, an dem die Interpretation von 8bit
> nach 6bit geändert werden kann. Erst nach dieser Anpassung wurde das
> Bild korrekt angezeigt.
Ja, sonst hast du falsche Farben, weil irgend ein Vollprofi seinerzeit 
die MSB statt der LSB auf die zusätzliche vierte LDVS-Lane gepackt hat. 
An der Stelle denke ich mir dann immer, dass die Ausreder vermutlich 
irgendwie so lautet: "Wir waren jung und wir brauchten das Geld!"

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.