mikrocontroller.net

Forum: FPGA, VHDL & Co. SDRAM Daten halten.


Autor: Daddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend an alle!

Mein Projekt (Retrocomputer) läuft mit SRAM. Und ich habe vor auf SDRAM 
umzusteigen.
Was mich interessiert... Ich muss Daten ins SDRAM schreiben und danach 
FPGA neu konfigurieren. Bleiben Daten im SDRAM oder gehen verloren???
(Nach Danenblatt soll's mit "Auto Refresch" modi klappen)

Autor: Michael X. (Firma: vyuxc) (der-michl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Autorefresh war mal für Suspend vorgesehen. Du solltest trotzdem 
einen Dram-Controller implementieren. Es gab zwar schon Designs, die 
ohne auskamen, aber die waren schon knifflig.

Autor: Daddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kontroller werde ich sowieso implementieren. Ohne geht doch gar nicht. 
:)
Aber, wenn FPGA reconfiguriert wird (dauert ca. 3 Sekunden, im 
SlaveSerial modus) muss SDRAM ohne Clock Daten behalten. Geht das oder 
nicht???

Autor: Achim S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Daddy,

bei den Kommandobezeichnungen geht's zwischendurch etwas durcheinander. 
Autorefresh ist nach meinem Dafürhalten ein Kommando, mit dem du einen 
einzelnen Refresh auslöst (meistens CBR genannt). Was du brauchst ist 
der Self Refresh Mode, in dem das DRAM intern periodisch selbst ein 
Autorefresh Kommando erzeugt.

Um in den Self Refresh zu kommen, musst du ein gültiges Autorefresh 
Kommando absetzen und im selben Taktzyklus CKE auf low legen (im Zyklus 
davor muss CKE high gewesen sein). Solange du CKE auf low hältst und die 
Versorgungsspannung anliegt, ist das DRAM selbst für seinen Inhalt 
verantwortlich (für beliebig lange Zeiten). Du kannst dann auch CLK und 
sonstige Kommandotreiber abschalten, nur CKE low zählt.

Vor dem Self Refresh Exit (CKE auf high) muss die Clock wieder stabil 
anliegen. Danach musst du bestimmte Wartezeiten einhalten, bevor du 
selbst wieder aktive Kommandos ans DRAM treiben darfst (bei SDRAM sowas 
um 100ns, bei DDRx-SDRAM deutlich länger, um der DLL im DRAM Zeit zum 
Einregeln zu geben).

Einige DRAMs überstehen bei Raumtemp auch 3s ganz ohne Refresh, ohne 
dass deswegen ein Bit kippt. Mit dem Self Refresh Mode bist du aber auf 
der sicheren Seite.

schöne Grüße

Achim

Autor: Daddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen vielen DANK!!!

Ich fange jetzt an mein SDRAM Controller zu schreiben!

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.