Hallo, wie liest man dieses timing diagramm von samsung. http://www.samsung.com/global/business/semiconductor/productList.do?fmly_id=122 und dann rechts auf timing diagramm. auf seite 3: zuerst muss die Adresse angelegt werden - gleichzeitig mit der Auswahl der Speicherbank. Eine halbe clk-time später muss RAS - die Zeile im Speicher aktiviert werden, damit man sachen rauslesen kann. Trcd dauert dann drei clk-zyklen an. Anschließend kann man die DAten lesen. wie liest man diese diagramm eigentlich, wenn sowohl der high als auch der low status gleichzeitig vorhanden ist, wie z.B. das stets der Fall bei ADDR, CAS, RAS, A10 etc. der Fall ist? Bei dQM seh ich genau wann DQM low und wann high ist. Newbie
Grau sind wie unten vermekt "Don't care", aöso egal. Weiß und gleichzeitig high und low = mehrere Bit in einer Kurve dargestellt, als Text steht darin die Row-Adresse und zwei Takte später die Column-Adresse, nochmal zwei oder drei Takte später sind die Daten zum Lesen bereit.
Also "Ra" heißt, die Row-Adresse für Bank "a" , wobei "a" bedeutet, Bank-Adressen BA0 und BA1 sind "00"
Ich will beispielsweise eine VGA-Grafik ausgeben, 1024*768 Pixel mit 60 Hz, das sind 65 MHz CLOCK. Im Diagramm auf Seite 10 ist zu sehen, wie man ununterbrochen Daten aus dem RAM lesen kann. Eine Bank ist zum Beispiel 512 Pixel groß, dann muß ich rechtzeitig auf die zweite Bank umschalten. Im Full Page-Modus können alle 512 Pixel mit einem Lesebefehl angefordert werden, hier in der Grafik wären es nur 4 Pixel auf einmal, wobei das sogar noch abgebrochen wird.
oh mein monitor ist nicht so groß, so dass ich das "don`t care" nicht gesehen habe... d.h. gleichzeitig muss die addresse und die entsprechende Bank über BA[0 1] ausgewählt werden. Währenddessen ist RAW low und CAS high. Was bedeutet in diesem Zusammenhang noch mal A10/AP? Anschließend ist die Adresse wieder low und BA[0 1] auch low und RAS wird high (die über die Adresse und BA ausgewählte Zeile wird aktiv) - das dauert 3 clk-Zyklen. anschließend wird die CA-Addresse angelegt und BA[0 1] angelegt, so dass die Spalte ausgewählt wird. Jetzt wird anscheinend AP nicht benötigt. Dann wird RAS low (inaktiv) und CAS wird aktiv für 4 clk-zyklen - in dieser Zeit wird die Spalte aktiviert. Derweilen sind ADDR und BA wieder low. Wie wird genau Trac gekennzeichnet? In meinem Datenblatt von Samsung wird diese Zeit nicht aufgeführt. Abhängig von der Taktrate ist Tsac entsprechend lang zu wählen. Bis die Daten Qa an den µC übertragen werden können. Solange gelesen wird, ist WE high. Dann wird CAS wieder high und WE low für schreiben. eine neue Adresse liegt an und BA wurde gewählt. gleichzeitig werden schon die Daten übertragen Db. Dann wird WE wieder high - lesen. Die Adresse und BA sind low - liegen nicht mehr an und CAS wird High und RAS wird low. --> d.h. die Daten werden an die entsprechende Stelle im Speicher geschrieben? CS markiert stets, wann auf den SDRAM zugegriffern werden kann - nämlich wenn CS high ist. wenn die Adressen und BA anliegen kann demnach nicht auf SDRAM zugegriffen werden. Wie werden dann die Sachen gespeichert? Auch bei Db (Daten) ist CE low. Newbie
aber wie kann man jetzt aus so einem Diagramm das genaue Timing für einen SDRAM rauslesen? Die Diagramme zeigen ja nur was nach einander passieren muss, damit man sachen rauslesen kann oder reinschreiben kann. Klar die clk-time ergibt sich durch den Takt mit dem der SDRAM gespeist wird - aber heißt das dann auch, dass die Addresse im gleichen Moment anliegen muss wie BA[0 1]? Wieviel spielraum hat man hier? sind 1 - 2ns unterschied ok? Aus welchen Daten kann man das lesen? Olaf Welche Bedeutung kommt gleich nochmal DQM zu?
@Olaf: Das Timing ist im Grunde implizit - es handelt sich um _S_DRAM, synchrones DRAM, alles passiert synchron zur Taktflanke. Der Spielraum ergibt sich aus den Setup- und Hold-Zeiten - Alle Signale (Adresse, Kommando) müssen rechtzeitig vor der Taktflanke anliegen, und müssen ausreichend lange nach der Taktflanke stabil bleiben. Zu den Setup- und Hold-Zeiten des SDRAMs kommt dann noch Board Delay, Output vom SDRAM Controller etc. @Newbie: Du solltest die einzelnen Signale komplett ignorieren - Micron hat da IMHO eine deutlich bessere Dokumentation. Die Kombinationen der Signale entsprechen bestimmten Kommandos, die der Reihe nach angelegt werden. Eine Row (auch Page genannt) wird mit ACTIVE geöffnet (BA + Row Address), nach tRCD kann diese Row dann gelesen oder geschrieben werden. Zum Lesen wird READ angelegt (BA + Column Address), nach den CAS Latency Zyklen liegen dann die Daten an DQ an, bei einem Burst können weitere Daten gelesen etc. Zum Schreiben wird WRITE angelegt (BA + Column Address), die Daten die an DQ anliegen werden dann direkt geschrieben. Spätestens nach tRAS (Active to Precharge) muss die Row dann mit PRECHARGE (BA) geschlossen werden. Des weiteren muss natürlich in regelmässigen Abständen ein AUTO REFRESH ausgelöst werden. Gruß, Dominic
die minimalen Setup- und Hold-Zeiten stehen ja im Datenblatt drinnen. z.B. Setup-Zeit 3ns und Hold-Time 1ns (Input-Zeiten). Dies müssen eingehalten werden laut Datenblatt. bei einer bestimmten Frequenz von z.B. 66MHz = 15ns pro Taktzyklus. Wielange muss jetzt z.B. eine Adresse ADDR anliegen (laut Diagramm genau ein Taktzyklus)? Spielraum = 15ns - 3ns - 2ns - Zeit(in der Signal hier Adresse anliegen muss - wie nennt sich diese Zeit?). Olaf
Die Adresse muss mindestens für tSetup + tHold anliegen, und das genau von tSetup vor der Taktflanke, in der sie benötigt wird, und bis tHold nach dieser Flanke - k.a. ob's dafür einen Namen gibt. Gruß, Dominic
ok und mit der Taktflanke ist natürlich CLK-Taktflanke gemeint... noch eine zweite Frage die vielleicht auch aus diesem Diagramm resultiert; Den übergang zwischen Addresse liegt an Ba ist gewählt und RAS-Flanke wird aktiviert, verstehe ich noch nicht ganz - zeitlich gesehen. der abstand bei 66MHz zwischen zwei Taktflanken sind 15ns. Die Adresse wird bis 1ns (hold-time) nach der taktflanke gehalten und dann ist die adresse wieder weg. RAS wird jedoch erst 4ns vor der nächsten Taktflanke aktiviert --> wie kommt dann die angelegte Adresse über die Adressleitungen auch in den SDRAM rein, so dass die richtige Reihe ausgewählt werden kann? Olaf
Olaf wrote: > ok und mit der Taktflanke ist natürlich CLK-Taktflanke gemeint... Genau darauf wollte ich hinaus - es ist ein synchrones Design, und Signale werden erstmal nur relativ zur Taktflanke (CLK Takt* ist ein bisschen redundant) betrachtet. > Den übergang zwischen Addresse liegt an Ba ist gewählt und RAS-Flanke > wird aktiviert, verstehe ich noch nicht ganz - zeitlich gesehen. > > der abstand bei 66MHz zwischen zwei Taktflanken sind 15ns. Die Adresse > wird bis 1ns (hold-time) nach der taktflanke gehalten und dann ist die > adresse wieder weg. RAS wird jedoch erst 4ns vor der nächsten Taktflanke > aktiviert --> wie kommt dann die angelegte Adresse über die > Adressleitungen auch in den SDRAM rein, so dass die richtige Reihe > ausgewählt werden kann? Mir ist nicht ganz klar was du meinst. In dem Diagramm auf Seite 3 des Samsung Datasheets wird die Row an der zweiten steigenden Flanke von CLK ausgewählt (ist ganz unten mit "Row Active" gekennzeichnet"). nRAS ist ein active-low Signal - in dem Diagramm wird gezeigt wie es tSS vor der Flanke low gehen muss (zuvor: don't care) und tSH danach wieder don't care sein kann. Gruß, Dominic
>Mir ist nicht ganz klar was du meinst. In dem Diagramm auf Seite 3 des >Samsung Datasheets wird die Row an der zweiten steigenden Flanke von CLK >ausgewählt (ist ganz unten mit "Row Active" gekennzeichnet"). nRAS ist >ein active-low Signal - in dem Diagramm wird gezeigt wie es tSS vor der >Flanke low gehen muss (zuvor: don't care) und tSH danach wieder don't >care sein kann. ah ok - das hab ich übersehen, dass RAS ein aktive-low signal ist. Dann ist CAS auch ein aktiv low signal... ok, dann war das mein denkfehler... Welche Bedeutung hat gleich nochmal DQM? Ich dachte DQM gibt an welche Datenleitungen aktiv sind LDQM z.B. die ersten 8 Datenleitugnen und DQM die zweiten acht Datenleitungen. CS ist dann auch ein low-aktiv signal? WAs gibt die Burst Länge eigentlich an? Nur die Anzahl, wie oft hintereinander aus dem Speicher gelesen werden kann? Also bei Burstlänge = 1 kann nur 1x * Anzahl der Datenleitungen Bits rausgelesen werden? Olaf
Olaf wrote: > Welche Bedeutung hat gleich nochmal DQM? Ich dachte DQM gibt an welche > Datenleitungen aktiv sind LDQM z.B. die ersten 8 Datenleitugnen und DQM > die zweiten acht Datenleitungen. Beim Lesen sind die Datenleitungen CAS-Latency-Takte nachdem DQM high war High-Z. Beim Schreiben wird der Teil, für den DQM high war, nicht geschrieben, sondern behält seinen vorherigen Wert. DQM muss auch benutzt werden wenn ein READ Burst mit einem WRITE abgebrochen werden soll - DQM muss dann CAS-Latency-Takte vor dem Write HIGH sein, um Bus-Contention zu vermeiden. > CS ist dann auch ein low-aktiv signal? Ja - das wird üblicherweise durch einen waagerechten Strich über dem Signalnamen deutlich gemacht, so auch im Samsung Timing Diagramm. > WAs gibt die Burst Länge eigentlich an? Nur die Anzahl, wie oft > hintereinander aus dem Speicher gelesen werden kann? Also bei Burstlänge > = 1 kann nur 1x * Anzahl der Datenleitungen Bits rausgelesen werden? Die Burstlänge gibt an wie viele Worte hintereinander gelesen oder geschrieben werden sofern kein neues Kommando angelegt wurde. Gruß, Dominic
wie berechnet man die zeitliche Verzögerung der Leiterbahn mit hinein. also Tclk = Tsetup + Thold + Tleiterbahn Jeder IC hat ja eine gewisse Kapazität die zusammen mit dem Eingangswiderstand ein RC-Glied darstellt - rechnet man darüber die Verzögerung auf der Leiterbahn auch aus? Welches R wird dafür verwendet? R = V(output low) / I (output low) - kann nur diese wertebezeichnungen im datenblatt nicht immer finden. Hans
noch eine kleine frage, wo in diesem diagramm findet man eigentlich die clock-to-output time wieder? schon mal vielen dank für die zahlreichen antworten... Olaf
die output-to-clock time ist hier doch der minimalen hold time entsprechend, oder? also der stabil bleibende teil nach der aktiven taktflanke? Jeder IC hat ja eine gewisse Kapazität die zusammen mit dem Eingangswiderstand ein RC-Glied darstellt - rechnet man darüber die Verzögerung auf der Leiterbahn auch aus? Welches R wird dafür verwendet? R = V(output low) / I (output low) - kann nur diese wertebezeichnungen im datenblatt nicht immer finden.
ich dachte aber das output-to-clk und hold-time zwei verschiedene zeiten sind?
aber in diesem diagramm kann ich die clk-to-output time nciht deuten. Olaf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.