嵌入式記憶體的基礎知識:EEPROM、FRAM、eMMC 和 SD 卡

作者:Jacob Beningo

資料提供者:DigiKey 北美編輯群

記憶體是所有微控制器型嵌入式系統的主要元件。例如,開發人員需要足夠的 RAM 來保存所有的揮發性變數、建立緩衝及管理多種應用程式堆疊。RAM 對嵌入式系統而言至關重要,同樣地,開發人員也需要空間來儲存應用程式碼、非揮發性資料及組態資訊。

問題是,非揮發性記憶體技術的選擇日益增多,很難決定何種是適合應用的記憶體。

本文將介紹多種不同的技術,然後會列舉多家供應商的產品當作範例,包括 ON SemiconductorAdesto TechnologiesRenesasISSI、Cypress Semiconductor、AdvantechGigaDevice SemiconductorSilicon Motion,幫助開發人員瞭解每種記憶體類型的特性。此外,本文也將探討每種記憶體的最佳應用場合,確保開發人員能有效運用這些產品。

嵌入式系統中的 EEPROM 和 FRAM

要添加記憶體到嵌入式系統時,優先且最常列入考量的就是 EEPROM。此非揮發性記憶體,經常用於儲存嵌入式應用的系統組態參數。例如,與 CAN 匯流排等網路進行連線的裝置,可能會將 CAN ID 儲存在 EEPROM 中。

EEPROM 成為嵌入式系統開發人員的理想選擇,要歸功於以下幾項特性:

  • 實體覆蓋區小
  • 價格相對便宜
  • 典型的位元速率可達 100 Kbit/s 至 1000 Kbit/s
  • 標準化的電氣介面
  • 通常支援 I2C 和 SPI 介面

在 DigiKey 網站快速搜尋 EEPROM ,目前會顯示 9 家 EEPROM 廠商提供超過 5,800 個 EEPROM 型號。例如,ON Semiconductor 的 CAT24C32WI-GT3 是 32 Kbit (4 KB) 的 EEPROM 元件,其採用 8 引腳 SOIC 封裝,能連接至 I2C 匯流排,並提供高達 1 MHz 的速度 (圖 1)。

CAT24C32WI-GT3 是 ON Semiconductor 的 1 Kbit EEPROM 圖片圖 1:CAT24C32WI-GT3 是 ON Semiconductor 推出的 1 Kbit EEPROM,可透過 I2C 或 SPI 連接埠連接至微控制器,以儲存組態和應用資料。(圖片來源:ON Semiconductor)

有趣的是,EEPROM 有時也會包含在實際的微控制器中。例如,Renesas 的 R7FS128783A01CFM#AA1 32 位元微控制器,就有 4 KB 的板載 EEPROM 可供開發人員使用。

此 EEPROM 假定組態的儲存需求在 4 KB 之內。如果需要更大空間,開發人員則需要使用外接式元件,或使用微控制器的快閃記憶體模擬額外的 EEPROM。

雖然 EEPROM 很受歡迎,但還是有些潛在的缺點:

  • 抹除/寫入週期通常不能超過 1,000,000 次
  • 寫入週期大約為 500 ns
  • 寫入一個單元需要使用多個指令
  • 資料保留時間為 10 年或以上 (最近更常見可達 100 年或以上)
  • 容易受到輻射和高工作溫度的影響

EEPROM 可在許多應用中運作良好,但若是要求高穩定性的應用 (例如汽車、醫療或太空系統等產業),建議開發人員使用更耐久的記憶體解決方案,例如 FRAM。

FRAM 代表「鐵電隨機存取記憶體」,與 EEPROM 相比,具有以下幾項優點:

  • 速度更快 (寫入週期不到 50 ns)
  • 寫入週期次數更多 (高達 1 兆次,EEPROM 只有 1 百萬次)
  • 功率更低 (工作電壓僅需 1.5 V)
  • 抗輻射性更佳

FRAM 的記憶體容量類似於 EEPROM。例如,Cypress Semiconductor 的 FRAM 系列即提供 4 Kbit 至 4 Mbit 的容量。FM25L16B-GTR 具有 16 Kbit (圖 2)。此元件採用 8 引腳 SOIC 封裝,工作頻率最高達 20 MHz。

Cypress 的 FRAM 系列圖片圖 2:Cypress 的 FRAM 系列提供 4 Kbit 至 4 Mbit 的記憶體容量,可透過 SPI 連接至微控制器,以儲存組態和應用資料。FM25L16B-GTR (如圖所示) 的工作頻率高達 20 MHz。(圖片來源:Cypress Semiconductor)

在高階產品方面,Cypress Semiconductor 的 CY15B104Q-LHXIT 提供 4 Mbit 容量,並支援高達 40 MHz 的介面速度 (圖 3)。此 FRAM 記憶體具有一些引人注目的特點:

  • 資料可保存 151 年
  • 讀取/寫入週期高達 100 兆次
  • 可直接取代序列快閃記憶體和 EEPROM

有人可能會覺得,FRAM 比 EEPROM 昂貴許多,因此,在挑選適合應用的記憶體時,仔細權衡元件操作處的環境因素至關重要。

Cypress 的 CY15B104Q-LHXIT 是一款 4 Mbit 元件圖片圖 3:CY15B104Q-LHXIT 是一款 4 Mbit 元件,工作頻率高達 40 MHz。此元件屬於 Cypress 的 FRAM 系列,容量介於 4 Kbit 至 4 Mbit。(圖片來源:Cypress Semiconductor)

嵌入式系統中的快閃記憶體、eMMC 及 SD 卡

嵌入式系統中的快閃記憶體可用於多種不同用途。首先,外部快閃記憶體可用於擴充內部的快閃記憶體,藉此增加應用程式碼的可用記憶體。這通常會透過 SPI 快閃記憶體模組達成,例如使用 GigaDevice Semiconductor 的 GD25Q80CTIGR (圖 4)。GD25Q80CTIGR 可用於將內部記憶體擴充 8 Mbit,但前提是微控制器能夠透過 SPI 介面支援這種記憶體。

GigaDevice Semiconductor Limited 的 GD25Q80CTIR 快閃記憶體圖片圖 4:GigaDevice Semiconductor Limited 的 GD25Q80CTIR 快閃記憶體,可透過 SPI 連接埠將內部快閃空間擴充 8 Mbit。(圖片來源:GigaDevice Semiconductor Limited)

其次,外部快閃記憶體可用於儲存組態資訊或應用資料,而無需使用 EEPROM 或 FRAM。您可改用外部快閃記憶體晶片來降低 BOM 成本,或擴充內部記憶體空間,以儲存應用資料。微控制器的周邊裝置與記憶體對應可配置成包含此外部快閃記憶體,即可讓開發人員更輕鬆進行存取,無需特地調用介接 EEPROM 或 FRAM 所需的驅動程式。

Adesto Technologies 的 AT25SF161 就是一款用於此用途的外部快閃記憶體元件 (圖 5)。此元件使用佇列式 SPI (QSPI) 介面。QSPI 是一般 SPI 協定的延伸,能讓系統達到更多資料吞吐量。對於需要在單次交易期間儲存或擷取大量資料的開發人員而言,此介面極具吸引力。

QSPI 的原理是在 QSPI 周邊裝置中取消 CPU 干預,並將介面從標準的四引腳 (MOSI、MISO、CLK 及 CS) 更改成六引腳 (CLK、CS、IO0、IO1、IO2、IO3)。如此一來,即可將四個引腳用於輸入和輸出,而不像傳統的 SPI 只用兩個引腳。

Adesto Technologies 的 AT25SF161 外部快閃記憶體元件圖片圖 5:Adesto Technologies 的 AT25SF161 外部快閃記憶體元件可用於擴充內部快閃記憶體。此元件內建 QSPI 介面,可提供更快的資料儲存和擷取速度。(圖片來源:Adesto Technologies)

最後,快閃記憶體可用於儲存應用資料和酬載資訊。例如,GPS 系統不會嘗試在處理器本機上儲存所有的 GPS 地圖,而是使用 SD 卡或 eMMC 元件等外部記憶體儲存元件。這些儲存媒體可透過 SPI 或專用 SDIO 介面連接至微控制器,而這些介面能與外部記憶體元件進行有效介接。

例如,ISSI 的 IS21ES04G-JCLI eMMC 可直接連接至微控制器上的 SDIO 介面,為元件增加 32 Gbit 的快閃儲存空間 (圖 6)。

ISSI 的 eMMC 快閃模組具有 32 Gbit 的記憶體圖片圖 6:ISSI 的 eMMC 快閃模組具有 32 Gbit 的記憶體,可透過 SPI 或 SDIO 連接至主機。(圖片來源:ISSI)

從電氣介面的角度來說,SD 卡和 eMMC 元件完全相同。這表示,雖然兩者採用不同的封裝,但都有同樣的共用引腳,可將元件連接至微控制器。不過,這兩種記憶體還是有很大的差異。與 SD 卡相比,eMMC 通常具有以下差異:

  • 更耐用且受到物理性毀損的機率更低
  • 互動速度更快
  • 價格更貴
  • 焊接在電路板上而無法移除

如果使用者不用移除記憶體,便使用 eMMC 提供更耐用的解決方案,不過仍需視最終應用而定。無論哪種情況,開發人員都需要仔細挑選記憶體,因為記憶體的規格都不一樣。

例如,對於一個將置於汽車中的子系統,其記憶體的可靠性可能需要經過驗證及認證,達到比標準快閃元件更高的標準。在此情況下,開發人員就該尋找符合汽車標準的記憶體,例如 Silicon Motion 的 SM668GE4-AC 4 GB eMMC 模組。

若是 SD 卡,開發人員在購買時需要特別留意,因為就像 eMMC,SD 卡的規格也都不一樣。開發人員需要仔細檢查 SD 卡的速度等級和工作溫度。例如,大多數 SD 卡的額定值介於 0 至 70˚C,適用於消費性電子產品。

此外,每張 SD 卡還有速度等級規格,用於說明可預期的最高介接速度。例如,若 SD 卡為 Class 2 級,則代表該卡片對於儲存影像的應用程式來說,速度不如專為高畫質影片而設計的 Class 10 級卡片,如 Advantech 的 SQF-MSDM1-4G-21C SQFlash 4 GB microSD 卡。

Advantech 的 SQF-MSDM1-4G-21C SQFlash microSD 卡圖片圖 7:Advantech 的 SQF-MSDM1-4G-21C SQFlash microSD 卡內建 4 GB 記憶體,並具有高階 Class 10 速度等級。(圖片來源:Advantech Corp)

挑選記憶體的秘訣與訣竅

挑選適合嵌入式產品的記憶體類型和介面並不容易。以下是開發人員在挑選適合應用的記憶體時,需要考慮的一些秘訣與訣竅:

  • 清楚瞭解記憶體的工作條件,例如:
    • 期望的抹除/寫入週期
    • 環境條件和因素,如溫度、振動和輻射
    • 資料載入需求
  • 記下要順利在應用中使用該記憶體所需達到的最小、期望與最大位元速率
  • 選擇與記錄的期望位元速率最符合的記憶體介面類型
  • 如果是嚴苛的環境條件 (例如汽車或太空系統),則選擇符合汽車等級或可耐受輻射的記憶體
  • 使用分接板整合所選的記憶體元件與微控制器開發套件,然後進行測試

遵循這些祕訣有助於確保開發人員選出最適合其嵌入式應用的記憶體。

結論

開發人員目前有相當多種非揮發性記憶體元件可供選擇,可用來儲存從應用程式碼到組態資訊等眾多資料。如本文所述,開發人員需要仔細評估其應用需求,並細心挑選能兼顧這些需求和成本的記憶體類型及介面。

 
DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo 是嵌入式軟體顧問,目前與超過十幾個國家的客戶合作,透過產品品質、成本和上市時間的改善,促成業務的大幅轉型。他曾在嵌入式軟體開發技術上發表超過兩百篇文章,是深思熟慮的講師和技術培訓師,共擁有三個學位,包括密西根大學的工程碩士學位。歡迎透過以下方法洽詢,電郵:[email protected]、網站:www.beningo.com,亦可登記取得他發行的Embedded Bytes 每月電子報

關於出版者

DigiKey 北美編輯群