Forum: Mikrocontroller und Digitale Elektronik ST7529 Teil vom LCD refreshen


von Marco (Gast)


Lesenswert?

Hi,

ich hab mir ein Display mit dem ST7529  Controller gekauft und kann es 
bereits über GPIOs (der Prozessor hat keinen Datenbus) ansteuern. Bilder 
usw. werden richtig angezeigt.

Gibt es eine Möglichkeit, dass man z.B. nur ein paar wenige Pixel in 
einem bereits bestehenden (angezeigten) Bild updaten kann?

Zum Beispiel möchte ich gerne oben rechts eine Uhrzeit anzeigen. Wenn 
ich jetzt jede Sekunde das komplette Bild refreshen muss, sieht das 
natürlich nicht besonders toll aus.

Gruß
Marco

von Erich (Gast)


Lesenswert?

Ohne jetzt diesen LCD Controller zu kennen (und zu faul das 
nachzulesen...):
Es gibt mehrere Lösungsansätze für das Problem.

1.) Der Controller unterstützt mehrere Layer, die überlagert werden 
können. Siehe z.B. SED1335 
http://www.lcd-module.de/eng/pdf/zubehoer/sed1335.pdf
2.) Nachbildung der 2-Layer-Technik durch 2 Rambereiche im uC, die vor 
der Ausgabe jeweils mit "OR" verknüpft werden. Ggf. nur Teilbereich 
ausgeben, der sich verändert hat (dann evtl. 3. Ramlayer nötig) oder 
Bereich, in welchem die Änderung "bekannt" ist ("rechts oben").
3.) Ähnlich 2.), aber nur den "bekannten" Teilbereich des LCDs jeweils 
adressieren und überschreiben, in welchem sich die Uhranzeige befindet. 
Daten vorher im uC Ram bilden.

Generell ist dazu zu raten, einen uC mit externem 
Daten-/(Teil-)Adressbus einzusetzen, da dies die Sache erheblich 
beschleunigt. Nennt sich manchmal "microprocessor mode".
Denn i.d.R. haben LCD Controller eine "Autoincrement-Write" 
Funktionalität, d.h. man kann einen kompletten Speicherblock schnell 
ausgeben, ggf. sogar per DMA, die Steuersignale erzeugt das 
Speicherinterface automatisch.
Achja: Und Ram sollte man auch ziemlich viel haben...

Gruss

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.