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
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.
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.
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.
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.
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
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.