Forum: Mikrocontroller und Digitale Elektronik Probleme mit T6963c 240x128px


von Michael S. (michael_s98)


Angehängte Dateien:

Lesenswert?

Hi,

ich versuche gerade ein 240x128px Display mit T6963c Treiber IC an einem
Mega2560 mit 16MHz zum laufen zu bringen. Hardwareseitig sollte alles in 
Ordnung sein (Hoffe ich :)) Kontrastspannung stimmt auch da ich ja 
bereits was auf dem Display erkennen kann.
Es handelt sich um folgendes Display, hier das Datenblatt:
http://www.beyondinfinite.com/lcd/Library/Other/LMBHAT014G7CK.pdf

Das Problem ist nun das ich es nicht schaffe weder Text noch 
Grafikelemente ordentlich anzuzeigen. Ich bekomme immer Lücken oder es 
wird auch mal garnichts angezeigt. Habe auch ein 2tes Display zum testen 
mal angeschlossen und dort gibt es diesselben Phänomene.
An dem angehängten Bild sieht man zum Beispiel mal die Ausgabe wenn ich 
ein paar Zeichenketten sende.

Ich habe auch in der Initialisierungsroutine diverse varianten 
ausprobiert was GH,TH,GA,TA angeht aber leider bisher alles ohne Erfolg.

Momentan initialisiere ich in dieser Reihenfolge:

GLCD_WriteData(0x00);
GLCD_WriteData(0x00);    // Text Home
GLCD_WriteCommand(0x40);

GLCD_WriteData(0x1E);
GLCD_WriteData(0x00);  // Text Area
GLCD_WriteCommand(0x41);

GLCD_WriteData(0x01E0 & 0xFF);
GLCD_WriteData(0x01E0 >> 8);  // Graphic Home
GLCD_WriteCommand(0x42);

GLCD_WriteData(0x1E);
GLCD_WriteData(0x00);  // Graphic Area
GLCD_WriteCommand(0x43);

GLCD_WriteData(0x02);
GLCD_WriteData(0x00);  // Offset
GLCD_WriteCommand(0x22);

GLCD_WriteCommand(0x80 | 0x01); // Mode Set
GLCD_WriteData(0x00);
GLCD_WriteData(0x00);  // Cursor Pointer
GLCD_WriteCommand(0x21);

GLCD_WriteCommand(0x9F); // Display Mode

GLCD_WriteCommand(0xA1); // Cursor Mode


Vielleicht hat ja jemand einen Hinweis für mich oder hatte dasselbe 
Problem schon einmal.

Vielen Dank im Vorraus
Michael

von Michael U. (amiga)


Lesenswert?

Hallo,

keine Ahnung, ob es Dir hilft, ich habe vor Jahren mal was im ASM 
gemacht:
Beitrag "LCD mit T6963C in ASM"

Zumindest die Init-Daten sollten passen.
Meiner Erinnerung nach habe ich Text- und Grafikarea über das komplette 
Display gelegt mit OR-Verknüpfung.

Gruß aus Berlin
Michael

von Michael S. (michael_s98)


Lesenswert?

Hallo Michael,

danke fuer deine Antwort.
Habe nun mal meine Initialisierung direkt so eingebaut wie bei dir in 
deinem ASM Source und auch mal die Aenderung in dem Thread auf ATTRIBUTE 
Mode aber weder das eine noch das andere scheinen zu funktionieren :(

Ich bekomme immer wieder diesselben bzw. dasselbe Fehlerbild.
Anfaenglich scheint es dann zu gehen und ich kann Zeichenketten senden, 
allerdings nur bis zu einer bestimmten Laenge, danach faengt das Display 
an die Zeichenketten zu zerhacken oder einfach leerstellen einzufuegen, 
oder auch mal garnichts anzuzeigen.
Hatte zuerst gedacht ich hab mir den Speicher im Display zerlegt, da 
aber beide baugleichen Displays die ich hier habe dasselbe Fehlerbild 
zeigen und ich mir denke ich nicht bei beiden die Speicher 1:1 kaputt 
gemacht habe muss der Fehler ja woanders liegen.
Nur wo? ;P

Gruss Michael

von Michael S. (michael_s98)


Lesenswert?

Hallo,

so ich habe das Display nun noch einmal unter die Lupe genommen.
Es sind 40 Zeilen per MDx wiring auf 40 Zeilen eingestellt.
Nichts desto trotz bekomme ich zwar nun Text angezeigt auf dem Display, 
auch an der richtigen Stelle, allerdings nur bestimmte Zeichen.
Mir scheint als wuerde der T6963 irgendwelche Zeichen anders 
interpretieren oder als waere der TextAttribut Modus an und er wuerde 
Attribute auf den ganzen Speicher anwenden.
Denn wenn ich zum beispiel die Codes fuer dD hH lL Sende wird das 
Display einfach gelöscht, und so bringt mir das alles garnichts ;P
Und warum grade DH und L? Weiss das Display das ich ein Paket erwarte, 
wenn ja woher weiß es das!? :)
Nein, spaß. Jemand eine Idee warum das Display so merkwürdig reagiert?
Initialisierung ist noch dieselbe geblieben und auch die Initalisierung 
aus dem verlinkten Beitrag von Michael reagiert genauso.

Gruß
Michael

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Du bist dir mit der Behandlung der C/D Line sicher?
Für mich klingt das so, als würdest du evtl. Daten schreiben, während 
die Leitung noch auf Command steht. Füg mal ein kurzes Delay nach dem 
Setzen/Löschen dieser Leitung ein.
Die Timing Chart auf Seite 12/31 des Datenblattes könnte da helfen.

von Michael S. (michael_s98)


Lesenswert?

So ich habe nun mal das Delay vergroessert was nach dem setzten/loeschen 
der CD Leitung kommt, leider wieder ohne Erfolg. Bei D H und L wird das 
Display geloescht. Die weiteren Zeichen werden aber beim naechsten 
Restart (also Initialisieren des Displays) angezeigt so wies soll.
Nur das bringt mir ja nun auch nichts ;P

Hmz und ich hab noch genau so ein Display und das zeigt genau dasselbe 
Fehlerbild, auch mit den geänderten Sourcen :(

von Michael U. (amiga)


Lesenswert?

Hallo,

eigentlich nur um es Auszuschließen: ein Kontaktproblem einer Steuer- 
oder Datenleitung (speziell Datenleitung) kann es nicht sein?
Ein Teil der GEschichte kommt mir vor, wie ein in der Lift hängendes 
Datenbit oder ein Kurzschluß zwischen 2 Bits oder einem Bit und einer 
Steuerleitung.

Zumindest, wenn Du mit beiden Display die gleiche Anschlußmimik benutzt.

Gruß aus Berlin
Michael

von Michael S. (michael_s98)


Lesenswert?

Wäre dann nicht aber auch die Anzeige von den Chars nicht auch gestoert? 
Weil das funktioniert ja einwandfrei. Er wechselt ja auch die Zeile an 
der korrekten position mit autoincrement write. Aber werde trotzdem noch 
einmal nachmessen.
Dachte zuerst das die Pullups falsch dimensioniert waeren aber dann 
waere ja letzlich das gleiche Problem das er nichts oder nicht richtig 
anzeigen würde wenn keins oder nur einige Datenbits gesetzt sind.

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.