大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家講的是幾家主流QuadSPI NOR Flash廠商關於QE位與IO功能複用關聯設計。
痞子衡之前寫過一篇文章 《序列NOR Flash下載/啟動常見影響因素之QE bit》,這篇文章介紹了幾家主流廠商關於 QE bit 在 Flash 內部暫存器位置以及寫入命令上的差異。今天這篇文章,咱們接著往下聊,講一講這幾家廠商在 QE bit 與 I/O 引腳功能複用關係設計上的差異。
QuadSPI NOR Flash 的常見封裝形式有:8-Pin SOIC/SOP/DIP/WSON/USON、16-Pin SOIC/SOP、WLCSP-21、TFBGA-24 等,本文主題是關於 I/O 引腳功能複用,顯然只有引腳較少的型號才會做引腳複用設計,所以咱們主要聊得是如下典型晶片的那些 8-Pin 封裝的型號:
華邦 W25Q128JWSIM
旺宏 MX25L12833F
兆易創新 GD25LE128D
鎂光 MT25QL128ABA
芯成 IS25WP128
英飛凌 S25FL128L
瑞薩 AT25SL128A
華邦的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 或者 RESET# 功能。
晶片內部 Status Register-2[1] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、HOLD#/RESET# 訊號。這裡有一個注意點,晶片絲印末位為 Q 的型號(比如W25Q128JWSSIQ)出廠預設 QE 為 1,並且不可更改為 0 (據說這是華邦為了某大客戶省去 IO2/3 上拉煩惱而特意做的設計,並順便推廣了)。
當 QE = 0 時,IO3 引腳到底是 HOLD# 功能還是 RESET#,這是 Status Register -3[7] 來決定的:
當 QE = 0 且 IO3 被設定為 RESET# 時,因為是低電平有效,為了保證不會誤復位 Flash,需要給 IO3 加外部上拉(Flash 內部沒有上拉)。如果此時想利用這個 RESET# 引腳復位 Flash,需持續拉低至少 tRESET 時間,Flash 會在最長 tRST 時間後才能正常響應讀寫操作。
旺宏的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 RESET# 功能(是的,沒有 HOLD# 功能)。旺宏家有一個特色就是當 IO2/3 沒有物理上的訊號連線時,其會保持內部弱上拉狀態。
晶片內部 Status Register[6] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、RESET# 訊號。
如果要藉助 RESET# 引腳做 Flash 復位,旺宏家資料手冊裡這部分寫得特別詳細,還區別了不同 Flash 狀態下做復位後所需要的 tREADY2 時間。
兆易創新的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 功能(是的,沒有名義上的 RESET# 功能)。Flash 廠商前三強關於這裡的設計都不同。
需要注意的是兆易創新家也有一個特色就是當 CS# 拉高且 HOLD# 拉低時,也有 Flash 復位效果,這感覺 IO3 的複用功能是根據 CS# 訊號狀態來切換的。
晶片內部 Status Register-2[1] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、HOLD# 訊號。
因為沒有名義上的 RESET# 功能,所以資料手冊裡的 AC 表主要是為軟體 Reset 命令寫的,但是相信也適用隱藏的 RESET# 功能。
鎂光家的做法就更有意思了,IO2 上加了 WP# 功能這個沒異議,IO3 上功能複用直接提供兩種不同型號,要麼是 HOLD#,要麼是 RESET#。
當然鎂光家最大的特色是並沒有 QE 控制位,IO2/3 具體功能主要靠當前命令型別來決定:如果是 Single SPI 或者 Dual I/O SPI 傳輸,則 IO2/3 是 WP#/RESET#/HOLD# 功能;如果是 Quad I/O SPI 傳輸,則 IO2/3 用於傳輸資料。
此外,鎂光家還在 Configuration Register[4] 裡讓使用者可以選擇是否關閉 IO3 的 Reset/Hold 複用功能。
關於 RESET# 訊號時序,鎂光資料手冊裡也寫得比較詳細。
芯成的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 或者 RESET# 功能。跟華邦家設計一致。
晶片內部 Status Register[6] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、HOLD#/RESET# 訊號。
當 QE = 0 時,IO3 引腳到底是 HOLD# 功能還是 RESET#,這是 Read Register[7] 來決定的:
關於 RESET# 訊號時序,芯成資料手冊裡寫得與華邦、兆易創新一樣比較粗略。
英飛凌的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 RESET# 功能。跟旺宏家設計一致。英飛凌家明確地給 IO2/3 內部加了上拉,不用可以直接懸空。
晶片內部 Configuration Register-1 Volatile[1] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、RESET# 訊號。
此外,英飛凌家還在 Configuration Register-2 Volatile[7] 裡讓使用者可以選擇是否關閉 IO3 的 RESET# 複用功能。
關於 RESET# 訊號時序,英飛凌資料手冊裡寫得比較簡潔。
瑞薩的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 功能。IO2/3 內部也加了上拉。
晶片內部 Status Register-2[1] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、HOLD# 訊號。
因為 8-Pin 封裝完全沒有硬體 RESET# 訊號設計,所以就不介紹復位時序了。
廠商型號 | 複用情況 | QE位控制 | IO3複用功能選擇 | IO2/3上拉情況 |
---|---|---|---|---|
華邦 W25Q128JWSIM | IO2與WP# IO3與HOLD#/RESET# |
Status Register-2[1] | Status Register-3[7] | 無內部上拉 |
旺宏 MX25L12833F | IO2與WP# IO3與RESET# |
Status Register[6] | N/A | 內部弱上拉(僅當懸空時) |
兆易創新 GD25LE128D | IO2與WP# IO3與HOLD# |
Status Register-2[1] | CS# | 無內部上拉 |
鎂光 MT25QL128ABA | IO2與WP# IO3與HOLD# IO3與RESET# |
傳輸命令型別 | Config Register[4]開關 | 無內部上拉 |
芯成 IS25WP128 | IO2與WP# IO3與HOLD#/RESET# |
Status Register[6] | Read Register[7] | 無內部上拉 |
英飛凌 S25FL128L | IO2與WP# IO3與RESET# |
Config Register-1[1] | Config Register-2[7] | 內部上拉 |
瑞薩 AT25SL128A | IO2與WP# IO3與HOLD# |
Status Register-2[1] | N/A | 內部上拉 |
至此,主流QuadSPI NOR Flash廠商關於QE位與IO功能複用關聯設計痞子衡便介紹完畢了,掌聲在哪裡~~~
文章會同時釋出到我的 部落格園主頁、CSDN主頁、知乎主頁、微信公眾號 平臺上。
微信搜尋"痞子衡嵌入式"或者掃描下面二維條碼,就可以在手機上第一時間看了哦。
最後歡迎關注痞子衡個人微信公眾號【痞子衡嵌入式】,一個專注嵌入式技術的公眾號,跟著痞子衡一起玩轉嵌入式。
衡傑(痞子衡),目前就職於某知名外企半導體公司MCU系統部門,擔任嵌入式系統應用工程師。
專欄內所有文章的轉載請註明出處:http://www.cnblogs.com/henjay724/
與痞子衡進一步交流或諮詢業務合作請發郵件至 https://www.cnblogs.com/henjay724/p/[email protected]
可以關注痞子衡的Github主頁 https://github.com/JayHeng,有很多好玩的嵌入式專案。
關於專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回覆免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。