Forum: Mikrocontroller und Digitale Elektronik SDRAM (MT48LC32M8A2P) nur halben Adressbereich nutzen


von Joerg Z. (jordi)


Lesenswert?

Hallo zusammen,

kann ich einen halben SDRAM vom Typ MT48LC32M8A2P (256Mb x8 = 32MB, hat 
die Adress-Pins A0 .. A12) an einen ATxmaga128A1U hängen, indem ich A12 
des SDRAM einfach auf Masse lege? "halb" bezieht sich also auf den 
Adressbereich, nicht auf die Datenbreite (nur 4 Bits von 8 nutzen, wie 
schon öfter in verschiedenen Foren diskutiert).

Ich möchte den ATxmega128A1U im "four-port SDRAM" Modus (mit EBIOUT für 
8 Bit-Datenbreite) betreiben. Dabei werden jedoch maximal 16MB 
(Adress-Pins A0 .. A11) unterstützt.

Im Datenblatt zum MT48LC32M8A2P steht, dass die Adressleitungen für die 
Übertragung von Op-Code zum SDRAM genutzt werden ("A[11:0] define the 
op-code written to the mode register"). Es werden aber anscheinend nur 
A0 .. A11 dazu verwendet.

Angenommen A12 des SDRAM kann prinzipiell auf Masse gelegt werden, muß 
der ATxmaga128A1U bezüglich Refreshing oder Organisation des externen 
Speichers dann wie für einen 16MB SDRAM konfiguriert werden? Kommt der 
SDRAM dann mit diesem Timing klar?

Schon mal vielen Dank für Hinweise.

von Amateur (Gast)


Lesenswert?

Es ist völlig egal, welchen Pin (A0 ... A12) Du fixierst. Auch ist es 
egal, ob Du ihn auf Low oder High legst. Wichtig sind definierte 
Zustände.

Es kann sogar Sein, dass die die ganzen Adressen durcheinander Würfelst, 
weil die Entflechtung dann einfacher ist.

von Joerg Z. (jordi)


Lesenswert?

@Amateur: Danke für Deine schnelle Antwort. Bist Du sicher, dass das 
auch für SDRAMs gilt? Denn wenn ich irgend ein Adress-Pin fixiere, wie 
verträgt sich das dann mit den Op-Codes, die über den Adressbus 
übertragen werden? Datenblatt: "A[11:0] define the op-code written to 
the mode register".

von 6A66 (Gast)


Lesenswert?

Amateur schrieb:
> Es ist völlig egal, welchen Pin (A0 ... A12) Du fixierst.

Hallo Amateur (nome est omen), hallo Joerg

Das ist falsch.
Es sollte mit A12 oder A10 gehen, ansonsten fehlt dir entwder ein Teil 
der Op-Codes oder ein Viertel statt die Hälfte des RAMs (RAS/CAS, also 
zweimal 1 bit = 2 bit = 1/4). Bei der Organisation x8 (die Du hast) 
sollte auch A11 festlegbar sein.

rgds

von Joerg Z. (jordi)


Lesenswert?

Hallo,

hab das Datenblatt nun intensiver gewälzt. Es scheint wirklich so zu 
sein, dass A12 oder A11 (beim 8 Bit Datenbus-Typ) oder, wenn max. nur 
ein bestimmter burst Modus verwendet werden soll, auch A10 auf einen 
festen Pegel gelegt werden kann, wenn nur der halbe Adressbereich 
verwendet werden soll.

A12 und A11 (A11 nur bei 8Bit Datenbus) scheinen intern rein als 
Adressleitungen verwendet zu werden.

A10 wird zusätzlich für READ/WRITE burst gebraucht, wobei: "A10 HIGH 
enables the auto precharge feature (nonpersistent), while A10 LOW 
disables the auto precharge feature".

Der 32MB SDRAM Typ mit 8Bit Datenbreite ist organisiert in 4 Banks mit 
jeweils 8k Rows (A0..A12) und 1k Cols (A0..A9). Bei Weglassen (auf HIGH 
oder LOW legen) von A12, A11 oder A10 wird nur die Hälfte der Rows 
verwendet. Das entspricht dann genau dem 16MB Typen MT48LC16M8A2P. Auch 
vom Timing her sehen beide gleich aus. Der MT48LC16M8A2P soll wohl 
kompatibel mit dem ATxmega128A1U sein. Es sollte also klappen.

Wäre aber trotzdem gut, wenn das jemand mit praktischen Erfahrungen mit 
diesen ICs bestätigen könnte.

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.