Forum: Mikrocontroller und Digitale Elektronik SPI Farbdisplay 320*240 + Touch


von Blitz L. (blitzlampe)


Angehängte Dateien:

Lesenswert?

Hallo,

bin gerade auf ein recht interessantes Display gestoßen. Es handelt sich 
um ein 320*240 Farb (262k Colors) TFT Display. Die Bildgröße ist ~ 70mm 
* 52mm.
Das Ganze gibt es mit und ohne Touchfolie. Der Preis ist in Deutschland 
für die Touchversion 53€ und in China hab ich es für 45 gesehen jedoch 
schon auf einer Anschlußplatine montiert das Display aus Deutschland 
benötigt noch ein Adapter für das Flachbandkabel ca 15€.

Datenblatt: http://www.lc-design.de/shop/de/specs/TFT/CFAF320240FT.pdf

Hier der Shop vom Chinesen: http://stores.ebay.com/Ego-China-Electronics
einfach nach : "3.5" TFT LCD Module Display + Touch Panel + PCB adapter" 
suchen


Auf den ersten Blick würde ich sagen das man es mit einem AVR ansteuern 
kann SPI-Modus.

Kennt zufällig jemand das Display und kann mir was zur Bildqualität 
sagen?

von F. Reiche (Gast)


Lesenswert?

Wie muss ich das mit dem Timing verstehen?
Der Pixeltakt muss immer anliegen aber was ist mit Hsync und Vsync 
können diese abgeschalten werden, wenn ein Bild im Ram des Controller 
ist?

Wie sieht es eigentlich mit Einfuhrzoll aus?

MFG
Frank

von Helmut L. (Gast)


Lesenswert?

Hallo,

beschäftige mich auch gerade damit.
Zur Info, das Display gibt's auch bei http://www.lcd-store.de zu kaufen. 
Dort kann man auch einen Muster Source-Code-downloaden. Allerdings werde 
ich nicht so richtig schlau wie das im SPI-Modus anzusteuern wäre.

Gruß
Helmut

von Blitz L. (blitzlampe)


Lesenswert?

Bin nicht so der C Mensch und hab mir auch nicht alles vom Code 
angeschaut aber als erstes wird erstmal jede Menge Init Zeug zum Display 
geschoben.

Dann wird das Display bzw. der Ram an die Startadresse gesetzt und 
Bilder von einer SD Card auf das Display geschaufelt bei LCD Test wird 
das Display wie ein Regenbogen aussehen - denk ich mal

Jedoch ist die Ansteuerung des Display hier nicht per SPI sondern 
parallel gelöst wurden. das SPI ist für die SD Card da.


Kann mir einer Sagen wo hier das Timing erzeugt wird für Pixeltakt und 
H-sync und V-sync?

Eine Ansteuerung per SPI würde ich aber vorziehen schon allein wegen dem 
ganzen Drähten.

von Hans B. (Gast)


Lesenswert?

Auf http://www.crystalfontz.com/product/CFAF320240F-T-TS.html ist 
jeweils ein Beispiel für die Ansteuerung mit SPI oder im 8bit mode.

Eine Frage hätt ich jedoch auch, wie bekommt man besten Schrift ins 
Display es besitzt kein Zeichensatz?

von Roger P. (presi007)


Lesenswert?

Hi,

ich wurde auch gern wiessen,wie man besten Schrift ins Display 
bekommt.Display hat kein Speicher und kein Zeichensatz.

Roger

von P. S. (Gast)


Lesenswert?

Selbst malen? Ein Pixelfont ist ja nun kein Hexenwerk...

von Jean P. (fubu1000)


Lesenswert?

Blitz Lampe schrieb:
> Kann mir einer Sagen wo hier das Timing erzeugt wird für Pixeltakt und
> H-sync und V-sync?
Wird nur im RGB-Mode benötigt.

Hans B. schrieb:
> Eine Frage hätt ich jedoch auch, wie bekommt man besten Schrift ins
> Display es besitzt kein Zeichensatz?
Tja den musste natürlich selber entwickeln.
Suche mal nach dem Mini-Lcd Post hier im Forum, da habe ich und ein paar 
Andere Fonts geposetet.

Gruß

von Blitz L. (blitzlampe)


Lesenswert?

Hab mich mal auch bissel schlau gemacht wie sowas funzt.

Es ist eigentlich einfach die Daten auf das Display zu bekommen. Als 
erstes muss man sich die einzelnen Zeichen als Bytecode in den Speicher 
legen

Bin         Hex

00000000    00
000xx000    18
00x000x0    22
00x000x0    22
00x000x0    22
000xx000    18

Hier z.B. mal ein O das x steht für eine 1

Jetzt muss man nur seinen String in die einzelnen Buchstaben zerpflücken 
und den entsprechenden Bytecode an den Display Ram schicken.

Wie gesagt eigentlich einfach aber es hängt bei mir noch bissel an der 
Umsetzung :-)

von MagIO (Gast)


Lesenswert?

Ich habe eins von den kleineren Crystalfontz-Displays. Die Qualität ist 
hervorragend! Das 3,5" hat allerdings einige Vorteile, da es in allen 
verschiedenen Interface-Modi des Controllers betrieben werden kann.

RGB bietet sich z.B. für Bewegtbilder an. Soweit ich das verstanden habe 
kann man sogar ein Fenster definieren in dem die Daten per RGB 
rübergeschaufelt werden. In Bereichen außerhalb des Fensters bedient 
sich der Controller im eigenen RAM.

SPI kennt mein Display nicht, aber den 8 bit-Modus und der ist definitiv 
schon zu langsam für großflächige Animationen. Man bekommt in etwa 15 
frames pro sekunde hin. Wenn man nun alles seriell rüberschiebt wird das 
sicher nicht besser.

Die Qualität der Adapter-Platine vom LCD-Store war leider nicht so dolle 
.. hatte einige kalte Lötstellen (nicht mal das Backlight hat 
funktioniert) und ist dort scheinbar von Hand verlötet worden und wurde 
nicht getestet. Ist aber vielleicht auch ein Einzelfall.

Touchscreen hab ich leider noch nicht in Betrieb genommen. Hat da 
vielleicht jemand nen Tipp? Gibts da ICs für, die man dann per SPI oder 
I2C auslesen kann?

Noch Fragen?

von MagIO (Gast)


Lesenswert?

Schrift ist nichts anderes als Grafik. Man muss sich also selbst darum 
kümmern welche Pixel eines Buchstabens wo landen.

Der einfache Weg ist wenn man mit einer Hintergrundfarbe arbeiten kann. 
Dann kann man nämlich ein Fenster definieren in das die folgenden Daten 
übertragen werden. Also z.B. mit nem 8x16 Font würde man das Fenster 
dort hinsetzen, wo man das Zeichen haben möchte und überträgt einfach 
8x16x3 Byte.

Komplizierter ist es, wenn man in ein Bild reinschreiben möchte. Dann 
muss man entweder das Bild auch im Controller gepuffert haben und kann 
dann auch alle Pixel des entsprechenden Rechtecks auf einen Rutsch 
übertragen. Oder man muss für jeden Pixel der zu zeichnen ist die 
RAM-Adresse übertragen.

von MagIO (Gast)


Lesenswert?

@Blitz Lampe

So einfach ist es nun auch wieder nicht. So kann man in nem Text-LCD 
display den Font umdefinieren, oder in einem B/W display Zeichen 
rüberschicken. Aber für ein grafik-Display muss du jedes Bit einzeln 
durchgehen und die entsprechenden Farbwerte für R, für G und für B 
senden.

Für ne 0 schickt man also den Farbwert für die Hintergrundfarbe und für 
ne 1 schickt man die Textfarbe.

von Blitz L. (blitzlampe)


Lesenswert?

@ MagIO

Stimmt natürlich was du schreibst bezüglich der Farben. Wenn das Bit 0 
ist dann muss ich die Hintergrundfarbe ausgeben ansonsten die 
Schriftfarbe.

Mhh na mal sehen hab mir mal 1 Stück in China bestellt. Werde es denoch 
im SPI Modus betreiben auch wenn es langsam ist.

bezüglich TOUCH SCREEN CONTROLLER
Es gibt z.B. den ads7843

http://focus.ti.com/lit/ds/symlink/ads7843.pdf

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.