C8051F的超大容量Flash存儲(chǔ)器擴(kuò)展
摘要:NAND結(jié)構(gòu)Flash數(shù)據(jù)存儲(chǔ)器件是超大容量數(shù)據(jù)存儲(chǔ)的理想選擇,當(dāng)前被廣泛應(yīng)用于U盤、MP3和數(shù)碼相機(jī)的數(shù)據(jù)存儲(chǔ)。本文對(duì)該類型Flash的基本操作進(jìn)行研究并對(duì)實(shí)際應(yīng)用系統(tǒng)給予驗(yàn)證,揭示了NAND結(jié)構(gòu)Flash的操作規(guī)律。關(guān)鍵詞:NAND Flash 數(shù)據(jù)存儲(chǔ) C8051F
引 言
大容量數(shù)據(jù)存儲(chǔ)是單片機(jī)應(yīng)用系統(tǒng)的瓶頸,受到容量、功耗、尋址方式的約束。突破容量限制,可以很大程度上擴(kuò)展和提高應(yīng)用系統(tǒng)的總體功能。Sumsung公司的NAND結(jié)構(gòu)Flash存儲(chǔ)器件是一款性價(jià)比很高的超大容量數(shù)據(jù)存儲(chǔ)器件,在MP3、U盤、數(shù)碼相機(jī)和PDA中有廣泛的應(yīng)用,且市場(chǎng)占有份額逐年加大。用該器件作為各種單片機(jī)尤其是嵌入式系統(tǒng)的數(shù)據(jù)存儲(chǔ)器,可以完美地解決容量限制,實(shí)現(xiàn)靈活操作,勢(shì)必成為數(shù)據(jù)存儲(chǔ)的主流方向。
1 器件介紹
NAND結(jié)構(gòu)Flash是Sumsung公司隆重推出并著力開發(fā)的新一代數(shù)據(jù)存儲(chǔ)器件,電源電壓1.7~3.6V,體積小,功耗低,容量最大可達(dá)1GB,按頁進(jìn)行讀寫,按塊擦除,通過I/O口分時(shí)復(fù)用作為命令/地址/數(shù)據(jù)。本次應(yīng)用開發(fā)的是NAND結(jié)構(gòu)16MB的K9F2808UOB,其它大容量的器件只比該型號(hào)送出的地址多了幾字節(jié),操作指令和時(shí)序相同。具體結(jié)構(gòu)說明如圖1所示。
由圖1可知,該器件由1K個(gè)塊(block)組成,每個(gè)塊有32頁,每頁有528字節(jié),這528字節(jié)分成A、B、C三個(gè)區(qū)。對(duì)每一頁的尋址需要通過I/O口送出三個(gè)地址,第二、三行地址(A9~A23)指明尋址到某一頁,第一列地址指明尋址到頁的指定區(qū)中某一字節(jié)。對(duì)頁的分區(qū)命令如表1所列。
表1 起始指針位置與區(qū)域關(guān)系對(duì)照表
命 令 指針位置/字節(jié) 區(qū) 域 00H 0~255 陣列第一伴(A) 01H 256~511 陣列第二半(B) 50H 512~527 剩余陣列(C)由表1可以看出,00H、01H、50H只是選區(qū)指針。選定區(qū)的內(nèi)部尋址是由第一個(gè)列地址完成的,A0~A7可以最大尋址256字節(jié)。
2 應(yīng)用舉例
在開發(fā)便攜式心電信號(hào)采集監(jiān)視儀中,K9F2808被用做心電采樣數(shù)據(jù)存儲(chǔ)器。MCU采用美國Cygnal公司的SoC增強(qiáng)型單片機(jī)C8051F020,內(nèi)部RAM共有4352字節(jié),I/O支持雙向操作等。Flash的命令引腳要接到端口1上去,端口3是命令/地址/數(shù)據(jù)的復(fù)用形式。顯然這里的數(shù)據(jù)是并行的,因此操作速度很快,達(dá)到了讀頁 1.2ns,寫頁200μs。圖2給出了芯片的接口電路圖。由于篇幅所限,圖3只給出寫頁的命令時(shí)序,并對(duì)相關(guān)的指令代碼做簡要說明。
在寫頁之前,MCU的RAM中就應(yīng)該存有采樣來的528字節(jié)的數(shù)據(jù)。寫操作時(shí),先指出寫開始地址。這由選區(qū)命令和第一個(gè)列地址來共同指定,以后在寫頁時(shí)就可以忽略不寫。此處為了最大限度存儲(chǔ)數(shù)據(jù),開始地址定為A區(qū)的00H。為了指定這個(gè)地址,必須在送出命令80H之前送出選區(qū)命令00H,同時(shí)地址A0~A7置為0。緊跟在80H之后送出三個(gè)地址,第一個(gè)列地址已經(jīng)是00H,第二、三頁地址只要指定A9~A23就
[1] [2]