Forum: Mikrocontroller und Digitale Elektronik (t6963c-)LCD memmory mapped an mega128


von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich habe gerade ein Verständnisproblem.

Ich habe ein Projekt in dem ich an einem mega128 externen Ram benötige 
und auch tein (t6963c-)LCD anschließen will.

Gewöhnlich per Portpins habe ich schon so ein Display am laufen, das ist 
kein Problem, jedoch hab ich jetzt gelesen, dass man das Display auch 
Memory Mapped am externen Speicherinterface betreiben kann. Zwar hab ich 
beim mega128 genug freie Ports, aber durch die anbindung ans 
Speicherinterface müsste das ganze doch etwas schneller gehen und 
außerdem interessierts mich wie das geht.

Ein Normaler SRAM hat ja Datenleitungen (die ja auf den gleichen 
Leitungen liegen wie die unteren Adressbits, daher wird ja noch ein 
Latch benötigt, das ist klar) und Adressleitungen. Um jetzt beides, RAM 
und LCD am gleichen BUS zu betreiben brauch ich auch noch einen 
Adressdecoder (wie auch immer der am ende aussieht). Doch das t6963c hat 
doch nur einen 8-bit breiten Datenbus,ist jetzt der einzige Vorteil das 
Display an das externe Memory Interface anzuschließen,  dass man nicht 
mehr selbst die R/W pulse erzeugen muss?

Ich verstehe gerade nicht ganz, wie ich den AVR und das LCD verheiraten 
kann ;)

Wenn jemand nen prinzipschaltbild oder sonstige Informationen 
diesbezüglich hat, wäre ich froh, wenn er diese Informationen mit mir 
teilen könnte.

Vielen Dank,
Hauke Radtki

von Thorsten F. (thorsten)


Lesenswert?

In Prinzip stimmt das schon so wie Du dir das gedacht hast.
Der T6963 hat ja scheinbar(lt. Datenblatt, welches ich grad gefunden 
hab) auch das 8080er Businterface, RD und WR also getrennt.
Die kommen 1:1 auf die RD und WR, die dein ATMega erzeugt.
Normalerweise legt man dann den Pin der zwischen Daten und Kommandos 
unterscheidet auf einen Addresspin(z.B. A0).
Jetzt brauchst du nur noch einen Addressdecoder, der dir bei gewünschter 
Addresse auf A0-A15 einen low-Pegel erzeugt mit dem du den Chip-Enable 
vom T6963 ansteuerst.

Damit könntest du dann über die Addressen(z.b. 0x8000 und 0x8001) Daten 
ins Display schreiben oder draus lesen.

Gruß

von Roland Praml (Gast)


Lesenswert?

Das Display hat (vermutlich) 8 Datenbits und ein oder mehrere RS 
(Register Selects), sowie ein R/W-Pin. Dies alles muss parallel zum 
SRAM. Lediglich die Enables kommen an den Adressdekoder.

Je nach Anzahl der RS Pins belegt das Display 1/2/4... Byte im 
XMEM-Interface.

Der Vorteil ist, wie du schon bemerkt hast, dass man keine RW Signale 
mehr generieren braucht, sondern einfach an die entsprechende 
Speicherstelle schreiben muss. Ein weiterer Vorteil ist, dass man 
IO-Pins sparen kann.

Gruß
Roland

von holger (Gast)


Lesenswert?

>ist jetzt der einzige Vorteil das
>Display an das externe Memory Interface anzuschließen,  dass man nicht
>mehr selbst die R/W pulse erzeugen muss?

Ganz grob gesagt: Ja.

Mit dem Adressdekoder musst du dir entsprechende Signale
für /CE und C/D erzeugen. Im einfachsten Fall schliesst
du A0 vom Adressbus an C/D an. Wenn A0=1 sendest/liest du
Kommandos. Wenn A0=0 sendest/liest du Daten. Das heisst
du musst zwei Adressen dekodieren. Für diese beiden Adressen
muss auch /CE auf 0 gehen. Ob du eine vollständige
Adressdekodierung z.B. mit einem GAL machst oder mit gespiegelten
Adressbereichen arbeitest, z.B alle Adressen von 32kB bis 64kB (A15=1)
nur fürs Display, liegt an dir.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich hab gerade folgenden Thread entdeckt: 
Beitrag "Frage zu Ressourcen (Grafkdisplay 240x128)"

Ich denke damit ist mir schon mal ganz gut geholfen.

Werd ich mir morgen noch mal genau durchlesen, aber ich denke da steht 
das richtige drin ;)

Mein Denkfehler war eher, dass ich dachte ich könnte mehr oder weniger 
direkt auf das display SRAM zugreifen.

Aber ich denke jetzt sind erst mal alle Klarheiten beseitigt.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Also ich hab mich jetzt für 32kB Ram entschieden, das wird mir reichen. 
Außerdem vereinfacht das die anbindung des t6963c, da ich einfach nur 
einen Invertar an A15 brauche (SRAM CE vor inverter t6963c CE nach dem 
inverter) da müsste doch eigentlich ein ganz normaler 74HC reichen oder 
muss der auch AHC wie der latch sein? Ich denke nicht, frage zur 
sicherheit aber noch mal hier nach ;)

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.