<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > C8051F的超大容量Flash存儲器擴展方法介紹

C8051F的超大容量Flash存儲器擴展方法介紹

作者: 時(shí)間:2012-06-06 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:NAND結構數據件是超數據存儲的理想選擇,當前被廣泛應用于U盤(pán)、MP3和數碼相機的數據存儲。本文對該類(lèi)型的基本操作進(jìn)行研究并對實(shí)際應用系統給予驗證,揭示了NAND結構的操作規律。

本文引用地址:http://dyxdggzs.com/article/171344.htm

引 言

  數據存儲是單片機應用系統的瓶頸,受到容量、功耗、尋址方式的約束。突破容量限制,可以很大程度上和提高應用系統的總體功能。Sumsung公司的NAND結構Flash件是一款性?xún)r(jià)比很高的超數據件,在MP3、U盤(pán)、數碼相機和PDA中有廣泛的應用,且市場(chǎng)占有份額逐年加大。用該器件作為各種單片機尤其是嵌入式系統的數據存儲器,可以完美地解決容量限制,實(shí)現靈活操作,勢必成為數據存儲的主流方向。

1 器件

  NAND結構Flash是Sumsung公司隆重推出并著(zhù)力開(kāi)發(fā)的新一代數據存儲器件,電源電壓1.7~3.6V,體積小,功耗低,容量最大可達1GB,按頁(yè)進(jìn)行讀寫(xiě),按塊擦除,通過(guò)I/O口分時(shí)復用作為命令/地址/數據。本次應用開(kāi)發(fā)的是NAND結構16MB的K9F2808UOB,其它大容量的器件只比該型號送出的地址多了幾字節,操作指令和時(shí)序相同。具體結構說(shuō)明如圖1所示。

  由圖1可知,該器件由1K個(gè)塊(block)組成,每個(gè)塊有32頁(yè),每頁(yè)有528字節,這528字節分成A、B、C三個(gè)區。對每一頁(yè)的尋址需要通過(guò)I/O口送出三個(gè)地址,第二、三行地址(A9~A23)指明尋址到某一頁(yè),第一列地址指明尋址到頁(yè)的指定區中某一字節。對頁(yè)的分區命令如表1所列。

表1 起始指針位置與區域關(guān)系對照表

命 令 指針位置/字節 區 域
00H 0~255 陣列第一伴(A)
01H 256~511 陣列第二半(B)
50H 512~527 剩余陣列(C)

  由表1可以看出,00H、01H、50H只是選區指針。選定區的內部尋址是由第一個(gè)列地址完成的,A0~A7可以最大尋址256字節。

2 應用舉例

  在開(kāi)發(fā)便攜式心電信號采集監視儀中,K9F2808被用做心電采樣數據存儲器。MCU采用美國Cygnal公司的SoC增強型單片機020,內部RAM共有4352字節,I/O支持雙向操作等。Flash的命令引腳要接到端口1上去,端口3是命令/地址/數據的復用形式。顯然這里的數據是并行的,因此操作速度很快,達到了讀頁(yè) 1.2ns,寫(xiě)頁(yè)200μs。圖2給出了芯片的接口電路圖。由于篇幅所限,圖3只給出寫(xiě)頁(yè)的命令時(shí)序,并對相關(guān)的指令代碼做簡(jiǎn)要說(shuō)明。

  在寫(xiě)頁(yè)之前,MCU的RAM中就應該存有采樣來(lái)的528字節的數據。寫(xiě)操作時(shí),先指出寫(xiě)開(kāi)始地址。這由選區命令和第一個(gè)列地址來(lái)共同指定,以后在寫(xiě)頁(yè)時(shí)就可以忽略不寫(xiě)。此處為了最大限度存儲數據,開(kāi)始地址定為A區的00H。為了指定這個(gè)地址,必須在送出命令80H之前送出選區命令00H,同時(shí)地址A0~A7置為0。緊跟在80H之后送出三個(gè)地址,第一個(gè)列地址已經(jīng)是00H,第二、三頁(yè)地址只要指定A9~A23就可以了。隨后連續送出528個(gè)數據字節,為了把數據從Flash的數據寄存器寫(xiě)入對應存儲單元,接下來(lái)再寫(xiě)入命令10H。經(jīng)過(guò)約500μs的物理寫(xiě)入,就可以進(jìn)行狀態(tài)查詢(xún)了。寫(xiě)入命令字70H后,從Flash的I/O0位就可以讀出操作結果標志。在執行主代碼之前,需要對單片機進(jìn)行初始化和定義操作子函數。詳細的寫(xiě)入程序清單請參看本刊網(wǎng)站www.dpj.com.cn。


3 小 結

  以上操作代碼成功實(shí)現了對Sumsung公司NAND結構Flash的頁(yè)寫(xiě)入,其它基本操作只要在寫(xiě)頁(yè)的基礎上進(jìn)行修改即可。在使用該器件時(shí)要注意:①所選單片機最好是高速的,內部RAM要大,端口支持實(shí)時(shí)雙向輸入輸出;②由于該Flash的操作時(shí)序是ns級,所以在調試時(shí)要注意指令的安排順序和有選擇地加入空操作指令,以滿(mǎn)足其精確的時(shí)序要求;③對于實(shí)施信號檢測采樣的各種工業(yè)應用,本文的大容量Flash可圓滿(mǎn)實(shí)現各種基本操作。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>