摘要: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ī)律。
引 言
大容量數(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公司隆重推出并著力開(kāi)發(fā)的新一代數(shù)據(jù)存儲(chǔ)器件,電源電壓1.7~3.6V,體積小,功耗低,容量最大可達(dá)1GB,按頁(yè)進(jìn)行讀寫,按塊擦除,通過(guò)I/O口分時(shí)復(fù)用作為命令/地址/數(shù)據(jù)。本次應(yīng)用開(kāi)發(fā)的是NAND結(jié)構(gòu)16MB的K9F2808UOB,其它大容量的器件只比該型號(hào)送出的地址多了幾字節(jié),操作指令和時(shí)序相同。具體結(jié)構(gòu)說(shuō)明如圖1所示。
由圖1可知,該器件由1K個(gè)塊(block)組成,每個(gè)塊有32頁(yè),每頁(yè)有528字節(jié),這528字節(jié)分成A、B、C三個(gè)區(qū)。對(duì)每一頁(yè)的尋址需要通過(guò)I/O口送出三個(gè)地址,第二、三行地址(A9~A23)指明尋址到某一頁(yè),第一列地址指明尋址到頁(yè)的指定區(qū)中某一字節(jié)。對(duì)頁(yè)的分區(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)用舉例
在開(kāi)發(fā)便攜式心電信號(hào)采集監(jiān)視儀中,K9F2808被用做心電采樣數(shù)據(jù)存儲(chǔ)器。MCU采用美國(guó)Cygnal公司的SoC增強(qiáng)型單片機(jī)C8051F020,內(nèi)部RAM共有4352字節(jié),I/O支持雙向操作等。Flash的命令引腳要接到端口1上去,端口3是命令/地址/數(shù)據(jù)的復(fù)用形式。顯然這里的數(shù)據(jù)是并行的,因此操作速度很快,達(dá)到了讀頁(yè) 1.2ns,寫頁(yè)200μs。圖2給出了芯片的接口電路圖。由于篇幅所限,圖3只給出寫頁(yè)的命令時(shí)序,并對(duì)相關(guān)的指令代碼做簡(jiǎn)要說(shuō)明。
在寫頁(yè)之前,MCU的RAM中就應(yīng)該存有采樣來(lái)的528字節(jié)的數(shù)據(jù)。寫操作時(shí),先指出寫開(kāi)始地址。這由選區(qū)命令和第一個(gè)列地址來(lái)共同指定,以后在寫頁(yè)時(shí)就可以忽略不寫。此處為了最大限度存儲(chǔ)數(shù)據(jù),開(kāi)始地址定為A區(qū)的00H。為了指定這個(gè)地址,必須在送出命令80H之前送出選區(qū)命令00H,同時(shí)地址A0~A7置為0。緊跟在80H之后送出三個(gè)地址,第一個(gè)列地址已經(jīng)是00H,第二、三頁(yè)地址只要指定A9~A23就可以了。隨后連續(xù)送出528個(gè)數(shù)據(jù)字節(jié),為了把數(shù)據(jù)從Flash的數(shù)據(jù)寄存器寫入對(duì)應(yīng)存儲(chǔ)單元,接下來(lái)再寫入命令10H。經(jīng)過(guò)約500μs的物理寫入,就可以進(jìn)行狀態(tài)查詢了。寫入命令字70H后,從Flash的I/O0位就可以讀出操作結(jié)果標(biāo)志。在執(zhí)行主代碼之前,需要對(duì)單片機(jī)進(jìn)行初始化和定義操作子函數(shù)。詳細(xì)的寫入程序清單請(qǐng)參看本刊網(wǎng)站www.dpj.com.cn。
圖3
3 小 結(jié)
以上操作代碼成功實(shí)現(xiàn)了對(duì)Sumsung公司NAND結(jié)構(gòu)Flash的頁(yè)寫入,其它基本操作只要在寫頁(yè)的基礎(chǔ)上進(jìn)行修改即可。在使用該器件時(shí)要注意:①所選單片機(jī)最好是高速的,內(nèi)部RAM要大,端口支持實(shí)時(shí)雙向輸入輸出;②由于該Flash的操作時(shí)序是ns級(jí),所以在調(diào)試時(shí)要注意指令的安排順序和有選擇地加入空操作指令,以滿足其精確的時(shí)序要求;③對(duì)于實(shí)施信號(hào)檢測(cè)采樣的各種工業(yè)應(yīng)用,本文的大容量Flash可圓滿實(shí)現(xiàn)各種基本操作。
- c805(9848)
- 儲(chǔ)器擴(kuò)展(6086)
相關(guān)推薦
8051單片機(jī)內(nèi)部程序存儲(chǔ)器容量
C8051F120 FLASH編程問(wèn)題
C8051F35X單片機(jī)內(nèi)部Flash存儲(chǔ)器的擦寫方法
C8051F410嵌入式 微控制器芯片
C8051F410概述
C8051F與DA芯片TLC7524共同實(shí)現(xiàn)模擬信號(hào)輸出
C8051F單片機(jī)的IAP系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
C8051F單片機(jī)系統(tǒng)教學(xué)實(shí)驗(yàn)機(jī)使用說(shuō)明(A型)
C8051F單片機(jī)解密方法型號(hào)大全
C8051F同時(shí)實(shí)現(xiàn)AD和串口收發(fā)的程序
C8051F系列單片機(jī)
FLASH容量的大小
Flash存儲(chǔ)器分為哪幾類?Flash存儲(chǔ)器有什么特點(diǎn)?
Flash存儲(chǔ)器的使用壽命有什么辦法延長(zhǎng)嗎?
Flash存儲(chǔ)器的故障特征
c8051f單片機(jī)特性
c8051f單片機(jī)簡(jiǎn)介
c8051f單片機(jī)資料下載
c8051f系列單片機(jī)的相關(guān)問(wèn)題
存儲(chǔ)器容量擴(kuò)展——位擴(kuò)展、字擴(kuò)展 精選資料推薦
存儲(chǔ)器容量的擴(kuò)展位
存儲(chǔ)器擴(kuò)展的優(yōu)缺點(diǎn)是什么?
CY7C68013A程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器擴(kuò)展,IFLabs全功能USB核心板
MCS-51單片機(jī)訪問(wèn)超大容量存儲(chǔ)器的實(shí)現(xiàn)
[下載]應(yīng)用c8051f單片機(jī)總結(jié)出來(lái)的經(jīng)驗(yàn)------大家共同分享一下
[原創(chuàng)c8051f單片機(jī)應(yīng)用解析之c8051f330
[原創(chuàng)]C8051F340DK學(xué)習(xí)板/開(kāi)發(fā)板/開(kāi)發(fā)工具功能簡(jiǎn)介
[原創(chuàng)]c8051f020/多功能/開(kāi)發(fā)板/實(shí)驗(yàn)板/開(kāi)發(fā)工具
[原創(chuàng)]c8051f網(wǎng)絡(luò)最新推出C8051f700開(kāi)發(fā)板/實(shí)驗(yàn)板/學(xué)習(xí)板/開(kāi)發(fā)工具
[推薦]C8051f單片機(jī)芯片服務(wù)
[灌水]C8051F單片機(jī)仿真器及開(kāi)發(fā)板常見(jiàn)問(wèn)題解答-----請(qǐng)大家愛(ài)多多指教?。?!
[討論]C8051F單片機(jī)仿真器及開(kāi)發(fā)板常見(jiàn)問(wèn)題解答-----請(qǐng)大家愛(ài)多多指教?。。?/a>
[討論]c8051f系列單片機(jī)最新報(bào)價(jià)
[討論]給大家介紹一個(gè)非常不錯(cuò)的c8051f單片機(jī)學(xué)習(xí)網(wǎng)站
[轉(zhuǎn)帖]應(yīng)用c8051f單片機(jī)總結(jié)出來(lái)的經(jīng)驗(yàn)------大家共同分享一下
siliconc8051f Silicon C8051F編程器使用出錯(cuò)怎么解決
單片機(jī)數(shù)據(jù)存儲(chǔ)器擴(kuò)展板設(shè)計(jì)
如何擴(kuò)展單片機(jī)存儲(chǔ)器?
如何使用C8051F單片機(jī)控制8位LED?
如何使用XCR3032實(shí)現(xiàn)大容量FLASH存儲(chǔ)器的接口設(shè)計(jì)?
如何去設(shè)計(jì)Flash存儲(chǔ)器?
如何實(shí)現(xiàn)擴(kuò)展存儲(chǔ)器的設(shè)計(jì)?
如何對(duì)擴(kuò)展存儲(chǔ)器進(jìn)行讀寫實(shí)驗(yàn)?
如何將c8051f單片機(jī)內(nèi)數(shù)據(jù)以串口方式發(fā)送出去
應(yīng)用c8051f單片機(jī)總結(jié)出來(lái)的經(jīng)驗(yàn)
求一個(gè)用C8051F的串口對(duì)MAX485進(jìn)行自發(fā)自收的控制程序和電路
求助 數(shù)據(jù)存儲(chǔ)器 FLASH程序存儲(chǔ)器 FLASH數(shù)據(jù)存儲(chǔ)器的區(qū)別
用SPI接口擴(kuò)展外部Flash存儲(chǔ)器
請(qǐng)問(wèn)C8051F MCU的指令執(zhí)行速度是多少?
請(qǐng)問(wèn)如何使用C8051F單片機(jī)控制8位LED?
請(qǐng)問(wèn)如何使用C8051F驅(qū)動(dòng)PCF8563時(shí)鐘芯片?
請(qǐng)問(wèn)開(kāi)發(fā)C8051F單片機(jī)需要哪些開(kāi)發(fā)工具?
高速SOC單片機(jī)C8051F不得不知的知識(shí)點(diǎn)
C8051F020中Flash存儲(chǔ)器的在線擦寫方法

利用C8051F020的SPI接口擴(kuò)展大容量數(shù)據(jù)存儲(chǔ)器

89 單片機(jī)到底是啥?C8051F和S M32哪單片機(jī)到底是啥?C8051F和S M32哪個(gè)更香? 抖音小助手



基于ColdFire MCF5249的Flash存儲(chǔ)器擴(kuò)展技

超大容量存儲(chǔ)器K9F2G08U0M及其在管道通徑儀中的應(yīng)用


C8051F單片機(jī)介紹

C8051F單片機(jī)的IAP系統(tǒng)設(shè)計(jì)

評(píng)論