mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Chip select


Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andreas Auer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.