本文以常見的4M Flash W25Q32為例。
1、Flash存儲容量
容量可以從芯片的名稱上看出來,雖然不同廠家的命名方式不一樣,但是大體類似,比如W25Q80, W25Q16, W25Q32等。
W25Q80: 8M-bit / 1M -byte (1,048,576)W25Q16: 16M-bit / 2M-byte (2,097,152)W25Q32: 32M-bit / 4M-byte (4,194,304)
2、存儲單位
Page(頁)
:256字節(jié),編程最小單位,一次最多編程256字節(jié)。
Sector(扇區(qū))
:擦除的最小單位,一個Sector一般包含16個Page,即4KB。
Block(塊)
:包含16個Sector,塊擦除可以32KB(半塊)、64KB(整塊)兩種擦除方式。
2、封裝和管腳
封裝類型有SOIC-8、WSON-8等。注意不一定封裝越小越貴,要看哪一款用量大,用量大產(chǎn)量就大,產(chǎn)量大價格相對就便宜。元器件選型時要注意。
管腳序號 (SOIC-8為例) |
定義 |
|
1 |
/CS |
選通信號 |
2 |
DO(IO1) |
數(shù)據(jù)輸出或者IO1 |
3 |
/WP(IO2) |
寫保護(hù)或者IO2 |
4 |
GND |
地 |
5 |
DI(IO0) |
輸入輸入(IO0) |
6 |
CLK |
時鐘 |
7 |
/HOLD(IO3) |
保持或者IO3 |
8 |
VCC |
電源 |
3、通訊方式
W25Q32支持標(biāo)準(zhǔn)的SPI、
Dual SPI,Quad SPI
標(biāo)準(zhǔn)SPI
:DI和DO都是單向的,即一進(jìn)一出。
Dual SPI
:DI和DO是雙向的,即IO0和IO1。
Quad SPI
:DI、DO、/WP、/HOLD變?yōu)镮O0、IO1、IO2、IO3。
標(biāo)準(zhǔn)SPI比較常見,Dual SPI和Quad SPI用得不多,他們通訊數(shù)據(jù)線多一些,速度更快。有些單片機沒有內(nèi)部Flash或者內(nèi)部Flash較少,但是帶有QSPI Flash接口,可以使用Quad SPI和Flash通訊,當(dāng)然這種外部Flash運行程序速率肯定要打折扣的,這是題外話了。
4、關(guān)于寫保護(hù)
為了保證數(shù)據(jù)的完整,有以下幾種寫保護(hù)措施,防止軟件誤操作和電源不穩(wěn)造成的數(shù)據(jù)錯誤。
1、電源低于下限值,自動寫保護(hù)。
2、上電后寫保護(hù),直到Delay-Time時間到。
3、通過指令的方式進(jìn)行寫保護(hù)。
4、通過狀態(tài)寄存器進(jìn)行寫保護(hù)。
5、硬件管腳/WP寫保護(hù)。
說實話,寫保護(hù)方法挺多,用的不多,看自己需求吧。
4、狀態(tài)寄存器介紹
狀態(tài)寄存器1
狀態(tài)寄存器2
BUSY:只讀位,可以簡單理解為芯片自己在干活,比較忙,忙完了自動清除。
WEL:只讀位,寫使能指令后置1,寫禁用后清零。
BP2, BP1, BP0:寫保護(hù)相關(guān)位,是個非易失位,可讀可寫,用于寫保護(hù)控制,保護(hù)原理下面介紹。
TB:非易失位,寫保護(hù)相關(guān)位,保護(hù)底部還是頂部。
SEC:非易失位,保護(hù)扇區(qū)還是塊。
SRP1、SRP0:也是個非易失位,可讀可寫,和/WP管腳不同組合確定保護(hù)方式。
QE:Quad使能位,啟用4個數(shù)據(jù)線通訊方式,也是個非易失位。
注意:狀態(tài)寄存器里有些位是非易失特性,大部分SPI Flash會出現(xiàn)越擦越慢的情況,這些位肯定是存儲在Flash里,也會出現(xiàn)越擦越慢的情況,改寫的越多,再次改寫時間越長,這一點要留意。
寫保護(hù):
舉個例子:如上圖藍(lán)色區(qū)域
例1:SEC=0保護(hù)塊,TB=0保護(hù)頂端,保護(hù)60-63這4個塊共256K,占用了Flash 1/16的空間。
例子2:SEC=1保護(hù)扇區(qū),TB=0保護(hù)頂端,保護(hù)63塊頂端8K。
5、指令:
指令就不一一解讀了,手冊中有詳細(xì)的時序圖,舉幾個常用指令。
讀指令:03H,時序圖如下
先發(fā)讀指令碼03H,然后24位地址,之后SPI返回數(shù)據(jù)。
寫指令:02H,時序圖如下
先發(fā)寫指令碼02H,然后24位地址,之后要寫入的數(shù)據(jù),寫操作時注意地址回繞問題。
扇區(qū)擦除指令:20H,時序圖如下
先發(fā)寫指令碼20H,然后24位地址,等待擦除完成即可。
-
FlaSh
+關(guān)注
關(guān)注
10文章
1641瀏覽量
148402 -
接口
+關(guān)注
關(guān)注
33文章
8685瀏覽量
151642 -
存儲
+關(guān)注
關(guān)注
13文章
4343瀏覽量
86045 -
SPI
+關(guān)注
關(guān)注
17文章
1721瀏覽量
91923 -
管腳
+關(guān)注
關(guān)注
1文章
228瀏覽量
32079
發(fā)布評論請先 登錄
相關(guān)推薦
評論