LCD Ansteuerung erlernen.

OP #4959252
Lesenswert?

Hallo zusammen,

ich habe mir "auf gut Glück" bei Pollin ein LCD-Dispay mitbestellt:

http://www.pollin.de/shop/dt/Mjk2ODc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_NAN_YA_LTC79H202T50K_240x320.html

Nun stellt sich heraus, dass es für dieses Display keine Librarys gibt. 
So wie ich das interpretiere, hat das Display keinen Grafikkontroller, 
sondern lediglich Zeilen- und Spaltentreiber, so dass der uC alles 
machen muss.

Meine Frage ist nun, wo man die Programmierung eines entsprechenden 
Treibers bzw. einer Library erlernen kann. Das Datenblatt habe ich mir 
zu Gemüte geführt, werde aber (mangels Kenntnissen & Erfahrung) nicht 
schlau draus.

Die LCD-Tutorials hier im Board helfen da auch nicht weiter.

Wo lernt man so etwas "von der Pike auf"??

Bin für Tipps dankbar.
Gruß
Ralf
(Firma: matzetronics) #4959267
Lesenswert?

Ralf J. schrieb:
> Die LCD-Tutorials hier im Board helfen da auch nicht weiter.

Aber mögl. das Projekt von Benedikt, der solche Displays, also 
'controllerlose', mit einem AVR antreibt:
Beitrag "Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"

Klar, das jedes Display andere Zeilen und Spaltenanzahl hat, man muss 
anpassen, aber da du ja auf gut Glück gerordert hast, ist jetzt ein 
wenig Eigenarbeit angesagt.

Der FLM ist sozusagen das 'Bild fängt an' Signal und markiert die erste 
Zeile. Dann wird mit jedem Datalatch Signal der Wert an D0-D3 eingelesen 
und mit Shiftclock zum nächten Pixel gewechselt - nur mal grob. 
Benedikts Software ist mittlerweile recht umfangreich, es lohnt sich 
sicher, da mal reinzuschauen. Ich habe den Umgang mit diesen Dingern 
anhand eines uCSimm gelernt, ein kleiner Linux Rechner mit Dragonball 
Controller (wie im Palm III), für den ich einen Framebuffer Treiber 
schrieb.
Der Dragonball hatte die Hardware für controllerlose LCD allerdings 
schon eingebaut.
OP #4959274
Lesenswert?

Nico .. schrieb:
> Richtig, das Display hat keinen Grafikkontroller! Du musst praktisch
> jeden Pixel einzeln ansteuern.
> Für einen Anfänge ist das aus meiner Sicht einfach zu schwer!
>
> Mit welchem Kontroller willst Du das denn umsetzen? Kennst Du dich mit
> Programmierung aus?

Dass das schwer wird, habe ich mir gedacht. Ich probiere so etwas aber 
dennoch gerne aus.

Im Moment habe ich das Display testweise an einen Mega 2560 
angeschlossen. Zu meinem Erfahrungshintergrund: Anfänger! 3-4 Projekte 
in C gemacht, viel durch "Abschauen" gelernt. Hauptsächlich Arduino, ein 
wenig AVR.
OP #4959277
Lesenswert?

Matthias S. schrieb:
> Ralf J. schrieb:
>> Die LCD-Tutorials hier im Board helfen da auch nicht weiter.
>
> Aber mögl. das Projekt von Benedikt, der solche Displays, also
> 'controllerlose', mit einem AVR antreibt:
> Beitrag "Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"

OK, das schaue ich mir an!

>
> Klar, das jedes Display andere Zeilen und Spaltenanzahl hat, man muss
> anpassen, aber da du ja auf gut Glück gerordert hast, ist jetzt ein
> wenig Eigenarbeit angesagt.
>

Genau, macht ja auch Spaß :-)

> Der FLM ist sozusagen das 'Bild fängt an' Signal und markiert die erste
> Zeile. Dann wird mit jedem Datalatch Signal der Wert an D0-D3 eingelesen
> und mit Shiftclock zum nächten Pixel gewechselt - nur mal grob.

Gut. So in etwa hatte den "Timing Chart" auch interpretiert. Hört sich 
ja eigentlich nicht soooo schwer an.

> Benedikts Software ist mittlerweile recht umfangreich, es lohnt sich
> sicher, da mal reinzuschauen. Ich habe den Umgang mit diesen Dingern
> anhand eines uCSimm gelernt, ein kleiner Linux Rechner mit Dragonball
> Controller (wie im Palm III), für den ich einen Framebuffer Treiber
> schrieb.
> Der Dragonball hatte die Hardware für controllerlose LCD allerdings
> schon eingebaut.

Was für eine Hardware? Muss man Hardware als Treiber zusammenlöten oder 
reicht es das rein per Software z.B. vom Arduino oder vom Atmega aus zu 
machen?
(Firma: matzetronics) #4959723
Lesenswert?

Ralf J. schrieb:
>> Der Dragonball hatte die Hardware für controllerlose LCD allerdings
>> schon eingebaut.
>
> Was für eine Hardware?

Beim Dragonball waren es programmierbare Zähler für Spalten und Zeilen, 
eine DMA Anordnung, um Daten aus dem Hauptspeicher ans Display zu 
schicken und eine Zugriffslogik, damit CPU und DMA auf den Framebuffer 
RAM zugreifen konnten, ohne sich ins Gehege zu kommen. Ausserdem konnte 
man die Datenbreite des LCD einstellen (von 1 - 4 Bit) und die 
Anfangsadresse des Framebuffers. Das ganze wurde dann einmal angeschubst 
und lief im Hintergrund weiter.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren