Hallo... Ich habe vor an einen Atmega128 64kB SRAM dranzuhaengen. Nun ist es ja so, dass die ersten 4kB nicht genutzt werden koennen, d.h. 4kB internes SRAM + 60kB externes SRAM. Der Addressdecoder vom Atmega128 erzeugt ja auch die Signale /RD und /WR. Was ich meine: Wenn ich in den unteren 4kB bin, wird direkt gelesen und dementsprechend oben. Ich moechte aber noch ein Display+ein paar Latches ansteuern. Das moechte ueber eine Adresse machen. Wie kann ich jetzt das ganze aufbauen? Eine Addressdekodierung ist wahrscheinlich Plicht (wenn man jetzt keine extra Port Pins dazu nutzen moechte). Nur was fuer einen Trick gibt es um da jetzt noch ein Paar Adressen zu bekommen, die ich fuer diesen Fall verbrachen koennte? Danke. Alex
Hi. Ich denke mal, dass es leider nicht ohne Einbußen beim externen Speicher gehen wird. Ich würd mir erstmal überlegen, ob du wirklich 60kB SRAM brauchst. Wenn nicht, dann würd ich an deiner Stelle ein 32kB RAM nehmen und das auf die Adressen 0x8000 - 0xFFFF legen. Dann hast du immerhin auch 32kB externen Speicher und zusätzlich noch genügend Portleitungen um andere Sachen über die Adresse selektieren zu können. Konkret könnte es so ausschauen: 32kB SRAM: 0x8000 - 0xFFFF höchstes Adressbit A15 über einen inverter als Chipselect fürs RAM verwenden. sonstige Peripherie: Nimm nen 74xx138 (1-of-8 Decoder) und leg zum Beispiel die Addressleitungen A14,A13,A12 auf die 3 Steuerleitungen. Das Chipselect von deinem RAM gibst du noch auf einen Enable Eingang der High-Active ist - dann können das RAM und deine anderen Peripheriebausteine nicht gleichzeitig "chipselected" sein. mfg Andreas -- Andreas Auer aauer1 (at) sbox.tugraz.at Student of Telematics http://home.pages.at/aauer1 Graz University of Technology
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.