|

【Maker電子學】Flash 記憶體的原理與應用—PART10(NOR flash)

   
作者:Bird

前幾回我們介紹了 I2C EEPROM 的運作原理和使用方法,這一回開始我們要進入 SPI flash 記憶體的世界了。

Flash 介面的分類

我們在介紹 flash 記憶體的歷史時,曾經介紹過 flash 分成 NOR flash 和 NAND flash 兩種。前者較早發明、密度較低、儲存資料相當可靠;後者稍晚發明、密度較高,但儲存資料的能力較不穩定。

早期的 flash 記憶體多半使用並列式的介面,有獨立的資料、位址接腳,以及一些用來控制鎖定、讀寫模式的訊號。在 NOR flash 陣營,有個叫做 CFI(common flash interface)的標準,它定義了 NOR flash 的介面和指令標準,而在 NAND flash 陣營,則有一個叫做 ONFI(Open NAND Flash Interface)的標準,定義了類似的東西,不過由於 NAND flash 先天上資料比較容易錯,使用起來需要更多的資料錯誤檢查和校正等管理,因此它的的介面和指令更爲複雜。

除了並列介面外,串列介面也逐漸出現在 flash 記憶體上。串列介面所需要的訊號數量少、IC 的封裝也比較小,在許多應用裡會比並列式的 flash 介面更爲適合,而這其中,又以 SPI 介面最爲適合。因爲 NOR flash 動輒數十到數百 Mb,而 NAND flash 更是單顆已經到 Gb 等級,這個量級的容量如果用我們上一回介紹 EEPROM 的 I2C 介面來傳輸,可能燒錄一顆 1 Gb 的 NAND flash 要超過 24 小時,因此在短距離可以跑到數十甚至上百 MHz 的 SPI 介面就成了更合理的選擇。

這一回,就讓我們先從 SPI 介面的 NOR flash 開始介紹。

SPI NOR Flash

SPI NOR flash 現在很常用在各種 SoC 的啟動 firmware 儲存,比方說很常用的 ESP32-S2 module ESP32-S3-WROOM 裡面就用了一顆 4 MB 到 16 MB 不等的 SPI NOR flash,用來儲存程式碼和資料。

我們就以 Winbond 的 W25Q32JV 這顆 32 Mbit 的 SPI NOR flash 為範例,來介紹 SPI NOR flash 的使用方法吧。

SPI NOR flash 有個很大的優點就是接腳數量少。大部分的 SPI NOR flash,不管容量大小,都是 8 隻腳的包裝。

(圖片來源:Bird 提供)

扣掉電源和 ground 兩隻腳,其實只有六隻腳用來傳輸訊號,而因為 SPI 介面的簡潔,這六隻腳就能以每秒十幾 M bytes 甚至 數十 M bytes 的速度傳輸資料。

SPI 介面

典型的 SPI 介面只有 4 個訊號:DI、DO、CLK、CS。在使用 SPI 控制 flash 的情境中,MCU 是 SPI master,負責產生 clock、送出指令,而 SPI flash 則是 slave,被動的接受 clock、接受指令。

本文為會員限定文章

立即加入會員! 全站文章無限看~

                               

已經是會員? 按此登入

只需不到短短一分鐘...

輸入您的信箱與ID註冊即可享有一切福利!

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

Liang Bird

Author: Liang Bird

在外商圈電子業中闖蕩多年,經歷過 NXP、Sony、Crossmatch 等企業,從事無線通訊、影像系統、手機、液晶面板、半導體、生物辨識等不同領域產品開發。熱愛學習新事物,協助新創團隊解決技術問題。台大農機系、台科大電子所畢業,熱愛賞鳥、演奏管風琴、大提琴、法國號,亦是不折不扣的熱血 maker。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *