Forum: Mikrocontroller und Digitale Elektronik XMega 128 mit 32MByte SDRAM betreiben


von Alexander L. (lippi2000)


Lesenswert?

Ich benötige für eine Bildauswertung etwas mehr SD-Speicher als die 
möglichen 1Mbyte (8Mbit), die durch das normale EBI-Interface möglich 
sind. Ich habe mir überlegt, das 4-Port-Interface zu verwenden. Dort 
wird nur 1x das chipselect generiert. Ich will nun ein SDRAM mit Bänken 
benutzen. Da der RAM am DMA-Controller hängt, weiß ich im Programm 
selbst nicht, wannn genau die Transaktion erfolgt. Zudem darf das CS 
auch nicht von außen angelegt werden, sondern wird nur vom 
DRAM-Controller erzeugt (siehe Refresh usw.).

Nun folgende Idee:
Ich verwende 2 Portpins für die Bankauswahl. Diese zwei werden mit dem 
CS vom AVR jeweils AND-Verknüpft (gesteuertes Tor) und an den SDRAM 
gelegt.

Wie sieht das vom timing her aus? Der SDRAM wird ja mit Peripherie - 
Takt von 64MHz angesteuert. Wie bekomme ich mit, wann ich die CS 
umschalten kann, also der DMA keinen Zugriff steuert?


Gruß Alex

von Simon K. (simon) Benutzerseite


Lesenswert?

Klappt nicht. SDRAM muss zyklisch refreshed werden.

von Alexander L. (lippi2000)


Lesenswert?

Die ganze Ansteuerung für SDRAM hat der XMega (ATXmega128A1) ja schon 
drin. Nur kann man damit nur 1 Bank ansteuern. Das Chipselect muss ja zu 
unterschiedlichen Zykluszeiten anliegen. Ich möcht deswegen die Bank 
extern vorgeben und mit dem bereits vorhanden CS so verknüpfen, dass sie 
wieder nur zum entsprechenden Zyklus anliegen.

Refresh benötigt übrigens kein CS bzw. Bankauswahl. (In diesem 
Zyklusschritt nimmt der interne RAM Controller das CS vom Bus).

von Alexander L. (lippi2000)


Lesenswert?

Sorry, er kann ja 2 RAM-Bänke ansprechen (mit BA0, BA1).

von Felix H. (masterq)


Lesenswert?

Hallo Alexander wie ich sehe hast du dich mit dem thema xmega und ebi 
schon vor langer zeit auseinander gesetzt, kannst du mir vielleicht 2 
fragen beantworten?
Kann ich einen 8bit Speicher nehmen und 4bit einfach mit pullups oder 
pulldowns versehen?

aber gerade noch wichtiger... Wie konfiguriere ich die bank selection?

Und achja mit ba0 und ba1 kann man da nicht schon 4 verschiedene Bänke 
ansprechen?

waren dann doch 3... Vielen dank und Grüße

Felix

von ich (Gast)


Lesenswert?

>Ich habe mir überlegt, das 4-Port-Interface zu verwenden.

schöner Gedanke. Nur gibt es keinen xmega mit 4 Port Interface, auch 
wenn in der AppNote vom 4 Port Interface gesprochen wird. Die größten 
xmegas (A) haben nur ein 3 Port interface und damit funktioniert nur 4 
Bit breiter SDRAM und bis zu 8 Bit breiter SRAM.

Vielleicht gibt es ja irgendwann eine größere Version des xmega mit 4 
Port Interface, wobei ich das für unwahrscheinlich halte; die xmegas 
sind jetzt schon teuerer als so mancher 32 Bitter

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.