FSMCによるSRAM、NAND Flash増設について

前回の続き&完成編です。前回はほんとにメモ書き程度だったので。

ほんで、Cortex-M3には外部バス機能としてFSMCがついてるわけです。これはちょっと特殊です。なぜなら、外部回路無しでメモリを増設できるからです。これのピン配置を理解するには少し大変ですが、一回理解すればとても便利です。

ってことで、まずはメモリ側のピン定義

[SRAM]:4Mbit=256kx16(16ビット接続)

A0-17(アドレス)

D0-15(データ)

CE(チップセレクト)

WE(ライトイネーブル)

OE(アウトプットイネーブル)

BHE(上位ビットセレクト、D8-15)

BLE(下位ビットセレクト、D0-7)

[NAND]

D0-7(データ:8ビット接続時)orD0-15(データ:16ビット接続時)

W(ライトイネーブル)

R(リ-ドイネーブル)

RB(レディー/ビジー)

E(チップセレクト)

CL(コマンドラッチアップ)

AL(アドレスラッチアップ)

FSMCとの接続

FSMC->メモリ(左SRAM,右NAND)

A0-17 -> A0-17(SRAMのみ)

D0-15 -> D0-15(共通)

NEx -> CE(SRAMのみ)

NCEx -> E(NANDのみ)

NWE -> WE,W

NOE -> OE,R

BHE -> NBL1(SRAMのみ)

BLE -> NBL0(SRAMのみ)

CLE(A16と同ピン) -> CL(NANDのみ)

ALE(A17と同ピン) -> AL(NANDのみ)

INTx,NWAIT(ピンヘッダで選択できるようにするorNWAITのみ接続) -> RB(NANDのみ)

これらのうち、NEx,INTx,NWAIT,NCxはプルアップしてください。また、100ピンパッケージと144ピンパッケージとで一部なくなってるピン(たとえば、INTは100ピンパッケージにはありません)がありますが、そこは使えないということです。

わかっていただけたでしょうか。もしわからなければ気軽に質問どうぞ。

コメントをどうぞ