上一回【Maker電子學】Flash 記憶體的原理與應用—PART11,我們說明了 SPI NOR flash 的分區結構,以及抹除指令如何執行。我們從 datasheet 中也發現抹除指令需要花很長的時間執行,而且執行所需的時間並不固定,因此我們需要有個方法來知道抹除指令完成了沒。
這一回我們會繼續說明這個等待並偵測抹除指令執行狀態的機制。
寫入開關
上一回我們漏了一件事。SPI NOR flash 在執行任何寫入、抹除的動作之前,需要先下一個指令,叫做 WE(write enable),這個指令沒有資料,只有一個指令碼 0x06,事實上這就是我們前兩回在介紹 SPI 上的指令格式時,所介紹的第一個指令。
(圖片來源:Bird 提供)
如果沒有執行這個指令就執行抹除或寫入指令,寫入的指令就不會被接受。write enable 指令的有效期間只有一個寫入指令;換句話說,如果我們下了 WE,再下一個 sector erase,在 sector erase 結束後,WE 也會一併失效;如果還要再執行另一個 erase 指令,就會需要再下一個 WE 指令。
狀態暫存器
W25Q32JV 內部共有三個狀態及設定暫存器(status and configuration register),可以反映晶片的狀態、調整晶片的一些設定。
其中第一個狀態暫存器 SR1 是我們最常用到的。
只需不到短短一分鐘...
輸入您的信箱與ID註冊即可享有一切福利!
會員福利
免費電子報
會員搶先看
主題訂閱
好文收藏