Forum: Mikrocontroller und Digitale Elektronik Flash- u. RAM-Speicher an 32Bit Addressbus


von Peter K (Gast)


Lesenswert?

hallo,

ich suche einen 4MB großen flash- und einen sram-speicher, die ich an 
einen 32Bit breiten Addressbus gleichzeitig bedienen kann.

leider hab ich bis jetzt sowas nicht gefunden...

Peter K

von Andreas K. (a-k)


Lesenswert?

Für 4Mx8 Speicher benötigt man 22 Adressleitungen. Warum sollte der 
Speicher also 32 Leitungen haben? Die übrigen Adressen zu dekodieren ist 
dein Job, nicht der vom Speicher.

von crazy horse (Gast)


Lesenswert?

wichtiger als die Adressbusbreite (die ergibt sich automatisch aus der 
Speicherkapazität) wäre die Datenbusbreite.
Falls du 32bit-Datenbus meinst - zur Not 2 16bitter parallel betreiben. 
Aus dem Stegreif kenne ich keine 32Bit-SRAM oder Flash.

von Peter K (Gast)


Lesenswert?

mein Datenbus ist auch 32Bit breit...

ich möchte gleichzeitig über den Addressbus 32Bit einen SRAM und einen 
FLash speicher addressieren können, die beide 4MB gro0 sein sollen... 
dadurch kann ich die daten vom flash in den ram 1zu1 am anfang 
kopieren... mein µC hat selber keinen ram, flash etc.

von Andreas K. (a-k)


Lesenswert?

Also suchst du Standardware, die nur eben nicht 32 Bits breit ist, 
sondern 8 oder 16 Bits. Ergibt also insgesamt 5 Bausteine, 2 Flash x16, 
2 SRAM x16, ein Dekoder.

von Peter K (Gast)


Lesenswert?

eigentlich wollte ich den sram mit den addressen 000 - 0FF bedienen und 
den flash z.B. ab 0FF - FFF ... also ein zusammenhängender speicher, so 
dass ich auf beides gleichzeitig drauf zugreifen kann

von Andreas K. (a-k)


Lesenswert?

Du willst also, dass auf 0FF sowohl Flash also auch SRAM gleichzeitig 
reagieren? Wobei 000-0FF bei mir 256 Worte sind. Wäre mir zu wenig. Und 
ich sehe immer noch nicht, wo dein Problem ist.

von Peter K (Gast)


Lesenswert?

nein die addresswerte waren jetzt nur fiktiv gewählt

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, dann kannst Du eben NICHT gleichzeitig darauf zugreifen, weil Dein 
µC nur EINE Adresse zu einem definierten Zeitpunkt an den Adressbus 
anlegen kann.

Unterstützt Dein µC nur 32-Bit-Speicherzugriffe? Oder hat er, wie manche 
32-Bit-Prozessoren, auch die Fähigkeit, kleinere Busbreiten 
anzusprechen, so daß beispielsweise einzelne Bytes angesprochen werden 
können?

In ersterem Falle ist's ganz simpel, nimm so viele 8-Bit- oder 
16-Bit-SRAMs und Flash-ROMs, bis die Anzahl der Bits 32 beträgt (also 
jeweils vier oder zwei), hänge deren Adressbusse parallel an den µC und 
die Datenleitungen jeweils an die korrespondierenden Byte- oder 
Word-Bereiche. Die Steuerleitungen (/OE, /WE) werden ebenfalls 
parallelgeschaltet, /CS aller RAMs wird parallelgeschaltet und an eine 
von Dir zu schaffende Adressdecoderlogik gehängt, ebenso wird mit /CS 
der Flash-ROMs verfahren.

Wenn der µC auf seinem Speicherinterface aber auch "schmalere" Zugriffe 
durchführen kann, dann wird die Angelegenheit komplizierter, da Du dann 
auch die entsprechenden Byte-Select-Leitungen auswerten musst.

Was isses denn für einer?

von Peter K (Gast)


Lesenswert?

das ist mein µC xpc860tzp50d3 von Freescale.

von Eckhard (Gast)


Lesenswert?

Hallo,

also du Benötigts 22 Adressleitungen für die Speicherbausteine, aus den 
anderen Adressleitungen baust Du Dir die Chipselect Signale, die die 
Bausteine in einem Bestimmten Speicherbereich auswählen. Wenn RAm und 
FLASH in unterschiedklichen bereichen liegen ( platz ist ja im 
Adressraum genug vorhanden ) kannst Du auch beide ansprechen. Am 
Simpelsten wäre es wenn Du einfach A22 benutzt um das Chipselect Signal 
zu generieren. Dann ist zwar der restliche adressraum nicht mehr zu 
nutzen aber wenns langt kein Problem.

Eckhard

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.