mikrocontroller.net

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


Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

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

Autor: Thorsten Fritzke (thorsten)
Datum:

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

Autor: Roland Praml (Gast)
Datum:

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

Autor: holger (Gast)
Datum:

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

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

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

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

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

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.