www.mikrocontroller.net

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


Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: F. Reiche (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmut L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hans B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Roger Presi (presi007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

Roger

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Selbst malen? Ein Pixelfont ist ja nun kein Hexenwerk...

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: MagIO (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: MagIO (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: MagIO (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.