痞子衡嵌入式:主流QuadSPI NOR Flash廠商關於QE位與IO功能複用關聯設計

2023-06-17 15:00:29

  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家講的是幾家主流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

一、各廠商設計

1.1 華邦 Winbond

  華邦的晶片引腳複用主要是 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 時間後才能正常響應讀寫操作。

1.2 旺宏 Macronix

  旺宏的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 RESET# 功能(是的,沒有 HOLD# 功能)。旺宏家有一個特色就是當 IO2/3 沒有物理上的訊號連線時,其會保持內部弱上拉狀態。

  晶片內部 Status Register[6] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、RESET# 訊號。

  如果要藉助 RESET# 引腳做 Flash 復位,旺宏家資料手冊裡這部分寫得特別詳細,還區別了不同 Flash 狀態下做復位後所需要的 tREADY2 時間。

1.3 兆易創新 GigaDevice

  兆易創新的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 功能(是的,沒有名義上的 RESET# 功能)。Flash 廠商前三強關於這裡的設計都不同。

  需要注意的是兆易創新家也有一個特色就是當 CS# 拉高且 HOLD# 拉低時,也有 Flash 復位效果,這感覺 IO3 的複用功能是根據 CS# 訊號狀態來切換的。

  晶片內部 Status Register-2[1] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、HOLD# 訊號。

  因為沒有名義上的 RESET# 功能,所以資料手冊裡的 AC 表主要是為軟體 Reset 命令寫的,但是相信也適用隱藏的 RESET# 功能。

1.4 鎂光 Micron

  鎂光家的做法就更有意思了,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# 訊號時序,鎂光資料手冊裡也寫得比較詳細。

1.5 芯成 ISSI

  芯成的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 HOLD# 或者 RESET# 功能。跟華邦家設計一致。

  晶片內部 Status Register[6] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、HOLD#/RESET# 訊號。

  當 QE = 0 時,IO3 引腳到底是 HOLD# 功能還是 RESET#,這是 Read Register[7] 來決定的:

  關於 RESET# 訊號時序,芯成資料手冊裡寫得與華邦、兆易創新一樣比較粗略。

1.6 英飛凌(原Spansion)

  英飛凌的晶片引腳複用主要是 IO2 上加了 WP# 功能,IO3 上加了 RESET# 功能。跟旺宏家設計一致。英飛凌家明確地給 IO2/3 內部加了上拉,不用可以直接懸空。

  晶片內部 Configuration Register-1 Volatile[1] 是 QE 控制位,決定了 IO2/3 到底是資料傳輸訊號還是複用的WP#、RESET# 訊號。

  此外,英飛凌家還在 Configuration Register-2 Volatile[7] 裡讓使用者可以選擇是否關閉 IO3 的 RESET# 複用功能。

  關於 RESET# 訊號時序,英飛凌資料手冊裡寫得比較簡潔。

1.7 瑞薩(原Adesto)

  瑞薩的晶片引腳複用主要是 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主頁知乎主頁微信公眾號 平臺上。

微信搜尋"痞子衡嵌入式"或者掃描下面二維條碼,就可以在手機上第一時間看了哦。