mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SRAM


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
da ich vor kurzem angefangen hab mit AVR´s zu experimentieren
interessiert mich nun die ansteuerung eines SRAM´s. Z.B. der 628512-55
von Reichelt ist ein 55ns Ram. Wenn ich die Tabellen im Datenbaltt
richtig verstanden hab, heißt das, dass 55 ns nach der read Anweisung
das Ergebniss an dem I/O Port anliegt. Was passiert, wenn ich die
Adresse ändere ohne zwischendurch die read Anweisung zu
unterbrechen???
Was würde in der Zeit bis die nächsten Daten bereit sind an dem I/O
Port anliegen????

Würde mich sehr über Hilfe freuen!
Gruß Markus

Autor: Yagan Z. Dongobar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

> Was würde in der Zeit bis die nächsten Daten bereit sind an dem I/O
> Port anliegen????

das wird vom Hersteller normalerweise nicht spezifiert.
Es kann also "irgendetwas" sein, bis die Daten wieder stabil sind.

Ciao, Yagan

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was passiert, wenn ich die Adresse ändere ohne zwischendurch
> die read Anweisung zu unterbrechen???

Es liegen spätestens 55nsec später die neuen Daten an. CE/OE dürfen
aktiv bleiben, beim Lesen ist das kein Problem. Beim Schreiben
funktioniert das so indes nicht, da muss mindestens CE oder WE
zwischendurch inaktiv sein.

Siehe Reichelt Datasheet Timing Diagram / Read Cycle.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, dass ich mich erst jetzt melde, aber danke für eure Antworten!
Hab jetzt noch eine Frage zur Tri-state Logik, da ich 3 Sram´s parallel
schalten will:

Wenn ich bei dem oben angesprochenen 628512-55
die Ausgänge auf High-Z schalte (CS=L  OE=H   WE=H)
und die Adresse angelegt ist und ich dann den Sram auf lesen schalte
(CS=L   OE=L   WE=H), wie lange dauert es dann, bis die Daten am
Ausgang anliegen?  Auch 55ns??

Sorry, aber ich komme mit den Tabellen noch nich so richtig zurecht!

Würde mich über Tipps freuen!
Gruß Markus

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du mehrere parellel schalten willst musst du CS aktiv beschalten,
sprich an eine Addressdekodierung so das immer nur ein Baustein aktiv
ist. Benutze am besten einen AVR mit XMEM Interface wie
ATmega8515,ATMega128,ATmeag162,ATMega64. Dort brauchst du dich ums
Timing nicht zu kümmern, selbst mit 16MHz Takt kann der AVR nur mit
maximal 62ns auf deinen 55ns SRAM zugreifen. Ich habe schon auf 70ns
SRAM ohne Waitstates zugegriffen und dies hat ohne Probleme
funktioniert.

Du willst doch nicht selber/manuell alle Signale schalten ? Dies macht
weniger Sinn.

Gruß Hagen

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wie lange dauert es dann, bis die Daten am Ausgang anliegen?

tOE=25nsec, d.h. von OE aktiv bis zu den Daten sind es 25nsec.
Vorausgesetzt die Adressen sind schon mindestens 55-25=30nsec vor OE
gültig.

@Hagen: Grundsätzlich kann er die Devices auch mit OE/WE auswählen und
CE immer aktiv lassen. Braucht so halt mehr Strom, evtl. etwas mehr
Aufwand und das Timing vom Datenbus wird interessanter.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A.K. ich weis das man so vorgehen kann und besonders auch muß falls man
im Timing kritisch ist. Zb. die schnellen asynchronen SRAM's können so
schneller gelesen werden wenn /WE die Selektion bestimmt.
Denoch in seinem Falle ist das ja eher unkritisch und warum dann
kompliziert wenn's einfacher geht :-)

Gruß Hagen

Autor: Alisa 1387 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Benutze am besten einen AVR mit XMEM Interface wie
ATmega8515"

der oben besagte Speicher hat 19 Eingänge für die Adresswahl und 8
Anschlüsse für Daten. Zusätzlich gibts noch write enable, chip select
und output enable inputs. Somit sind 29 oder 30 Ports zu versorgen. So
viele Pins gibt das XMEM Interface doch gar nicht her?

Da braucht man doch externe Register, oder? Wie ist der Kram denn
anzuschließen, wenn man sich nicht unnötig Arbeit machen möchte?

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zwei möglichkeiten

1. einen weiteren port des AVR's benutzen um die oberen drei adress
leitungen zu versorgen. Damit reicht ein OUT vor LD/ST.

2. einen weiteren 74*573 parallel zum ersten schalten eine weitere
leitung als 'high'-ALE definieren. Dies ist programm-technish etwas
aufwendiger, da du nun per hand XMEM ausschalten must die oberen 3
adressen auf PORTA legen must deine eigene 'high'-ALE toggeln und das
XMEM-interface wieder aktivieren, dann normal LD/ST.

die vor- und nachteile beider möglichkeiten sind offensichtlich.

Olaf

Autor: Alisa 1387 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"einen weiteren 573"

Gibt´s zum ersten 573 schon eine thread oder ein Schaltbild oder
irgendwas? Hab mir gerade das Datenblatt ausgedruckt. Ich nehem an man
geht seriell in den 573 und steuert damit die Adresse des RAM?

Sorry wegen der Anfängerfragen, aber ein solcher bin ich ;)

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein das ist ein parallel 8-bit transparent latch

http://www.xs4all.nl/~ganswijk/chipdir/pin/74573.txt

Andere 'standard' IC finded man auch mit verweisen auch die
hersteller

http://www.xs4all.nl/~ganswijk/chipdir/index.htm

Olaf

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.