cyber205の日記: DRAMは温めてから使う 2
DRAMは、電源を投入してから動作が安定するまで、
何回かリフレッシュサイクルを発動する必要があるのだけれど、
まるでこれ、エンジンの暖気運転みたいだなと思う。
某ボードではリフレッシュ回数を8回に設定していたのだけど、
本当にこれが正しい手順なのかどうか、まだ確信のおける資料が無い。
簡易データシートには載ってないのかな。
SDRAMのアクセス制御をどうやるのか、もう一度調べているのだけど、
ファーストページやEDOの頃とはえらく勝手が違うんで、結構驚く。
というか、よくわからない。
RASやCASもあるんだけど、かなり意味が違うっぽいし。
本当に、コマンドを送ることで動かすようになってるのだなとだけ確認。
P.S
エルピーダのアプリケーションノートによれば、SDRAMの初期化は、
電源電圧安定から100マイクロ秒のポーズ期間を経過した後、
全バンクをプリチャージするコマンドを発行、CBRもしくは
オートのリフレッシュを2回以上実行した後、モードレジスタ設定となっている。
ただし、リフレッシュ完了前にモードレジスタ設定するのも可だとか。
その後、通常のアクセスが可能になるんだそうだ。
…随分と、実際に動いてるコードとは手順の違う初期化方法だな…。
しかし、全バンクプリチャージって、どうやるんだろう…。
何とかArchive.orgにあるエルピーダの古い資料(PDF)を発見
うわ~っ、確かにリフレッシュを8回やってから使えって書いてあるわ(汗
(P35より)
・電源およびクロックを供給、CKE=H,DQM=Hその他入力端子をNOPあるいはDESLのいずれかに保持。
・電源およびクロックの安定後、さらに200μ秒間それを保持。
・すべてのバンクのプリチャージを実行。
・ダミーサイクルとしてオートリフレッシュコマンドを8回以上実行。
・モードレジスタ設定
…だって。
8回リフレッシュの実装で正しいのね。さっそく解析資料を書き換えなくては。
ELPIDAの (スコア:1)
Re:ELPIDAの (スコア:1)
やっぱりまだできてないみたいですね、残念。
とりあえず、その下のアプリケーションノートをダウンロードしてみました。