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
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.
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
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.
> 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.
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
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
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.
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.
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
> 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.
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
> 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.
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
> 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.
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.