mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu SRAM Timing


Autor: Läubi .. (laeubi) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche gerade das Timing von obigem SRAM Baustein genauer zu 
verstehen.

1) Read Cycle 1-(Address Controlled)
Sehe ich das richtig das bei OE=0, CS=0 und WE=1 nur eine Addresse für 
Trc(z.B. 15ns) anlegen muß, und nach Toc (3ns) kann ich dann die Daten 
auslesen ohne speziellen lese Impuls?

2) Write Cycle 2-(OE = VIL Fixed)
Hier verstehe ich nicht ganz ob durch die steigende Flanke von OE oder 
durch die steigende Flanke von WR die Daten übernommen werden oder eins 
von beidem.

Könnte man also RD dauerhaft auf LOW legen, CS=0 und WE=1 fürs lesen.
Zum schreiben dann WE=0 und mit CS den schreibimpuls auslösen?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Läubi .. schrieb:
> Ich versuche gerade das Timing von obigem SRAM Baustein genauer zu
> verstehen.
>
> 1) Read Cycle 1-(Address Controlled)
> Sehe ich das richtig das bei OE=0, CS=0 und WE=1 nur eine Addresse für
> Trc(z.B. 15ns) anlegen muß, und nach Toc (3ns) kann ich dann die Daten
> auslesen ohne speziellen lese Impuls?
Ja. Geht eigentlich bei fast? allen statischen Rams, nur dort geben die 
Hersteller keine zeiten dazu an, weil unüblich.
Bei den Cache-Rams wurde das aber geziehlt so benutzt.
>
> 2) Write Cycle 2-(OE = VIL Fixed)
> Hier verstehe ich nicht ganz ob durch die steigende Flanke von OE oder
> durch die steigende Flanke von WR die Daten übernommen werden oder eins
> von beidem.
/OE ist H, also inaktiv.
Die zueltzt kommende fallende Flanke beginnt das Schreiben, also 
entweder /WE oder /CS, es müssen ja beide L sein.
>
> Könnte man also RD dauerhaft auf LOW legen, CS=0 und WE=1 fürs lesen.
> Zum schreiben dann WE=0 und mit CS den schreibimpuls auslösen?

Du meinst mit RD jetzt/OE?
/OE muß H sein, damit geschrieben wird, der schaltet u.a. im Ram die 
Ausgangstreiber ab.
Der Zustand /CS = L, /WE = L und /OE = L ist laut Datenblatt nicht 
definiert.

Der schnellste Zyklyklus dürfte der sein, den ich benutze:
/CS fest auf L, Schreiben mit L-Impuls an /WE.
Üblicherweise ist ein Zugriff über /CS der langsamste, weil da noch die 
Umschaltung aus dem Stromsparmode stattfindet.

Lesen mache ich mit Read Cycle 1, allerdings nutze ich da ja die Zeiten 
nicht sonderlich aus (Zeit zwischen 2 Adresswecsheln ist viel größer als 
die Zykluszeit des Ram.

Gruß aus Berlin
Michael

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael U. schrieb:
>> 2) Write Cycle 2-(OE = VIL Fixed)
OE = VIL Fixed hatte ich jezt so interpretiert das OE = V (in) (low) = 
Ground = Aktiv
> /OE ist H, also inaktiv.
Das wundert mich ja ich hatte auch erwartet das OE inaktiv sein muß...

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Läubi .. schrieb:
> Michael U. schrieb:
>>> 2) Write Cycle 2-(OE = VIL Fixed)
> OE = VIL Fixed hatte ich jezt so interpretiert das OE = V (in) (low) =
> Ground = Aktiv
>> /OE ist H, also inaktiv.
> Das wundert mich ja ich hatte auch erwartet das OE inaktiv sein muß...

Hmm, ist wirklich wiedersprüchlich.
In der Zustandstabelle gibt es den Zustand nicht, im Timindiagramm ist 
es aber offenbar wirklich so gemeint (/OE = L).
Noch seltsamer ist die Anmerkung 1 am Diagramm...

Was soll ich schreiben, wenn der Ram auf Ausgang ist und wann gilt das 
so???

PS: habe gerade in meinem 8kx8 Datenblatt von UMC geschaut, da gibt es 
den Zyklus auch so incl. der Anmerkungen.

ok, gibt einen Sinn: es liegen immer die Ausgangsdaten an. Nach der 
fallenden Flanke von /WE wird von Ausgang auf Eingang umgeschaltet 
(TWHZ), dann müssen die Schreibdaten angelegt werden und zwischen TDH 
und TOW wird der Ram wieder auf Ausgang geschaltet.
Wäre mir zu anstrengend das Timing. ;-)

Gruß aus Berlin
Michael

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja ich habs halt so verstanden das man wenn man Read Cycle 1 und Write 
Cycle 2 nutzt OE dauerhaft auf LOW legen kann, zum schreiben mehrere 
Datensätze WR auf 1 läßt (und somit der Ausgangstreiber dauerhaft 
deaktiviert ist) und das schreiben mit CS einleitet.

Somit hätte man eine Leitung die immer zwischen Lesen und Schreiben 
umschalten kann (nämlich WR) und eine als "write strobe" nämlich CS.
Zusätzlich hatt man eine Art "Write-Through" Funktion da das 
geschriebene Wort sofort am Ausgang anliegt sobald auf lesen 
umgeschaltet wird.

Hätte für mich den Vorteil das man mit einer einzigen Leitung 
schreiben/lesen umschaltet und sich so einen gegenseitigen Ausschluß von 
OE=0 und WR=0 spart...

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.