W25M02_W25N01中文版+原版芯片手冊
只撿了一些我寫代碼用得上的部分翻譯了大概70%中文。
W25M02由兩片W25N01GV疊加組成
51hei.png (43.63 KB, 下載次數: 80)
下載附件
2020-12-5 16:40 上傳
每個 W25N01GV 有 128M 字節,用寫命令(C2h)選擇使用那一片。
標準 SPI 指令使用單向 DI(輸入)引腳將指令、地址或數據串行寫入串行時鐘(CLK)輸入引腳上升沿上的設備 標準 SPI 還使用單向 DO(輸出)來從 CLK 下降沿上的設備讀取數據或狀態。
標準 SPI 說明 W25M02GV 通過 SPI 兼容總線訪問,該總線由四個信號組成: 串行時鐘(CLK)、芯片選擇(/CS)、串行數據輸入(DI)和串行數據輸出(DO)。
標準 SPI 指令使用 DI 輸入引腳串行地將指令、地址或數據寫入 CLK 上升沿上的設備。 DO 輸出引腳用于從 CLK 下降沿上的設備讀取數據或狀態。 支持 SPI 總線操作模式 0(0,0)和 3(1,1)。
模式 0 和模式 3 之間的主要區別在于當 SPI 總線主機處于待機狀態且數據未傳輸到串行閃存時,CLK 信號的正常狀態。 對于模式 0,CLK 信號在/CS 的下降和上升邊緣通常較低。 對于模式 3,CLK 信號通常在/CS 的下降和上升沿高。
為每個堆疊的 W25N01GV 模具提供三個狀態寄存器: 保護寄存器(SR-1)、配置寄存器(SR-2)和狀態寄存器(SR-3)。 每個寄存器分別由讀狀態寄存器和寫狀態寄存器命令結合 1 字節寄存器地址訪問。
讀取狀態寄存器指令(05h/0Fh)可用于提供有關閃存陣列可用性的狀態, 無論設備是寫啟用還是禁用、寫入保護狀態、讀取模式、保護寄存器/OTP 區域鎖定狀態、擦除/程序結果、ECC 使用/狀態。 寫入狀態寄存器指令可用于配置設備寫保護功能、軟件/硬件寫入保護、讀取模式、啟用/禁用 ECC、保護寄存器/OTP 區域鎖定。 對狀態寄存器的寫入訪問由非易失性狀態寄存器保護位(SRP0,SRP1)的狀態控制,寫啟用指令,當 WP-E 設置為 1 時,由/WP 引 腳控制。
4.4寫保護腳(/WP) 寫保護(/WP)引腳可用于防止寫入狀態寄存器。 與狀態寄存器的塊保護位 BP[3:0]和狀態寄存器 Protect SRP bits SRP[1:0]一起使用時,小到 256K 字節(2x128KB 塊)或最多整個 內存陣列的一部分都可以受到硬件保護。 保護寄存器(SR-1)中的 WP-E 位控制/WP 引腳的功能。 當 WP-E=0 時,設備處于軟件保護模式,只有 SR-1 可以被保護。 /WP 引腳作為四重 SPI 操作的數據輸入/輸出引腳,以及用于 SR-1 寫保護功能的有源低輸入引腳。 有關詳細信息,請參閱第 7.1.3 節。
當 WP-E=1 時,設備處于硬件保護模式,即/WP 成為整個設備寫保護的專用有源低輸入引腳。 如果/WP 連接到 GND,則所有“寫入/編程/擦除”功能都將被禁用。 整個設備(包括所有寄存器、內存陣列、OTP 頁)將變為只讀。 當 WP-E 設置為 1 時,Quad SPI read 操作也被禁用。
4.5保持腳(/保持) 在標準和雙 SPI 操作期間,/HOLD 引腳允許設備在活動選擇時暫停。 當(/HOLD)低時,/CS 低時,DO 引腳將處于高阻抗狀態,DI 和 CLK 引腳上的信號將被忽略(無所謂)。 當(/HOLD)被調高時,設備操作可以恢復。 當多個設備共享相同的 SPI 信號時,(/HOLD)函數非常有用。 (/HOLD)引腳處于低激活狀態。 當發出 Quad SPI Read/Buffer Load 命令時,(/HOLD)pin 將成為 Quad 操作的數據 I/O pin,并且在當前 Quad 操作完成之前沒 有可用的 HOLD 函數。 (/HOLD)(IO3)必須由主機驅動高電平,或者必須在 PCB 上放置一個外部上拉電阻器,以避免/HOLD 輸入浮動。
51hei.png (76.79 KB, 下載次數: 62)
下載附件
2020-12-5 16:42 上傳
7.1.1塊保護位(BP3、BP2、BP1、BP0、TB)–易失性可寫,OTP可鎖定
塊保護位(BP3、BP2、BP1、BP0 和 TB)是狀態寄存器 1(S6、S5、S4、S3 和 S2)中的易失性讀/寫位,提供寫保護控制和狀態。 塊保護位可以使用寫入狀態寄存器指令進行設置。內存陣列的所有、無或一部分都可以受到程序和擦除指令的保護(請參閱狀態寄存器內存保護表)。 塊保護位的默認值在通電后為 1,以保護整個陣列。 需要清零這些保護位才能進行擦除操作和編程操作(寫入數據操作) 如果配置寄存器(SR-2)中的 SR1-L 位設置為 1,則默認值為 OTP 鎖定的值。
7.1.2寫保護啟用位(WP-E)–易失性可寫,OTP可鎖定
寫保護啟用位(WP-E)是狀態寄存器 1(S1)中的易失性讀/寫位。 WP-E 位與 SRP1 和 SRP0 一起控制寫保護的方法: 軟件保護,硬件保護、電源鎖定或一次性可編程(OTP)保護、/WP 引腳功能和四重 SPI 操作啟用/禁用。 當 WP-E=0(默認值)時,設備處于軟件保護模式,/WP&/HOLD 管腳被多路復用為 IO 管腳,并且四路程序/讀取功能一直處于啟 用狀態。 當 WP-E 設置為 1 時,設備處于硬件保護模式,所有四元功能被禁用,/WP&/HOLD 引腳成為專用控制輸入引腳
7.1.3狀態寄存器保護位(SRP1、SRP0)–易失性可寫,OTP可鎖定
狀態寄存器保護位(SRP1 和 SRP0)是狀態寄存器(S0 和 S7)中的易失性讀/寫位。 SRP 位控制寫保護的方法:軟件保護,硬件保護,電源鎖定或一次性可編程(OTP)保護。
51hei.png (50.2 KB, 下載次數: 72)
下載附件
2020-12-5 16:42 上傳
7.2.1一次性程序鎖定位(OTP-L)–OTP可鎖定
除了主內存陣列之外,W25M02GV 還為系統提供了一個 OTP 區域,用于存儲一旦鎖定就無法更改的關鍵數據。 OTP 區域由 10 頁組成,每頁 2112 字節。 OTP 區域中的默認數據是 FFh。 只能向 OTP 區域發出程序命令,將數據從“1”更改為“0”,并且數據不能通過 Erase 命令可逆(“0”到“1”)。 一旦正確的數據被編程和驗證,系統開發人員可以將 OTP-L 位設置為1,這樣整個 OTP 區域將被鎖定,以防止對數據的進一步修改。
7.2.2進入OTP訪問模式位(OTP-E)–易失性可寫
OTP-E 位必須設置為 1,以便使用標準程序/讀取命令訪問 OTP 區域以及讀取唯一的 ID/參數頁信息。 通電命令后的默認值為 0 或復位。
7.2.3狀態寄存器-1鎖定位(SR1-L)–OTP可鎖定
SR1-L 鎖定位用于 OTP 鎖定保護寄存器(SR-1)中的值。 根據 SR-1 中的設置,可以將設備配置為對整個陣列進行寫保護,并且可以通過將 SR1-L 位設置為 1 來鎖定設置。 當 SRP1 和 SRP0 設置為(1,1)時,SR1-L 位只能永久設置為 1,并且必須進入 OTP 訪問模式(OTP-E=1)才能執行編程。詳見 8.2.26。
7.2.4ECC啟用位(ECC-E)–易失性可寫
W25M02GV 有一個內置的 ECC 算法,可以用來保持數據的完整性。 內部 ECC 計算在頁面編程期間完成,結果存儲在每個頁面的額外 64 字節區域中。 在數據讀取操作期間,ECC 引擎將根據先前存儲的 ECC 信息驗證數據值,并在需要時進行必要的更正。 驗證和校正狀態由 ECC 狀態位指示。 ECC 功能在開機時默認啟用(ECC-E=1),并且不會通過設備重置命令將其重置為 0。
7.2.5緩沖區讀取/連續讀取模式位(BUF)-易失性可寫
每個堆疊的 W25N01GV 芯片為讀取操作提供兩種不同的模式,緩沖區讀取模式(BUF=1)和連續讀取模式(BUF=0)。 在任何讀取操作之前,需要一個頁面數據讀取命令來啟動從內存數組中的指定頁到數據緩沖區的數據傳輸。 默認情況下,通電后,第 0 頁中的數據將自動加載到數據緩沖區中,設備已準備好接受任何讀取命令。
緩沖區讀取模式(BUF=1)需要一個列地址來開始輸出數據緩沖區內的現有數據, 一旦到達數據緩沖區(字節 2111)的末尾,DO(IO1)引腳將變為 high-Z 狀態。 連續讀取模式(BUF=0)不需要起始列地址。 設備將始終從數據緩沖區的第一列(字節 0)開始輸出數據, 一旦到達數據緩沖區(字節 2048)的末尾,數據輸出將繼續通過下一個內存頁。 在連續讀取模式下,可以使用單個讀取命令讀取整個內存陣列。 關于不同讀取模式下每個讀取命令的虛擬循環要求,請參考各自的命令說明。 對于 W25M02GVxxIG 零件號,兩個堆疊模具通電后 BUF 位的默認值為 1。 BUF 位可以單獨寫入狀態寄存器 2 中的 0,以執行連續讀取操作。 對于 W25M02GVxxIT 零件號,兩個堆疊模具通電后 BUF 位的默認值為 0。 BUF 位可以單獨寫入狀態寄存器 2 中的 1,以執行緩沖區讀取操作。
51hei.png (48.06 KB, 下載次數: 49)
下載附件
2020-12-5 16:43 上傳
7.3.1查找表已滿(LUT-F)-僅狀態
為了方便 NAND 閃存壞塊管理,每個堆疊的 W25N01GV 芯片都配備了內部壞塊管理查找表(BBM LUT)。 一個好的內存塊可以替換多達 20 個壞內存塊。 塊的地址作為邏輯塊地址(LBA,壞塊)和物理塊地址(PBA,good 塊)存儲在內部查找表中。 LUT-F 位指示 20 個存儲器塊鏈路是否已被充分利用。 LUT-F 的默認值為 0,一旦全部 20 個鏈路都被使用, LUT-F 將變為 1,并且不可能建立更多的存儲塊鏈路。
7.3.2累計ECC狀態(ECC-1、ECC-0)-僅狀態
在 NAND 閃存中使用 ECC 功能來糾正讀取操作中的有限內存錯誤。 讀取操作完成后,應檢查 ECC 狀態位(ECC-1、ECC-0),以驗證數據的完整性。 如果 ECC-E=0,ECC 狀態位值不重要。 在通電循環或復位命令后,這些位將被清除為 0。
ECC-1=0 | ECC-0=0 | 整個數據輸出成功,無需任何 ECC 校正。 | ECC-1=0 | ECC-0=1 | 整個數據輸出成功,單頁或多頁中有 1~4 位/頁 ECC 校正。 | ECC-1=1 | ECC-0=0 | 整個數據輸出僅在單個頁面中包含超過 4 位的錯誤,ECC 無法修復這些錯誤。 |
|
| 在連續讀取模式下,可以使用附加命令來讀取出現錯誤的頁地址(PA)。 | ECC-1=1 | ECC-0=1 | 整個數據輸出在多個頁面中包含超過 4 位的錯誤/頁。(僅適用于連續讀取操作(BUF=0)) |
在連續讀取模式下,附加命令只能提供發生故障的最后一頁地址(PA), 用戶無法獲取其他失敗頁面的 PA。數據不適合使用。
7.3.3程序/擦除失。P-失敗,E-失。-僅狀態
程序/擦除失敗位用于指示內部控制的程序/擦除操作是否成功執行。 當向鎖定或受保護的存儲器陣列或 OTP 區域發出程序或擦除命令時,這些位也將被分別設置。 在程序執行或塊擦除指令以及設備復位指令開始時,這兩個位都將被清除。
7.3.4寫入啟用閂鎖(WEL)–僅狀態
寫啟用閂鎖(WEL)是狀態寄存器(S1)中的一個只讀位,在執行寫啟用指令后被設置為 1。 當設備被禁用寫入時,WEL 狀態位被清除為 0。 寫入禁用狀態在通電時或以下任何指令之后發生: OTP 頁的寫禁用、程序執行、塊擦除、頁數據讀取、程序執行和壞塊管理。
7.3.5擦除/程序進行中(BUSY(忙))-僅狀態
BUSY 是狀態寄存器(S0)中的只讀位, 當設備通電或執行頁面數據讀取、壞塊管理、程序執行、塊擦除、OTP 區域的程序執行、 OTP 鎖定或連續讀取指令之后,該位被設置為 1 狀態。 在此期間,設備將忽略除讀取狀態寄存器和讀取 JEDEC ID 指令以外的其他指令。 當程序、擦除或寫入狀態寄存器指令完成時,忙位將被清除 到 0 狀態,指示設備已準備好接受進一步的指令。
總結 1、輸出指定從設備輸出的數據。 2、字節地址或列地址(CA)只需要 CA[11:0],CA[15:12]被視為偽位。 3、頁地址(PA)需要 16 位。 PA[15:6]是 128KB 塊的地址(共 1024 個塊),PA[5:0]是 2KB 頁的地址(每個塊總共 64 頁)。 4、邏輯和物理塊地址(LBA 和 PBA)都由 16 位組成。 LBA[9:0]和 PBA[9:0]是有效的塊地址。[14:15]用于補充信息。 5、狀態寄存器地址: 狀態寄存器 1/保護寄存器:Addr=Axh 狀態寄存器 2/配置寄存器:Addr=Bxh 狀態寄存器3/狀態寄存器:Addr=Cxh 10、當保護寄存器中的 WP-E 位設置為 1 時,所有四元程序/讀取命令被禁用。 11、對于連續讀取模式下的所有讀取操作,一旦/CS 信號被調高以終止讀取操作,設備仍將保持忙碌狀態~5us(busy=1),并且數據 緩沖區內的所有數據都將丟失,無法可靠使用。 必須發出新的頁數據讀取指令,才能將正確的頁數據重新加載到數據緩沖區中。 12、對于緩沖區讀取模式下的所有讀取操作,一旦/CS 信號變為高以終止讀取操作,設備將準備好接受新的指令,并且數據緩沖區內 的所有數據將與上一頁數據讀取指令保持不變。
BUF==1 時 指令大同小異
8.2.1軟件模具選擇(C2h)
每個疊層模具都有工廠預先指定的“模具 ID”,順序為 0x00、0x01 等。 在任何給定的時間,W25M 包內只能有一個活動的模具,用于與外部 SPI 控制器通信。 通電后,模具 0 始終為活動模具。 軟件模具選擇(C2h)指令用于根據圖 4 所示 C2h 指令后的 8 位模具 ID 選擇要激活的特定模具。
“并行操作”可以通過分配當前活動的模具來執行需要一定時間才能完成的擦除/程序操作來實現。 當內部程序/擦除操作正在進行時,控制器可以發出“軟件模具選擇(C2h)”指令來選擇另一個要激活的模具。 根據系統要求,可以在新選擇的活動模具上執行讀取、編程或擦除操作。 “邊讀邊程序/擦除”或“多芯片程序/擦除”可以以這種方式執行,以提高系統程序/擦除吞吐量,并避免在某些應用程序中持續的 程序/擦除掛起和恢復活動。
在設備加電和復位期間,建議不要發出“軟件模具選擇(C2h)”命令,以避免設備可能的未知狀態。 最小 tVSL(見第 56 頁)和最大 tRST(見第 60 頁)值可分別應用于“軟件模具選擇(C2h)”命令。
如果發送到設備的模具 ID 錯誤,則兩個堆疊的 W25N01GV 模具都可能閑置。 在這種情況下,應發出一個新的“軟件模具選擇(C2h)”命令, 后跟正確的模具 ID(0x00 或 0x01),以重新選擇激活的模具。
8.2.2設備復位(FFh)
由于封裝小,引腳數量有限,W25M02GV 提供軟件復位指令,而不是專用復位引腳。 一旦復位指令被接受,任何正在進行的內部操作都將被終止,設備將返回其默認上電狀態,并丟失所有當前易失性設置,例如易失性 狀態寄存器位。 一旦設備接受復位命令,設備將需要大約 tRST 來復位,根據設備正在執行的當前操作,tRST 可以是 5us~500us。 在此期間,不接受任何命令。 此外,“軟件模具選擇(C2h)”不應在最大 tRST(500us)時間段內發出,以避免由于模具的重置狀態而導致的模具選擇混亂。 當設備接受復位命令序列時,如果正在進行內部擦除或程序操作,則可能會發生數據損壞。 建議在發出復位命令之前檢查狀態寄存器中的忙位。
通電和設備復位后狀態寄存器的默認值
8.2.3讀取JEDECID(9Fh)
Read JEDEC ID 指令與 2003 年采用的 SPI 兼容串行存儲器 JEDEC 標準兼容。 該指令通過驅動/CS 引腳低并移動指令代碼“9Fh”和 8 個假時鐘來啟動。 然后,JEDEC 為 Winbond(EFh)分配的制造商 ID 字節和兩個設備 ID 字節在 CLK 的下降沿移出,首先是最有效位(MSB),如圖 6 所示。有關存儲器類型和容量值,請參閱制造商和設備標識表。 8.2.4讀取狀態寄存器(0Fh/05h)
讀取狀態寄存器指令允許讀取 8 位狀態寄存器。 該指令通過驅動/CS low,并將指令代碼“0Fh 或 05h”移到 CLK 上升沿上的 DI 引腳中,然后是一個 8 位狀態寄存器地址。 然后狀態寄存器位在 CLK 下降沿的 DO 引腳上移出,首先是最有效位(MSB),如圖 7 所示。 狀態寄存器說明見第 7.1-3 節。
讀取狀態寄存器指令可在任何時候使用,即使在程序或擦除周期正在進行時也是如此。 這允許檢查忙狀態位以確定周期何時完成以及設備是否可以接受另一條指令。 狀態寄存器可以連續讀取。 指令通過駕駛/CS 高速來完成。
8.2.5寫入狀態寄存器(1Fh/01h)
寫入狀態寄存器指令允許寫入狀態寄存器。 可寫狀態寄存器位包括: 狀態寄存器 1 中的 SRP[1:0]、TB、BP[3:0]和 WP-E 位; 狀態寄存器 2 中的 OTP-L、OTP-E、SR1-L、ECC-E 和BUF 位。
所有其他狀態寄存器位位置都是只讀的,不受寫入狀態寄存器指令的影響。 要寫入狀態寄存器位,輸入指令的方法是:驅動/CS low,發送指令代碼“1Fh 或 01h”,然后發送 8 位狀態寄存器地址,然后寫入狀 態寄存器數據字節,如圖 8 所示。 狀態寄存器說明見第 7.1-3 節。 通電后,BP[3:0]、TB、ECC-E 位的出廠默認值為 1,其他位為 0。
8.2.6寫啟用(06h)
寫啟用指令(圖 9)將狀態寄存器中的寫啟用閂鎖(WEL)位設置為 1。 WEL 位必須在每個頁面程序、四頁程序、塊擦除和壞塊管理指令之前設置。 寫入使能指令通過驅動/CS low 輸入,將指令代碼“06h”移入 CLK 上升沿的數據輸入(DI)引腳,然后驅動/CS high。
8.2.7寫禁用(04h)
寫禁用指令(圖 10)將狀態寄存器中的寫啟用閂鎖(WEL)位重置為 0。 通過驅動/CS low,將指令代碼“04h”移到 DI pin,然后驅動/CS high,輸入寫禁用指令。 請注意,WEL 位在通電后以及頁面程序、四頁程序、塊擦除、重置和壞塊管理指令完成后自動重置。 8.2.8壞塊管理(A1h)
由于 NAND 內存密度大,且受技術限制,在出廠測試中發現一定數量的“壞塊”時,NAND 內存設備允許運往最終客戶。 裝運時,多達 2%的內存塊可標記為“壞塊”,這是每個堆疊的 W25N01GV 模具最多 20 塊。 為了識別這些壞塊,建議掃描整個內存陣列以查找出廠時設置的壞塊標記。 “壞塊標記”是存儲在每個壞塊的第 0 頁字節 0 處的非 FFh 數據字節。 另一個標記也存儲在 64 字節備用區域的第一個字節中。
W25M02GV 提供了一種方便的方法來管理 NAND 閃存中在大量使用后通常發現的壞塊。 “壞塊管理”命令是通過將指令代碼“A1h”移到 DI 管腳,然后是 16 位“邏輯塊地址”和16 位“物理塊地址”,如圖 11 所示。 在設備接受壞塊管理指令之前,必須執行寫啟用指令(狀態寄存器位 WEL=1)。 邏輯塊地址是“壞”塊的地址,它將被物理塊地址指示的“好”塊替換。
成功執行壞塊管理命令后,指定的 LBA-PBA 鏈接將添加到內部查找表(LUT)。 在非易失性 LUT 中可以建立多達 20 個鏈路。 如果所有 20 條鏈路都已寫入,狀態寄存器中的 LUT-F 位將變為 1,并且不能再建立 LBA-PBA 鏈路。 因此,在發出壞塊管理命令之前,可以檢查 LUT-F 位值,或者可以發出“閱讀BBM 查找表”命令來確認 LUT 中是否仍然有備用鏈路
為了保證前 1000 個塊上的連續讀取操作,制造商可能使用了一些 BBM LUT 入場權。 建議用戶在第一次擦除/程序操作之前掃描所有塊并保存所有制造商壞塊的表。 禁止在多個 PBA 中注冊同一地址。它可能導致意外行為。
8.2.9讀取BBM查找表(A5h)
內部查找表(LUT)由 20 個邏輯物理內存塊鏈接組成(從 LBA0/PBA0 到 LBA19/PBA19)。 “閱讀 BBM 查找表”命令可用于檢查存儲在 LUT 中的現有地址鏈接。
“讀取 BBM 查找表”命令通過將指令代碼“A5h”移入 DI 引腳,然后是 8 位虛擬時鐘,在第 16 個時鐘的下降沿,設備將開始輸出 16 位“邏輯塊地址”和 16 位“物理塊地址”,如圖 12 所示。 所有塊地址鏈路將從 LUT 中的第一個鏈路(LBA0 和 PBA0)開始按順序輸出。 如果有未使用的可用鏈接,輸出將包含所有“00h”數據。
每個鏈路的 MSB 位 LBA[15:14]用于指示鏈路的狀態。
為了更好地管理數據完整性,W25M02GV 對整個內存陣列執行內部 ECC 校正。 當狀態/配置寄存器中的 ECC-E 位設置為 1(也是加電默認值)時,所有程序和讀取操作都啟用內部 ECC 算法。 在特定頁面的“程序執行”命令期間,ECC 算法將根據 2K 字節數據緩沖區內的數據計算 ECC 信息,并將 ECC 數據寫入同一物理內存 頁中額外的 64 字節 ECC 區域。
在讀取操作期間,ECC 信息將用于驗證從物理內存陣列中讀取的數據,并且可以對包含錯誤的有限數量的數據位進行可能的更正。 ECC 狀態位(ECC-1 和 ECC-0)也將被設置,指示 ECC 計算的結果。
對于“連續讀取模式(BUF=0)”操作,可以通過發出單個讀取命令連續讀取多頁主陣列數據。 在完成讀取操作后,應檢查 ECC 狀態位,以驗證讀取的數據中是否存在 ECC 校正或不可糾正的錯誤。 如果 ECC-1 和 ECC-0 等于(1,0)或(1,1),則以前讀取的數據包含一個或多個包含 ECC 不可糾正錯誤的頁。 可以通過發出“上次 ECC 失敗頁地址”命令獲得失敗頁面地址(如果是多個頁面,則為最后一個頁面地址),如圖 13 所示。 包含不可糾正 ECC 錯誤的 16 位頁地址將顯示在指令代碼“A9h”之后的 DO 引腳上,DI 引腳上的 8 位虛擬時鐘之后。
128KB 塊擦除指令將指定塊(64 頁,128K 字節)中的所有內存設置為所有 1(FFh)的已擦除狀態。 在設備接受塊擦除指令(狀態寄存器位 WEL 必須等于 1)之前,必須執行寫啟用指令。 該指令通過驅動/CS 引腳低,并移動指令代碼“D8h”,然后是 8 位虛擬時鐘和 16 位頁地址來啟動。 塊擦除指令序列如圖 14 所示。
在鎖存最后一個字節的第八位之后,/CS 引腳必須被驅動到高位。 如果不這樣做,將不執行塊擦除指令。 在/CS 被驅動為高電平后,自定時塊擦除指令將在 tBE 的持續時間內開始(參見交流特性)。 當塊擦除周期正在進行時,仍可以訪問讀取狀態寄存器指令以檢查忙位的狀態。 在塊擦除周期中,忙位為 1,當周期結束且設備準備再次接受其他指令時,忙位變為 0。 塊擦除周期完成后,狀態寄存器中的寫入啟用閂鎖(WEL)位被清除為 0。 如果尋址塊受塊保護(TB、BP2、BP1 和 BP0)位保護,則不會執行塊擦除指令。
這里雖然用的是頁地址,擦除擦除時還是按塊擦除,即 64 頁的數據都擦除。 這使得數據不好進行修改操作,這是這個 IC 的缺點。 另一個缺點就是存在壞塊,所以需要壞塊管理。 有人建議使用前把全部塊測試一遍,我把 65536*2 個頁面都測試了一遍,我這個 IC 沒有發現壞塊。
8.2.12加載程序數據(02h)/隨機加載程序數據(84h)
程序操作允許在先前擦除的(FFh)內存位置對 1 字節到 2112 字節(一頁)的數據進行編程。 程序操作包括兩個步驟: 1 將程序數據加載到數據緩沖區。 2 發出“程序執行”命令將數據從數據緩沖區傳輸到指定的內存頁。
在設備接受加載程序數據指令(狀態寄存器位 WEL=1)之前,必須執行寫啟用指令。 “加載程序數據”或“隨機加載程序數據”指令是通過驅動/CS 引腳低,然后將指令代碼“02h”或“84h”后接 16 位列地址(只有 CA[11:0]有效)和至少一個字節的數據轉移到 DI 管腳來啟動。 當數據被發送到設備時,/CS 引腳在整個指令長度內必須保持在低位。 如果發送到設備的數據字節數超過數據緩沖區中的數據字節數,設備將忽略多余的數據。 加載程序數據指令序列如圖 15 所示。
“加載程序數據”和“隨機加載程序數據”指令共享相同的命令序列。 不同的是,“加載程序數據”指令會將數據緩沖區中未使用的數據字節重置為 FFh 值,而“隨機加載程序數據”指令只更新命令輸入 序列指定的數據字節,其余數據緩沖區將保持不變。
如果 ECC 算法中的所有字節都被 ECC 指定為 21 字節,則 ECC 將接受額外字節的計算。 如果 ECC-E 位設置為 0 以禁用內部 ECC,則額外的 64 字節部分可用于外部 ECC 或其他用途。
8.2.13QuadLoadProgramData(32h)/QuadRandomLoadProgramData(34h)(我用不上,沒有翻譯)
8.2.14程序執行(10h)
程序執行指令是程序操作的第二步。 在程序數據加載到 2112 字節數據緩沖區(或在啟用 ECC 時為 2048 字節)后,程序執行指令將數據緩沖區內容編程到指令中指定的 物理內存頁中。 該指令通過驅動/CS 引腳低,然后將指令代碼“10h”,隨后是 8 位虛擬時鐘和 16 位頁面地址轉移到 DI pin,如圖 17 所示。
在/CS 被驅動到高電平以完成指令周期后,自定時程序執行指令將在 tpp 的持續時間內開始(參見 AC 特性)。 當程序執行周期正在進行時,讀取狀態寄存器指令仍可用于檢查忙位的狀態。 在程序執行周期中,忙位為 1,當周期結束且設備準備再次接受其他指令時,忙位變為 0。 程序執行周期結束后,狀態寄存器中的寫入啟用閂鎖(WEL)位被清除為 0。 如果尋址頁受塊保護(TB、BP2、BP1 和 BP0)位保護,則不會執行程序執行指令。 每一頁只允許 4 個部分頁面程序時間。
塊內的頁必須按順序從低階頁地址編程到塊內的高階頁地址。 禁止無序編程頁面。
8.2.15頁面數據讀。13h)
頁數據讀取指令將指定內存頁的數據傳輸到 2112 字節的數據緩沖區。 該指令通過驅動/CS 引腳低,然后將指令代碼“13h”,隨后是 8 位虛擬時鐘和 16 位頁面地址轉移到 DI pin,如圖 18 所示。
在/CS 被驅動到高電平以完成指令周期后,自定時讀頁數據指令將在 tRD 的持續時間內開始(見交流特性)。 當讀取頁數據循環正在進行時,讀取狀態寄存器指令仍可用于檢查忙位的狀態。 在讀頁數據循環期間,忙位為 1,當周期結束且設備準備再次接受其他指令時,忙位變為 0。
在 2112 字節的頁數據加載到數據緩沖區后,可以發出多個讀取指令來訪問數據緩沖區并讀出數據。 根據狀態寄存器中的 BUF 位設置,可以使用“緩沖區讀取模式”或“連續讀取模式”來完成讀取操作。
8.2.16讀取數據(03h)
讀取數據指令允許在執行讀取頁數據指令之后從數據緩沖區順序讀取一個或多個數據字節。 讀取數據指令通過驅動/CS 引腳低,然后將指令代碼“03h”,隨后是 16 位列地址和 8 位假時鐘或 24 位假時鐘移入 DI pin 來啟動。 在接收到地址后,地址數據緩沖區位置的數據字節將在 CLK 下降沿的 DO 引腳上移出,最有效位(MSB)優先。 在數據的每個字節被移出后,地址會自動遞增到下一個更高的地址,以允許連續的數據流。 指令通過駕駛/CS 高速來完成。
讀取數據指令序列如圖 19a 和 19b 所示。當 BUF=1 時,設備處于緩沖區讀取模式。 數據輸出序列將從 16 位列地址指定的數據緩沖區位置開始,一直到數據緩沖區的末尾。 一旦數據的最后一個字節被輸出,輸出引腳將變成 Hi-Z 狀態。 當 BUF=0 時,設備處于連續讀取模式,數據輸出序列將從數據緩沖區的第一個字節開始,并遞增到下一個更高的地址。 當到達數據緩沖區的末尾時,下一個內存頁的第一個字節的數據將跟隨并繼續貫穿整個內存數組。 這允許使用單個讀取指令讀取整個內存陣列,并且還兼容 Winbond 的 SpiFlash NOR flash memory 命令序列。
快速讀取指令通過驅動/CS 引腳低,然后將指令代碼“0Bh”以及 16 位列地址和 8 位假時鐘或 32 位假時鐘轉移到 DI 引腳來啟動。 在接收到地址后,地址數據緩沖區位置的數據字節將在 CLK 下降沿的 DO 引腳上移出,最有效位(MSB)優先。 在數據的每個字節被移出后,地址會自動遞增到下一個更高的地址,以允許連續的數據流。 指令通過駕駛/CS 高速來完成。
快速讀取指令序列如圖 20a 和 20b 所示。 當 BUF=1 時,設備處于緩沖區讀取模式。 數據輸出序列將從 16 位列地址指定的數據緩沖區位置開始,一直到數據緩沖區的末尾。 一旦數據的最后一個字節被輸出,輸出引腳將變成 Hi-Z 狀態。 當 BUF=0 時,設備處于連續讀取模式,數據輸出序列將從數據緩沖區的第一個字節開始,并遞增到下一個更高的地址。 當到達數據緩沖區的末尾時,下一個內存頁的第一個字節的數據將跟隨并繼續貫穿整個內存數組。 這允許使用單個讀取指令讀取整個內存陣列,并且還兼容 Winbond 的 SpiFlash NOR flash memory 命令序列。
快速讀取指令是通過驅動/CS 引腳低,然后將指令代碼“0Ch”,然后將 16 位列地址和 24 位假時鐘(當 BUF=1)或 40 位假時鐘(BUF=0 時)移入 DI 引腳來啟動。 在接收到地址后,地址數據緩沖區位置的數據字節將在 CLK 下降沿的 DO 引腳上移出,最有效位(MSB)優先。 在數據的每個字節被移出后,地址會自動遞增到下一個更高的地址,以允許連續的數據流。 指令通過駕駛/CS 高速來完成。
快速讀取指令序列如圖 21a 和 21b 所示。當 BUF=1 時,設備處于緩沖區讀取模式。 數據輸出序列將從 16 位列地址指定的數據緩沖區位置開始,一直到數據緩沖區的末尾。 一旦數據的最后一個字節被輸出,輸出引腳將變成 Hi-Z 狀態。 當 BUF=0 時,設備處于連續讀取模式,數據輸出序列將從數據緩沖區的第一個字節開始,并遞增到下一個更高的地址。 當到達數據緩沖區的末尾時,下一個內存頁的第一個字節的數據將跟隨并繼續貫穿整個內存數組。 這允許使用單個讀取指令讀取整個內存陣列,并且還兼容 Winbond 的 SpiFlash NOR flash memory 命令序列。
除了主存儲器陣列外,每個堆疊的 W25N01GV 模具還配有一個唯一的 ID 頁、一個參數頁和十個 OTP 頁
要訪問這些附加數據頁,必須首先將狀態寄存器 2 中的 OTP-E 位設置為“1”。 然后,可以在唯一 ID 和參數頁上執行讀取操作,如果 OTP 頁尚未鎖定,則可以在 OTP 頁上執行讀取和程序操作。 要返回到主存儲器陣列操作,OTP-E 位需要設置為 0。
讀取操作必須發出“頁面數據讀取”命令,后跟上表中所示的特定頁面地址,才能將頁面數據加載到主數據緩沖區中。 在設備完成數據加載(BUSY=0)之后,所有的 Read 命令都可以用來從任何指定的列地址開始讀取數據緩沖區。 請注意,無論之前的 BUF 位設置如何,所有讀命令現在都必須遵循“緩沖區讀取模式”命令結構(CA[15:0],虛擬時鐘的數量)。 還可以為 OTP 頁讀取操作啟用 ECC,以確保數據的完整性。
程序和OTP鎖定操作 OTP 頁提供額外的空間(2K 字節 x10)來存儲重要的數據或安全信息, 這些數據或安全信息可以被鎖定以防止在字段中進行進一步修改。
這些 OTP 頁面處于出廠設置的擦除狀態,并且只能編程(將數據從“1”更改為“0”),直到被配置/狀態寄存器 2 中的 OTP-L 位鎖定。 必須首先將 OTP-E 設置為“1”以允許訪問這些OTP 頁,然后必須使用任何“程序數據加載”命令將程序數據加載到主數據緩沖區。 “程序執行”命令后跟特定的 OTP 頁地址,用于啟動從數據緩沖區到 OTP 頁的數據傳輸。 當啟用 ECC 時,ECC 計算將在“程序執行”期間執行,ECC 信息將存儲在 64 字節的備用區域中。
一旦 OTP 頁面被正確編程,OTP-L 位可用于永久鎖定這些頁面,因此無法進行進一步的修改。 當仍處于“OTP 訪問模式”(OTP-E=1)時,用戶需要將配置/狀態寄存器 2 中的 OTP-L 位設置為“1”,并發出“程序執行”命令(頁 面地址為“無所謂”)。 在設備完成 OTP 鎖定設置(BUSY=0)后,用戶可以將 OTP-E 設置為“0”,以返回到主存儲器陣列操作。
SR1-LOTP鎖定操作 保護/狀態寄存器-1 包含保護位,可設置為保護部分或整個內存陣列不被編程/擦除,或將設備設置為軟件寫入保護(WP-E=0)或硬 件寫入保護(WP-E=1)。 一旦 BP[3:0],TB,WP-E 位設置正確,SRP1 和 SRP0 也應設置為“1”,以允許將 SR1-L 位設置為“1”,以永久鎖定狀態寄存器 1 (SR1)中的保護設置。 與上面的 OTP-L 設置過程類似,為了設置 SR1-L 鎖位,設備必須首先進入“OTP 訪問模式”(OTP-E=1),在“程序執行”命令之前, SR1-L 位應設置為“1”(頁面地址為“無所謂”)。 一旦 SR1-L 設置為“1”(BUSY=0),用戶可以將 OTP-E 設置為“0”以返回到主存儲器陣列操作。
8.2.28參數頁數據定義
參數頁包含 3 個 256 字節參數數據的相同副本。 下表列出了所有關鍵數據字節的位置。 所有其他未指定的字節位置都默認有 00h 數據。
51hei.png (5.18 KB, 下載次數: 69)
下載附件
2020-12-5 16:44 上傳
全部資料51hei下載地址:
W25M02_W25N01中文版 原版(70%中文).rar
(4.45 MB, 下載次數: 60)
2020-12-5 14:44 上傳
點擊文件名下載附件
W25M02_W25N01中文版+原版(70%中文)芯片手冊 下載積分: 黑幣 -5
|