www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SRAM ansteuerung


Autor: miwitt001 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich wollte mit einem AVR einen externen SRAM ansteuern. Ich hab zwar
das Datenblatt gelesen und auch einige andere Quellen zu dem Thema,
aber eine kleine Frage hätte ich noch.
Wenn ich etwas in das RAM schreibe, dann läuft das doch folgendermaßen
ab:
1. Adresse anlegen
2. Write Enable auf 0
3. Daten anlegen
4. Write Enable auf 1
Die Chip Select Leitung ist immer auf Masse.
Mein Problem ist nun folgendes:
Wenn ich WE auf 0 ziehe, geht das RAM in den "Schreib-Modus". Nun
ändere ich die Richtung des Ports am AVR (DDRx Register) auf Ausgang.
Allerdings ist doch dann der Dateneingang des RAMs einen kurzen Moment
auf einem undefinierten Pegel, nämlich bis ich die Richtung des Port
gewechselt hab und der AVR immer noch auf "Lesen" steht. Stört das
irgendwie?? Mir würde spontan einfallen die Pullups des AVR
anzuschalten, oder macht für eine so kurze Zeit ein undefinierter
Zustand nichts aus?
Nur zur Sicherhet noch: Zum Lesen leg ich einfach die Adresse an und
lese die Daten sonst muss ich da ja nichts machen? Und kann ich die
Output enable Leitung einfach auf Masse legen oder was macht man mit
der? Laut Datenblatt kann ich damit nur die Ausgänge des RAMs hochomig
schalten, aber wozu?
Danke schonmal
mfg Michael

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

OE/ und WR/ dürfen nicht gleichzeitig aktiv sein. Du mußt also bei
ansteuern.

Der Ablauf zum Beschreiben:
1. OE/ und WR/ inaktiv
2. Adresse anlegen
3. Daten anlegen
4. WR/ aktiv
5. WR/ inaktiv

Der Ablauf zum Lesen:
1. OE/ und WR/ inaktiv
2. Adresse anlegen
3. OE/ aktiv
4. Daten einlesen
5. OE/ inaktiv

Matthias

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der kurze undefinierte Zustand ist nicht problematisch, die Pull-Ups
kannst Du getrost vergessen. Das RAM übernimmt die Daten mit der
steigenden Flanke an /WE, in den Datenblättern sind die entsprechenden
Timingdiagramme.
Die /OE Leitung ist zur Steuerung der Output-Treiber des RAM da. Wenn
mehrere RAMs benutzt werden, oder falls ein 16-Bit breiter Datenbus
genutzt wird, der auch Byte-weise angesteuert werden soll, dann werden
die verschiedenen Enable-Signale benötigt. In Deinem Fall, mit nur
einem einzigen SRAM, kannst Du rein theoretisch /CE und /OE fest auf
Masse legen, da ein Low an /WE priorität hat. Nachteilig ist, daß dann
der Datenbus nicht mehr von anderen Komponenten genutzt werden kann.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wärs denn mit einem AVR, der schon ein Interface für ext. Speicher
hat?

Autor: miwitt001 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK danke mehr wollt ich gar net wissen. Damit is alles klar. Wegen des
AVR mit dem externen SRAM Interface: Dann kann ich aber doch das SRAM
nicht mehr an die Leitungen anschließen wie ich will, oder kann man das
irgendwie einstellen?? Muss ich gleich mal schaun, glaub ich hab noch
einen Mega16 rumliegen.
mfg Michael

Autor: miwitt001 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, anscheinend hat der Mega16 sowas gar net. Dann code ich das ganze
lieber selber, sonst muss ich mir extra einen neuen bestellen... So is
billiger und macht mehr Spaß :-)

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.