跳轉到主要內容

外部記憶體

本章內容旨在協助您為嵌入式圖形化使用者介面選擇外部記憶體。 在閱讀本章內容之前,建議您閱讀 初步考慮MCU,以便瞭解在選擇合適的外部記憶體時要注意的一些重要因素。

執行TouchGFX GUI應用時,有時需要使用外部記憶體來存儲影像緩衝、點陣圖、字體和轉換資訊等。 TouchGFX GUI的執行不依賴外部記憶體,但需要使用內部RAM(在MCU中)或外部RAM來存儲影像緩衝,並用內部和/或外部快閃記憶體來存儲資料。

下面的記憶體總覽展示了一些可與STM32 MCU一起使用的外部記憶體。 一些不同的記憶體範例同時提供了串列和平行介面。

記憶體總覽

不同的STM32微控制器具有不同的外部記憶體介面,可以連接不同的外部記憶體。

非揮發性記憶體

在GUI應用中,非揮發性存儲(快閃記憶體)主要用於存儲一些或全部圖形資料資產,如點陣圖、字體、轉換資訊和TouchGFX應用程式碼。 STM32產品支援非揮發性記憶體,可使用平行或串列記憶體和不同配置,通過不同類型的MCU介面進行連接。

非揮發性記憶體

根據以下要素選擇非揮發性存儲:

  • 密度
  • 性能
  • 介面類別型(並行/串列)
  • 材料清單

NOR Flash

NOR Flash是一種非揮發性記憶體,允許對記憶體中的任何區域進行隨機存取。

NOR Flash的大小通常介於128 Mbits2 Gbits之間。

例如,當解析度為480x320、色深為16位元每像素時,使用者介面需要的全屏背景圖像約為300 kB。 其中不包括使用的按鈕、滑動條、圖示和字體以及語言數量等所需的額外點陣圖。 256 Mbits (32 MB) NOR Flash可存儲最多約100張全屏圖像,如果加上其他需要的圖形,將少於這個數。

可在記憶體映射 模式下使用NOR Flash,在這種情況下,外部快閃記憶體被視為讀取操作的內部記憶體。 該模式允許系統主機(如DMA、LTDC、DMA2D、GFXMMU或SDMMC)自主訪問記憶體,即使在CPU停止時的低功耗模式下也不例外,是移動和可穿戴應用的理想選擇。

NOR Flash記憶體有不同的介面選項:

  • 平行NOR Flash(具有x8或x16介面)
  • 串列NOR Flash(串列記憶體的單、雙、四和八資料線,以及HyperBus快閃記憶體)

串列NOR Flash記憶體

串列NOR Flash記憶體被廣泛用作為圖形應用中的記憶體。

這類存儲器具有諸如以下優勢:

  • 高頻率
  • 簡化並縮小了印刷電路板(PCB)的區域
  • 記憶體映射模式的可定址區為最大256Mbytes
  • 需要的引腳數介於412個之間
NOR單線、雙線、四線、八線快閃記憶體

NOR Flash記憶體有不同的資料線配置。

  • 單線
  • 雙線
  • 四線
  • 八線

切換至配備更多資料線的串列NOR Flash記憶體可以提高性能和記憶體介面頻寬,但也需要更多引腳來連接STM32產品。

下面是根據資料線數量列出的不同SPI記憶體總覽:

序列介面總覽

平行NOR Flash記憶體

在性能和配置方面,平行NOR Flash記憶體具有與串列快閃記憶體相同的優勢。 平行NOR Flash可配置為記憶體映射模式,並能像內部記憶體一樣進行存取。 平行和串列NOR Flash之間的差異在於引腳數和印刷電路板(PCB)的複雜度。

NOR快閃記憶體需要最多47個腳位 ,包括最多24個地址腳位和16個資料腳位。

NAND快閃記憶體

NAND Flash記憶體是需要大量圖形資料和 更快寫入與擦除操作的圖形應用的理想選擇。 NAND Flash記憶體不能配置為記憶體映射模式,因此,不建議將其用於程式碼執行

NAND Flash的大小介於1 Gbit512 Gbits之間。

在使用NAND Flash時,通常必須使用RAM中的緩存。 如此一來,可以將當前使用的圖形資料移動到RAM,並從緩存中獲取它們。

NAND快閃記憶體

eMMC記憶體

eMMC(嵌入式多媒體卡)由MMC協會訂立,相當於一個NAND Flash加一個主集成控制器。 eMMC的一個明顯優勢是在封裝中集成了控制器,從而提供了標準介面和快閃記憶體管理,使製造商能夠將精力集中在產品開發的其他部份,進而縮短上市時間。

eMMC Flash的大小介於2 Gbits128 Gbits之間。

相比於NAND和NOR,eMMC的隨機讀取性能相對較低。 eMMC可能需要添加緩存來克服隨機讀取速度緩慢的問題。

eMMC Flash記憶體需要最多 10個引腳 ,包括8個資料引腳和2個控制引腳。

eMMC記憶體

揮發性記憶體

外部揮發性記憶體主要用於存儲影像緩衝(若內部MCU RAM不夠用),在某些情況下,用於緩存來自非記憶體映射快閃記憶體的資料。 本節主要介紹SRAM、SDRAM和PSRAM,它們通常用在執行GUI的嵌入式系統中。 但還有其他可用的變型,記憶體製造商對其記憶體使用不同命名模式,如“hyper RAM”、“IoT RAM”和“octal RAM”。 其中的大多數都可以找到支援它的STM32 MCU。

揮發性記憶體

在選擇合適的外部RAM時,建議注意以下要素:

SRAM

SRAM是靜態隨機存取記憶體,只要有供電,就能保存位元資料。 一般而言,SRAM的存取速度更快,且密度更小,但價格高於DRAM。 相比於DRAM,SRAM的存取時間通常更短,因此更適合需要更多動畫、縮放和旋轉等操作的GUI。 SRAM具有同步和非同步模式,同步模式提供更高的頻寬能力,但介面更複雜。

Note
此外,還有非揮發性隨機存取記憶體nvSRAM,也能存儲和提取資料。

SDRAM

SDRAM是一種動態隨機存取記憶體,它保存電容上的每一個資料位元。相比於SRAM,SDRAM能用更小的物理空間存儲相同數量的資料。 為了保存資料,SDRAM需要不斷刷新,因此其能耗高於SRAM。

SDRAM的密度通常為16 Mbits至512 Mbits,通過8、16和32位元介面提供,運行頻率為100-200 MHz。

在執行24bpp 800*480解析度的雙影像緩衝策略中,需要約32 Mbits SDRAM以及約18 Mbits的RAM。

PSRAM

PSRAM是虛擬靜態隨機存取記憶體,具有DRAM(控制邏輯)的內部結構和SRAM介面。 它的密度通常為8-256 Mbits。 相比于傳統的SDRAM和SRAM,PSRAM的優勢在於速度更快且功耗更低。

其他記憶體

新的octal RAM和Hyper RAM記憶體在單和雙數據率模式下使用串列8位元介面,可實現高吞吐率和良好的集成效果。

外部RAM密度的選擇

如果您的策略是將影像緩衝放在外部RAM中,此表是市面上提供的不同RAM密度的總覽。

它還提供了以1、2、4、8、16和24位元每像素的密度(除以2可得出單個影像緩衝所需密度)運行雙影像緩衝設置所需RAM的總覽。

在某些情況下,單影像緩衝配置已經足夠,並且在某些STM32微控制器中,會有足夠的內部RAM用於容納影像緩衝。

SDRAM和OctoSPI密度

雙影像緩衝設置所需RAM