Probleme mit LCD SSD1803

Harald_K
 
Avatar
 
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 26.02.2014 - 17:33  ·  #33
also fürs LCD ist der Treiber eigentlich ne Lösung, die keiner braucht.

gebaut ist das Ding als normaler unidirektionaler Treiber mit nem 4kOhm in Reihe vom internen Treiberausgang zum Ausgangspin. Dasselbe in die andre Richtung dazugeschaltet. Die Monoflops zum schnellen Kapazitäts-Umladen sollten bei den maximal 400kHz E-Takt bei LCDs auch wegfallen dürfen.

Billiglösung:

der 5V-AVR treibt einfach über 1k8 den LCD-Pin, dazu kommt noch ein 3k9 nach Masse. Damit ist fürs LCD die erforderliche Treiberleistung dieselbe, es muß 4kOhm bei 3,3V treiben können .. knapp ein mA also.

der Spannungsteiler aus 1k8 / 3k9 setzt die 5V vom AVR auf 3,2V fürs LCD um.

in der Gegenrichtung vom LCD zum AVR sollten die etwa 3,2V als Level-High ausreichen, der ggf. im AVR aktive Pullup auf 5V ist zu hochohmig um den LCD-Pegel anzuheben.

vom Preis her sind 14 SMD-WIderstände oder ggf. 2 Widerstandsarrays sicherlich günstiger als die 1-2 Euro für den Treiber ....

die gleiche Umsetzung nutze ich als Pegelwandler für ne SD-Karte, verträgt knapp 1MHz SCLK ohne Probleme. Beim SD-Interface könnte man auch höhere Taktraten fahrenwenn man die Spannungsteiler niederohmiger macht, der Standard-AVR kann ja 20 mA je Portpin und die Datenrückleitung braucht ja keinen Pulldown.
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 26.02.2014 - 18:35  ·  #34
Hi Harald, hi Rolf,

mein Problem: der Atmel hat 3.3V und das Display 5V (laut Datenblatt High ab 4.2V). Ich hab auch schon nach den Teilen aus dem DIP-Display-Datenblatt geschaut, aber auch die gibts nur bei Händlern, die mir nichts verkaufen :(

Ich könnte natürlich auch einen 5V-AVR nehmen, aber die Speed von einem XMega hat bei 320x240 Pixeln schon einen gewissen Reiz.

Gruss
Harry
Harald_K
 
Avatar
 
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 26.02.2014 - 21:48  ·  #35
also beim conrad gibts den TXB ... ok, der will €2,43 pro Stück, aber das ist für n Prototyp ja eher unerheblich.

und laut Datenblatt ist die "Übersetzungsrichtung" nur dadurch festgelegt, daß du die 3,3V- und 5V-Seite nicht vertauschst. du mußt also das Teil andersrum anklemmen, die 5V-Seite ans LCD und die 3V-Seite an den atmel.

und wenn du mehr als 8 Pins treiben willst, dann nimm halt 2 von den Dingern .. oder einen 8bitter und einen 4bitter ....
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 28.02.2014 - 11:27  ·  #36
Spannungsteiler geht sicher auch, mit Arrays ist das dann eine simple Sache.
SPI habe ich auch schon mit Widerständen umgesetzt, das ging problemlos.

Louis
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 28.02.2014 - 22:50  ·  #37
Hab mir jetzt mal ein paar von den TXB0108 bestellt und probier es aus. Im schlimmsten Fall hab ich dann auf der Platine nen XMega verbraten. Oder ich setze die Pegelwandler auf ein steckbares Modul. Mal schaun .........
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 07.03.2014 - 16:58  ·  #38
Also das Timing scheint bei den neuen 3V-Typen wirklich kritisch zu sein, 6 von 10 Displays funktionieren nicht mit dem Standardtiming des Treibers, nur mit {$LCDNOINIT} und einem folgenden LCDSETUP gefolgt von 500 ms Delay laufen diese. Eins zickt auch dann noch rum und geht mal an, mal nicht.

Das hat auch den Nachteil, dass am Anfang wirres Zeug auf dem Display steht, nicht gerade schick.
Hat jemand eine Idee wie ich das verhindern kann?


Nachtrag: Es ist offensichtlich ein Timingproblem, ich habe hier einige Displays die auf einmal den Faden verlieren und dann nur noch sehr langsam reagieren. Der Atmega644 darauf läuft mit 20 MHz.
Bei den 5V-Typen war das nie ein Problem, mein Prototyp läuft auch super. Die danach gemachten 10 weiteren leider nicht. Jetzt habe ich ein dickes Problem, 10 Platinen mit Displays von denen 6 nicht zuverlässig arbeiten.
Gibt es evtl. eine Möglichkeit das Timing des Treibers zu beeinflussen? Ich nehme an, dass das nicht geht. Muss ich jetzt meine eigenen LCD-Routinen schreiben?

Louis
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 07.03.2014 - 22:26  ·  #39
Ich hoffe, daß ich dieses Woende mal dazu komme das Display auszulöten, dann teste ich es mal ohne Pegelwandler an einem XMega mit 16, 24 und 32 MHz.
Harald_K
 
Avatar
 
Subject:

Re: Probleme mit LCD SSD1803

 · 
Posted: 08.03.2014 - 17:19  ·  #40
wie da topic.php?p=19762#real19762 schon geschrieben, brauchen die 3,3Ver länger für alles ....

kritisch ist vor allem die längere Wartezeit beim init.


mach doch mal folgendes:

kopiere dir aus dem compilergenerierten assembler-Listing den init-code für das LCD-Interface in dein Programm, asm / endasm außenrum und ne init-prozedur für dein LCD draus machen.

dann die _ACCB-Ladewerte vor den CALL system.mdelay-Aufrufen verdoppeln und die neue Prozedur als LCD-Init aufrufen...natürlich mit $lcdnoinit compilieren ....
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   135   149 · Page-Gen-Time: 0.024307s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI