上一回在【Maker電子學】Flash 記憶體的原理與應用—PART12 中,我們說明了 SPI NOR flash 的寫入、抹除等待機制、在執行的過程要如何偵測狀態以得知它是否做完,同時我們也說明了寫入或抹除可以被暫停的機制以及暫停可能會帶來什麼影響。
這一回我們要繼續說明資料寫入要如何運作。
寫入開關
上一回我們說過,SPI NOR flash 在執行任何寫入、抹除的動作之前,需要先下一個叫做 WE(write enable)的指令,開啟 SPI NOR flash 的寫入模式,這個指令只有一個指令碼 0x06,事實上這就是我們前兩回在介紹 SPI 上的指令格式時,所介紹的第一個指令。
(圖片來源:Bird 提供)
Write enable 指令的有效期間只有一個寫入指令,換句話說,如果我們下了 WE,接著再下一個寫入指令,在寫入結束後,WE 也會一併失效;如果還要再執行另一個寫入或抹除指令,就會需要再下一個 WE 指令。
寫入指令
寫入指令與抹除指令最大的不同,就是寫入指令除了指定位址之外,還要提供要寫入的資料,而抹除指令只要提供位址就好,依據指令的不同,4K bytes(sector)、32K bytes、64K bytes 或整個晶片的內容,都會被清成 0xff。
W25Q32JV 的寫入指令叫做 page program,顧名思義它一次最大能寫入一個 page,也就是 256 bytes。
只需不到短短一分鐘...
輸入您的信箱與ID註冊即可享有一切福利!
會員福利
免費電子報
會員搶先看
主題訂閱
好文收藏