接着上一篇文章,由於W25Q32芯片是一個存儲器芯片,先對這個芯片有關存儲器的一些概念進行解讀。
一、存儲器相關知識
1、存儲器的三個單位:
存儲器三個等級:頁(Page),扇區(sector),塊(block)
2、單位換算關係:
下面給出手冊的截圖,見圖1-1,截圖下面我做出總結
圖1-1
對於W25Q32,容量爲4MB(2的22次方字節)
1頁=256字節,該芯片一共有16384(2的14次方)可編程頁
1扇區=16頁,該芯片一共有1024(2的10次方)可擦扇區
1塊=16扇區,該芯片一共有64(2的6次方)可擦塊
3、相關指令:
頁(Page)程序指令:一次最多可編程256個字節。
扇區(sector)擦除指令:1扇區擦除,即16頁一起擦除。
塊(block)擦除指令:半塊擦除,即128頁一起擦除;1塊擦除,即256頁一起擦除。
整個芯片(Chip)全部擦除指令。
二、W25Q32的寄存器
W25Q32共有2個8位的寄存器,名字分別爲Status Register-1,Status Register-2,其中只有10位有用,見圖2-1,圖2-2
圖2-1
圖2-2
下面對這10位進行解讀
1、BUSY(忙位):
手冊截圖如圖2-3
圖2-3
只讀位,當執行“頁編程”,“扇區擦除” 、“塊擦除”、 “芯片擦除”、 “寫狀態寄存器”指令時,這一位由硬件自動置1,此時除了“讀狀態寄存器”指令,其它指令都會被忽視。當上述操作結束以後,這一位由硬件自動置0,此時芯片可以接收其它指令。
2、WEL(寫使能位):
手冊截圖如圖2-4
圖2-4
只讀位,當執行寫使能指令時,這一位由硬件自動置1。當芯片掉電重啓,或者“寫禁止“、”“頁編程”、“扇區擦除” 、“塊擦除”、 “芯片擦除”、 “寫狀態寄存器”指令後,這一位由硬件自動置0。
3、SEC、TB、BP2、BP1、BP0(塊保護):
塊保護這部分內容比較多,我先給出手冊截圖如圖2-5
圖2-5
對應這部分文字解說有個真值表,見圖2-6
圖2-6
還需要結合存儲器地址分佈圖,如圖2-7
圖2-7
由於這個內容很多,我就解讀一下怎麼看這個表
1、前5列:這個是真值表,數電很熟悉了,不再贅述。
2、第6列表示的是塊的編號,第7列表示塊的地址範圍,第8列表示塊的容量大小,第9列表示的是該塊在整個芯片的相對位置。
3、以圖2-6第二行爲例:前5列取值爲0 0 0 0 1,表示的是第63塊,對應的地址和塊容量大小在圖2-7對應的最上面,找到63的標號,就可以找到,最後一列Upper表示高位地址,Lower表示低位地址,Top是最頂層地址,Bottom表示最底層地址,分數表示該塊容量佔了整個芯片的1/64。
4、SRP1, SRP0(狀態寄存器保護位):
手冊截圖如圖2-7
圖2-7
這部分是真值表的形式,這兩位是控制5種狀態寄存器的狀態:
1、/WP無控制功能 ,狀態寄存器可寫。
2、/WP = 0,狀態寄存器不可寫。
3、/WP = 1,狀態寄存器可寫。
4、必須掉電-上電後,狀態寄存器纔可寫(類似於冷啓動)。
5、狀態寄存器除了在出廠時被寫,後面永久保護不可寫,即爲一次性編程。
5、QE(Quad SPI模式使能):
手冊截圖如圖2-8
圖2-8
QE位是使能之前說的Quad SPI模式。
QE = 0(出廠默認設置),寫保護(/WP)和維持(/Hold)引腳才能工作,也就是工作在標準SPI模式或 Dual SPI模式。
QE = 1,表示寫保護(/WP)和維持(/Hold)引腳複用爲數據引腳,工作在Quad SPI模式。
最後一行有個警告:就是上一篇文章我最後放的PCB原理圖,寫保護(/WP)和維持(/Hold)引腳直接接VCC了,QE位不能設置爲1,即不可編程寫該位,只能工作在標準SPI模式或 Dual SPI模式。
3、總結
所有的知識點全部在手冊裏面,一定要耐心讀完英文,牢牢結合手冊,這樣才能提高閱讀文獻的能力。
下一篇會講芯片的指令,根據時序圖寫程序,並配上完整程序。
不足之處請批評指正,歡迎留言交流,需要完整文檔私信我。