Forum: Mikrocontroller und Digitale Elektronik AT90CAN, XMEM und LCD


von Chris (Gast)


Lesenswert?

Hallo zusammen,

ich lese hier schon seit mehreren Jahren mit und habe auch etliche 
Probleme durch lesen in diesem Forum lösen können.

Nun habe ich eine Verständnisfrage zum Theme AT90CAN XMEM-Interface und 
der möglichen Anbindung an ein TFT Display (HX8347-I).

Ich habe mir zu dem Thema das Datenblatt durchgelesen aber ganz klar ist 
mir die Sache noch nicht.
Kann ich das XMEM Interface überhaupt dafür verwenden?
Wenn ich das XMEM Interface benutzen kann habe ich den Vorteil des 
erweiterten Speicherbereichs und muss nicht den Program-SRAM dafür 
verwenden, ist das richtig? Sprich ich habe dann eine Kopie des VRAMs im 
XMEM-Bereich??

Wenn ich das XMEM benutze, kann ich die Ansteuerung dann auch per 16Bit 
machen?
Oder soll ich das lieber über die normalen Portpins machen?

Wäre super wenn mir das jemand erklären könnte!
Besten Dank und Gruß,
Christian

von Frank K. (fchk)


Lesenswert?

1. Ja, Du kannst das XMEM Interface (EBI) dafür verwenden, und Du sollst 
es auch.

2. Der Vorteil des EBI ist, dass die Zugriffe darüber am schnellsten 
sind. Zu Fuß per Port IO würde es 5-10 mal so lange dauern. Das kommt 
daher, dass der AVR die ganze Ansteuerung automatisch macht.

3. Diese ganzen Displays haben keinen direkt zugreifbaren Bildspeicher. 
Du musst immer über einen Registersatz ein Fenster setzen und kannst 
dann über ein Datenregister aufeinanderfolgende Bytes lesen oder 
schreiben.

4. Für eine 16 Bit Ansteuerung brauchst Du zusätzliche Latches für die 
High-Bytes in jede Richtung. Der Datenbus des AVR ist ja nur 8 Bit 
breit. Bei einem 16 Bit Display musst Du zuerst das High-Byte ins 
Schreib-Latch schreiben, dann das Low-Byte, wobei beim Schreiben des 
Low-Bytes die gesamten 16 Bit ans Display übertragen werden. Beim Lesen 
musst Du zuerst das Low-Byte lesen, wobei das gesamte 16 Bit Wort 
gelesen wird und die oberen 8 Bit in ein Lese-Latch geschrieben werden, 
das Du im zweiten Schritt auslesen musst.
Bei einem Display mit 16 Bit Bus kannst Du die beiden Hälften nicht 
getrennt ansprechen, daher dieser Hardwareaufwand. Ist aber nicht so 
wild, ein paar 74HC oder ein XC9572XL CPLD reichen dafür.

5. Denke daran, dass die Displays IO-Spannungen von 2.8 bis 3 V haben. 
Bei einem 5V AVR brauchst Du ohnehin Pegelwandler, da ist dann der 
zusätzliche Aufwand für die Latches dann nicht mehr ganz so groß.

6. Manche Displays kannst Du auf 8 Bit Bus umstellen, bei anderen sind 
die Pins dafür intern fest verdrahtet. Wenns geht, nimm ein Display mit 
8 Bit Bus.

7. Das gesagte gilt für die ganze HX83xx und ILI93xx Displays.

fchk

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.