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