SPI FLASH讀寫介紹
來(lái)源: 日期:2020-02-24 11:09:44
SPI FLASH讀寫介紹
對(duì)flash芯片的操作,一般包括對(duì)flash芯片的擦除,編程和讀取,各大廠商的SPI flash芯片都大同小異,操作命令基本是沒什么變化的,當(dāng)我們拿到一款芯片,要特別注意芯片的容量,操作分區(qū)等。
其實(shí)無(wú)論是對(duì)芯片的擦除,編程還是讀取操作,我們大致可以按照以下的套路來(lái):寫命令---寫地址---寫(讀)數(shù)據(jù)。正如以下的時(shí)序圖一樣清晰明了,我們先把片選信號(hào)拉低,再依次寫指令,地址和數(shù)據(jù),就可以對(duì)FLASH芯片進(jìn)行操作。
掌握以上方法,就可以輕松操作SPI flash芯片了,當(dāng)然對(duì)時(shí)序這種底層的操作,還需要不斷學(xué)習(xí)和積累,不論是用FPGA還是MCU,最終都是為了產(chǎn)生時(shí)序信號(hào),只要靜下來(lái)認(rèn)真理解了它,一切問題就解決了。
注意事項(xiàng)
1.不同的SPI
FLASH芯片可能會(huì)提供的擦除方式:扇區(qū)擦除(4KBytes),半塊擦除(32KBytes),塊擦除(64KBytes),片擦除。
2.不同的SPI FLASH芯片可能會(huì)提供的編程方式(也就是寫數(shù)據(jù)):頁(yè)編程(256Bytes),扇區(qū)編程(4KBytes)。
3.SPI FLASH如果擦除過(guò),在往里面寫0xFF這樣的數(shù)據(jù)意義不大,因?yàn)樗奶匦跃褪遣脸髷?shù)據(jù)就是0xFF。
4.寫入flash時(shí),只能把數(shù)據(jù)(bit)從1該為0。
5.傳統(tǒng)的EEPROM的特點(diǎn)就是可以隨機(jī)訪問和修改任何一個(gè)字節(jié),可以往每個(gè)bit中寫入0或1。而寫入flash時(shí),只能把數(shù)據(jù)(bit)從1該為0。但是傳統(tǒng)的EEPROM容量因成本的緣故收到限制,絕少有超過(guò)有512K的。
6.Nor Flash容量相對(duì)小,成本相對(duì)高,基本沒壞塊,數(shù)據(jù)線和地址線分開,可以實(shí)現(xiàn)隨機(jī)尋址,讀取任何一個(gè)字節(jié),擦除任然要按塊來(lái)擦。NAND FLASH容量大,成本相對(duì)低,壞塊經(jīng)常出現(xiàn),但可以標(biāo)記壞塊,使軟件跳過(guò),數(shù)據(jù)線和地址線復(fù)用,按塊擦除按頁(yè)讀取。
關(guān)鍵詞:FLASH