mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Aufbau timing-diagramm von Speicher


Autor: Julia (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in welcher Reihenfolge wird ein Schreib- / und Lesezugriff bei einem 
Speicher realisiert? Liegen zuerst die  Daten am Datenbus an oder erst 
die Addressen - und wann wird der OE, CE WE Befehl gesendet?


Julia

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Schreibzugriff müssen Adressen und Daten  stabil anstehen, wenn der 
WE kommt, zum Lesen stehen die Adressen zuerst an, dann kommen gültige 
Daten. Für synchrone DRAM ist es etwas komplizierter.

Autor: Julia (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
vielen dank für die antwort,

d.h. im normalfall erst CE, dann die Addressen und Daten und 
abschließend WE und beim lesezugriff CE, Addessen und dann die Daten und 
abschließend wieder WE...

beim Lesezugriff im angehängten Bild

zuerst CE# bis dieser stabil anliegt (Hold-time Tceh). Leider wird in 
dem Diagramm nicht erklärt, welche Aussage genau Trh jeweils hat - oder 
ist das die jeweilige Setup-Time?

Warum gibt es stets zwei Hold-Zeiten bei jedem Pin? Einmal steht nur 
Hold time (z.B. für den Lesezugriff) und gleichzeitig wird die Hold time 
angegeben für toggle and Data# Polling? - z.B. beim Output Enable Hold 
Time.

Tacc -(address to output delay) entspricht der zeit, bis die addresse am 
speicher anliegt - also übertragen worden ist über die leiterbahnen? 
d.h. zum gleichen Zeitpunkt wenn die Addressen übertragen worden sind, 
ist auch schon Toe fertig (output enable to output delay)

WE# wird hier schon als erstes auf Lesezugriff gestellt.

Inwiefern ist Trc (read cycle time) wichtig? für gewisse spannungen gibt 
es mehrere teilweise unterschiedliche auswahlmöglichkeiten - z.b. 90ns 
oder 110ns - entsprechen diese zeiten der clock-frequenz? die in diesem 
diagramm ja gar nicht expliziet auftritt.

Gruß
Julia

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verrate mal ein bischen mehr über die Konstellation, also 
Prozessor/Speichertyp, evtl. Link auf's Datasheet damit man sich über 
Bezeichnungen leichter einigen kann.

Was für eine Taktfrequenz? Das Bild oben entspricht dem üblichen Zyklus 
eines asynchronen RAMs, bei dem es ja keinen Takt gibt.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> d.h. im normalfall erst CE, dann die Addressen

Üblich ist andersrum.

> dem Diagramm nicht erklärt, welche Aussage genau Trh jeweils hat - oder
> ist das die jeweilige Setup-Time?

Trh Spielt nur bei ersten Zugriff nach Reset eine Rolle.

> Tacc -(address to output delay) entspricht der zeit, bis die addresse am
> speicher anliegt

Nö. "Adresse liegt an" bis "passende Daten kommen raus".

> Inwiefern ist Trc (read cycle time) wichtig?

Schneller ist nicht zulässig.

> für gewisse spannungen gibt
> es mehrere teilweise unterschiedliche auswahlmöglichkeiten - z.b. 90ns
> oder 110ns

Spannungen misst man nicht in nsec. Aber auch so müsste ich deine 
Gedanken lesen können, um zu wissen auf welche 90/110 nsec du dich 
beziehst.

Autor: Julia (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh dann komm ich grad etwas durcheinander... d.h. eine taktfrequenz an 
sich hat nur ein SDRAM z.B. und SRAM und Flash Speicher laufen mit der 
Taktrate vom µController.

bei dem obigen kleinen Auszug handelt es sich um einen Flashspeicher von 
Spansion.
http://www.spansion.com/datasheets/s29gl-p_00_a5_e.pdf

ich wollte lediglich mich mal in solche Timing-Diagramme einlesen bzw. 
vertraut machen...

Gruß
Julia

Autor: Julia (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
d.h. Tacc ist die komplette Zeit in der die Addresse über die 
Addressleitungen übertragen werden und am Speicher anliegen... solange 
diese Addresse anliegt, können die Daten über die Datenleitungen 
ausgelesen werden.

das einzige was ich daran nicht ganz verstehe, wenn ich das Diagramm 
anschaue ist, dass die Tacc Zeit bereits vorbei ist und anschließend 
erst der Output also die Daten gültig sind. --> die Daten liegen zwar 
an, aber sobald Tacc abgelaufen ist, können diese Daten übertragen 
werden über den Datenbus?

und Trc ist dann die Zeit, die den kompletten Lesezugriff beinhaltet? 
Und somit dem Takt des µControllers entspricht oder man so legen kann?

Gruß
Julia

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme an, die 90/110 verwirren dich auf S.54: Es gibt den Speicher 
in 5 unterschiedlich schnellen Versionen (Speed Option), und für 
verschiedene Versorgungsspannungsbereiche (Model Number) zu kaufen. Die 
Zeiten sind teilweise von Speed Option und den Versorgungsspannungen 
abhängig. Dementsprechend muss man sich die richtigen Spalte/Zeile 
aussuchen.

Mit irgendeiner Taktfrequenz hat das nur sehr sehr indirekt zu tun. 
Entscheidend ist, ob die Zeiten eingehalten werden.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal durchgespielt, der Einfachheit halber mit ständig aktivem OE und CE. 
Zu einem Zeitpunkt T1 sind die angelegten Adressen gültig. Ab diesem 
Zeitpunkt ist der Inhalt der Datenleitungen undefiniert. Erst mit Ablauf 
von T1+Tacc ist deren Inhalt korrekt, und bleibt es solange bis sich die 
Adresse wieder ändern.

OE bestimmt, wann die speicherinternen Treiber der Datenleitungen aktiv 
werden. So werden die Leitungen spätestens aktiv wenn Toe verstrichen 
ist. Aktiv wohlgemerkt, nicht gültig, der Inhalt kann irgendein Unfug 
sein.

Weiterhin sind die Daten erst mit Ablauf von Tce nach der aktiven Flanke 
von CE gültig.

Zusammengefasst heisst das, dass der Inhalt der Datenleitungen erst 
verwertbar ist wenn alle diese Bedingungen erfüllt sind:
- Seit Anlegen der Adresse ist Tacc verstrichen.
- Seit der aktiven Flanke von CE ist Tce verstrichen.
- Seit der aktiven Flanke von OE ist Toe verstrichen.

Autor: Julia (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tce und Toe beinhalten dann die Setup-Time? weil die aktive Flanke 
befindet sich ja am Anfang der jeweiligen Zeit, oder seh ich das falsch?

und wenn Trc abgelaufen ist, dann liegen keine gültigen Daten mehr am 
Speicher-Ausgang an. Und Toh / Tdf ist die Zeit, in der die Ausgänge 
enabled werden - wieso befindet sich diese Zeit erst nach der Flanke?


und Trh sind dann die Zeiten, die sagen nach einem Reset muss Trh 
verstrichen sein, eher wieder der IC am EBI aktiviert werden kann.

Gruß
Julia

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Tce und Toe beinhalten dann die Setup-Time?

Nein. Welche?

> und wenn Trc abgelaufen ist, dann liegen keine gültigen Daten mehr am
> Speicher-Ausgang an.

Nein. Die bleiben ewig, solange sich die Adresse nicht ändert.

Andersrum: Die Adressen müssen mindestens Trc lang unverändert anliegen, 
kürzer ist nicht zulässig.

> Und Toh / Tdf ist die Zeit, in der die Ausgänge
> enabled werden - wieso befindet sich diese Zeit erst nach der Flanke?

Die Daten bleiben nach der inaktiven Flanke von OE mindestens Toh 
gültig, sind nach maximal Tdf tristated (high Z, offen).

> und Trh sind dann die Zeiten, die sagen nach einem Reset muss Trh
> verstrichen sein, eher wieder der IC am EBI aktiviert werden kann.

Ja.

Autor: Julia (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen dank Andreas für deine Hilfe!

nach ablaufen der Tdf Zeit (also wenn OE dann nicht mehr enabled ist), 
wielange muss man dann warten bis man wieder Toeh (Hold-time) anlegen 
darf und man wieder neue Daten aus dem SRAM auslesen kann, oder geht das 
dann ohne Unterbrechung weiter?

Inwiefern spielt bei den Signallaufzeiten die Laufzeit auf der 
Leiterbahn an sich eine Rolle? Wenn man mal annimmt, dass die 
Leiterbahnen für OE oder den Datenbus 40cm oder länger sind - dann 
funktioniert ja wahrscheinlich ab irgendeiner Länge das Timing nicht 
mehr... wie berechnet man diese Länge? Genauso gibt es wahrscheinlich 
auch eine minimale Länge, oder?

Gruß
Julia

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wielange muss man dann warten bis man wieder Toeh (Hold-time) anlegen
> darf und man wieder neue Daten aus dem SRAM auslesen kann, oder geht das
> dann ohne Unterbrechung weiter?

Ich wüsste nicht wie man eine Hold-Time irgendwo anlegen könnte.

Man muss OE nicht wegnehmen, kann es stehen lassen. Diese Bildchen 
beschreiben nur Zeitverhältnisse, nicht jedoch zwingende Abläufe. Sowohl 
CE als auch OE darf dauerhaft anliegen.

> Leiterbahn an sich eine Rolle? Wenn man mal annimmt, dass die
> Leiterbahnen für OE oder den Datenbus 40cm oder länger sind

Vergiss es. Bei langer Leitung ist die Laufzeit dein geringesten 
Problem. Eher schon die Signalqualität. Weshalb es sich empfiehlt, sowas 
garnicht erst auszuprobieren. Nimm kurze Leitungen.

Autor: Julia (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, d.h. es liegt eher an der Kapazität der Leiterbahn oder ähnlichem, 
dass die Spannung für ein aktiv high nach so einer Länge nicht mehr 
richtig erkannt werden kann?

Trotzdem noch eine fRage in diesem Bereich - häufig sieht oder liest man 
was über längenausgleich bei Speichern? Warum wird dass dann gemacht, 
wenn es auf die länge (ob 5cm oder 7cm lang) nicht ankommt?

Welche Nachteile werden durch sowas ausgebügelt?

Gruß
Julia

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ok, d.h. es liegt eher an der Kapazität der Leiterbahn oder ähnlichem,
> dass die Spannung für ein aktiv high nach so einer Länge nicht mehr
> richtig erkannt werden kann?

Lass dieses Thema für's erste liegen. Solange Du noch über die 
grundlegenden digitalen Abläufe stolperst, macht es nicht den geringsten 
Sinn über solche Dinge zu philosophieren.

> Trotzdem noch eine fRage in diesem Bereich - häufig sieht oder liest man
> was über längenausgleich bei Speichern? Warum wird dass dann gemacht,
> wenn es auf die länge (ob 5cm oder 7cm lang) nicht ankommt?

Weil es irgendwann doch drauf ankommt, bei hohen Frequenzen nämlich. 
Intels Prozessorbus wird mittlerweile mit Datenraten von 1,3GHz 
betrieben. Aber das sind keine gemütlichen Flash-ROMs.

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
viele Hersteller von Boards verwenden so eine anpassung der länge 
bereits bei normalen SDRAM 133 MHz ICs, um ein sauberes Timing zu 
gewährleisten..

vor allem beim Datenbus, so dass die Daten auch wirklich in einem Takt 
alle "gleichzeitig" am µC anliegen.

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.