Forum: Mikrocontroller und Digitale Elektronik LCD 320x240 (SSD1289) ansteuern


von Jabu (Gast)


Lesenswert?

Moinmoin,

Ich habe mir letztens folgendes LCD Modul bestellt, welches nun 
angekommen ist:

http://www.sainsmart.com/arduino-compatibles/module/lcd-module/sainsmart-3-2-tft-lcd-display-touch-panel-pcb-adapter-sd-slot-for-arduino-2560.html

Auf dem Modul ist ein SSD1289 zur Displayansteuerung:

http://www.kosmodrom.com.ua/el/STM32-TFT/SSD1289.pdf

Nun möchte ich in einer ersten Testreihe das Display Initialisieren und 
sehen, dass sich auf diesem etwas tut. Ich nutze einen ATmega32 und 
programmiere mittels AVR Studio 5.0 mit C. Nun bin ich auf der Suche 
nach einer geeigneten C-Library (Atmega kompatibel), in der ich 
möglichst wenig umschreiben muss. Bisher habe ich leider nur Codes für 
PIC Mikrocontroller oder andere gefunden.

Weiß jemand weiter oder kann mir einen Tipp geben?

Danke im Voraus, Jabu

von Daniel S. (sany)


Lesenswert?

Hallo,

Hast du dich bei deiner Suche überhaupt bemüht?

Es gibt Zig Librarys für den SSD1289 und den dazu gehörigen 
TouchController.
Und hättest du mal gelesen, was du gekauft hast dann klick mal auf die 
beigefügten Downloadlinks!


http://www.henningkarlsen.com/electronics/library.php?id=51

Daniel.

von Jabu (Gast)


Lesenswert?

"This library is the continuation of my ITDB02_Graph, ITDB02_Graph16 and 
RGB_GLCD libraries for Arduino and chipKit."

Wie gesagt habe ich keinen Arduino oder ähnliches zur Verfügung, sondern 
lediglich einen Atmega32 auf einem Pollin AVR Evaluations Board. Soweit 
ich in erinnern habe ist diese Library in C++. Ich habe nicht viel mit 
C++ am Hut, ist es möglich das irgendwie in meinen C Code geschickt 
einzubinden sodass mir diese Objektgeschichte erspart bleibt?

von Gerhard G. (g_g)


Lesenswert?

Hallo,

hat dein Bord 3,3 Volt oder 5 Volt? Das Display funktioniert nur um die 
3 Volt. Eine Anpassung von 8 oder 16 Daten-/Adressleitung ist doch sehr 
aufwendig. Ein Atmega32 ist für dieses Vorhaben nicht besonders 
geeignet.

Man kann zwar den 8 Bit Modus wählen, aber mit der Software wirst du 
schnell an die Grenze des Atmega32 stoßen.

Besser ein Atmega mit 3,3 Volt und etwas mehr "Beinchen".

Gruß G.G.

von Jabu (Gast)


Lesenswert?

Danke für die Antwort! Ich habe schon befürchtet dass dieses Vorhaben an 
die Grenzen des Atmega32 stößt, nunja. Ist das Display wirklich nur mit 
3,3V zu betreiben?

Auf dieser Seite findet sich eine Angabe, dass es mit 5V Operating 
Voltage arbeitet:
http://www.sainsmart.com/wiki/index.php/SainSmart_3.2%22_TFT_LCD_Display

Nicht dass ich mir das Display in die Luft jage )-:

von amateur (Gast)


Lesenswert?

Wenn die sagen, dass das Display für 5V geeignet ist, sollte es auch 
damit betrieben werden können.

Um ein solches Display vernünftig zu "füttern", sollte allerdings 
ausreichend freier Speicher vorhanden sein.
Damit haben's die "kleinen" Atmel's nicht so. Vor allem, wenn auch noch 
ein Programm darauf laufen soll.

von Eumel (Gast)


Lesenswert?

amateur schrieb:
> Um ein solches Display vernünftig zu "füttern", sollte allerdings
> ausreichend freier Speicher vorhanden sein.
> Damit haben's die "kleinen" Atmel's nicht so. Vor allem, wenn auch noch
> ein Programm darauf laufen soll.

Kommt ganz drauf an was man will. In 32 kb geht eine Menge rein :) Aber 
halt keine 10 Tittenbildchen...

von Jabu (Gast)


Lesenswert?

Nunja, eigentlich möchte ich nicht all zu viele Grafiken speichern. Mir 
wäre es nur halt erstmal wichtig überhaut ein paar Pixel in Bewegung zu 
bekommen. Noch vielleicht jemand einen Tipp wo ich eine geeignete 
C-Library finden könnte?

von amateur (Gast)


Lesenswert?

@Eumel

Ich geh' mal von unterschiedlichen Interessen aus.

Meine Ausführung ging nicht in Richtung von immer den gleichen 
Konserven, sondern von einer variablen, aufbereiteten Anzeige, aus.

Deinen Interessen sollte wohl eher ein 08/15 digitaler Bilderrahmen 
dienen. Darüber hinaus gibt's die, fix und fertig, für 'nen Apfel und 'n 
Ei.

von Gerhard G. (g_g)


Lesenswert?

Hallo,

im Datenblatt des SSD1289 steht:

Power Supply: VDD = 1.65 V – 1.95V (non-regulated input for logic)
VDDIO = 1.4 V – 3.6V (regulated input for logic)
VCI = 2.5V – 3.6V (power supply for internal analog circuit)
Source Driving Output Voltage: 0-5V


Vermutlich sitzt auf der Platine ein 3,3 Volt Regler und mit diesem 
Hinweis: Source Driving Output Voltage: 0-5V
sollte es dann doch mit 5 Volt funktionieren.


Gruß G.G.

von vampire (Gast)


Angehängte Dateien:

Lesenswert?

-das genannte Display hat keinerlei Pegelwandler drauf(im Gegensatz z.B. 
ET-TFT240320TP von www.etteam.com);
Ich würde abraten, an VDD > 3,3V anzulegen;
Ebenso an den Datenleitungen.
Selbst die ITDB02_Graph16.h -Lib des Arduino warnt:
"This library was originally made especially for the 3.2" TFT LCD Screen 
Module:
  ITDB02-3.2 by ITead studio, but has later been expanded to support 
multiple
  modules. This library has been designed to use 16bit mode, so it will 
not
  work with 8bit modules."
Ob das Shield, das zwischengesteckt wird, die Pegelwandlung macht, weis 
ich nicht!
Ich habe aber mit Atmels durchausschon 16-bit LCD betrieben, -aber eben 
mit Pegelwandler oder mit 3,3V Typen;
-in Sachen Hardware sind die Arduino-Dokus spärlich !
Im Anhang die init ..

von Jabu (Gast)


Lesenswert?

Danke vampire für die LCD Library! Nun bin ich jedoch komplett 
verunsichert was die Spannungsversorgung angeht. Folglich ist die 
Information auf der Seite: 
http://www.sainsmart.com/wiki/index.php/SainSmart_3.2%22_TFT_LCD_Display

falsch?! und ich muss einen Pegelwandler zwischen Atmega32 und Display 
setzen? Was für ein IC wäre in solch einem Fall denn empfehlenswert? 
Scheint mir sehr viel Aufwand zu sein...

von Eumel (Gast)


Lesenswert?

amateur schrieb:
> Deinen Interessen sollte wohl eher ein 08/15 digitaler Bilderrahmen
> dienen. Darüber hinaus gibt's die, fix und fertig, für 'nen Apfel und 'n
> Ei.

Nö, gerade für sowas braucht man viel Speicher, z.b. eine SD Karte.

Wenn allerdings ein Menü mit diversen Einstellmöglichkeiten etc. will 
reichen die 32kb interner Speicher locker aus.

von vampire (Gast)


Lesenswert?

-dieses "TFT-LCD-mega shield" (zwischen dem Display und dem Arduino) hat 
scheinbar jede Menge Widerstände drauf.
Da ich mich nicht mit Arduino abgebe, kenne ich es nicht!
Ich nehme an, das durch Spannungsteiler die Pegel "bekömmlich" gemacht 
werden.
Die SD-card läuft übrigens ausschliesslich mit 3,3V ...

von vampire (Gast)


Lesenswert?

-- mir fällt da grad ein.
Viele AVRmega(die L-Typen sowieso!) laufen auch mit 3,3Volt(nur nicht 
mit max. Taktfrequ.[16Mhz]);
Schau mal Datenblätter...
(ich hatte schon einen ATmega644 nit 3,3V und 27Mhz als "UZE-BOX" 
laufen)...

von Eumel (Gast)


Lesenswert?

vampire schrieb:
> Viele AVRmega

Alle, zumindest die aus diesem Jahrtausend.

von vampire (Gast)


Lesenswert?

http://son.ffdf-clan.de/?path=forumsthread&threadid=502
-- hier hat man auch das Thema Levelshifter --

von christian S. (Firma: Gast) (vivien)


Lesenswert?

Jabu schrieb:
> Moinmoin,

> Nun möchte ich in einer ersten Testreihe das Display Initialisieren und
> sehen, dass sich auf diesem etwas tut. Ich nutze einen ATmega32 und
> programmiere mittels AVR Studio 5.0 mit C.


Hi Jabu,

ich würde gern wissen, ob du nämlich die Ansteuerung mit dem ATmega 
geschafft hast, weil ich mit dem selben Problematisch im moment stecke.

Danke Vivien

von Florian H. (florian1992)


Lesenswert?

Hallo vampire,

Hättest du zufällig die .h Datei zu deiner LCD.c Initialisierung auch 
dabei?

Mit freundlichen Grüßen

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.