주요 내용으로 건너뛰기

외부 메모리

이 챕터에서는 내장형 GUI를 위한 외부 메모리를 선택할 때 도움이 될만한 내용을 중점적으로 살펴봅니다. 이 챕터를 읽기 전에 사전 고려 사항 및 MCU를 읽어보면 적합한 외부 메모리를 선택할 때 중요하게 고려해야 할 요인을 파악할 수 있습니다.

TouchGFX GUI 애플리케이션을 실행할 때는 프레임 버퍼(들), 비트맵, 글꼴, 번역 등을 저장하기 위한 외부 메모리가 필요한 경우가 있습니다. TouchGFX GUI를 실행하는 데 외부 메모리가 반드시 필요한 것은 아니지만, 프레임 버퍼(들)를 저장하기 위해서는 내부 RAM(MCU 내)이나 외부 RAM이 필요하고 데이터를 저장하기 위해서는 내/외부 플래시가 필요합니다.

아래 개요에는 STM32 MCU와 함께 사용할 수 있는 외부 메모리가 나와 있습니다. 예시로 나와 있는 메모리 중 일부는 직렬 및 병렬 인터페이스에서 모두 사용이 가능합니다.

메모리 개요

STM32 마이크로컨트롤러마다 외부 메모리 인터페이스가 다르므로 서로 다른 외부 메모리에 연결할 수 있습니다.

비휘발성 메모리​

GUI 애플리케이션에서 비휘발성 스토리지(플래시)는 주로 비트맵, 글꼴, 번역 및 TouchGFX 애플리케이션 코드와 같은 그래픽 데이터 자산의 일부 또는 전체를 저장하는 데 사용됩니다. 비휘발성 메모리는 STM32 제품에서 지원되며, 병렬/직렬 메모리와 서로 다른 구성을 사용하여 다양한 유형의 MCU 인터페이스에 연결할 수 있습니다.

비휘발성 메모리

비휘발성 스토리지를 선택할 때는 다음을 고려합니다.

  • 밀도(용량)
  • 성능
  • 인터페이스 유형(병렬/직렬)
  • BOM(Bill of Material)

NOR 플래시​

NOR 플래시는 메모리의 어떤 영역이든 랜덤 액세스가 가능한 비휘발성 메모리입니다.

NOR 플래시의 범위는 보통 128 Mbits ~ 2 Gbits입니다.

예를 들어, 해상도가 480x320이고 색심도가 16 bpp인 사용자 인터페이스의 경우 풀 스크린 배경 이미지를 표시하려면 최대 300 Kbytes가 필요합니다. 여기서 버튼, 슬라이더, 아이콘, 사용 글꼴, 언어 수 등에 필요한 추가 비트맵은 고려하지 않았습니다. 256 Mbits(32MB) NOR 플래시는 고유한 풀 스크린 이미지를 최대 100개까지 저장할 수 있으며, 필요한 그래픽 자산의 나머지를 추가하면 저장 개수가 적어집니다.

NOR 플래시는 외부 플래시가 읽기 작업을 위해 내부 메모리처럼 보여지는 메모리 매핑 모드로 사용할 수 있습니다. 이 모드에서는 CPU가 정지된 저전력 모드에서도 시스템 마스터(예: DMA, LTDC, DMA2D, GFXMMU 또는 SDMMC)가 메모리에 자체적으로 액세스할 수 있기 때문에 모바일 및 웨어러블 애플리케이션에 가장 적합합니다.

NOR 플래시 메모리에는 다양한 인터페이스 옵션이 제공됩니다.

  • 병렬 NOR 플래시(x8 또는 x16 인터페이스 포함)
  • Serial NOR 플래시(직렬 메모리 및 하이퍼버스 플래시를 위한 싱글, 듀얼, 쿼드 및 옥타 데이터 라인)

직렬 NOR 플래시 메모리​

직렬 NOR 플래시 메모리는 그래픽 애플리케이션에서 저장공간으로 널리 사용됩니다.

이러한 유형의 메모리에는 다음과 같은 장점이 있습니다.

  • 높은 주파수
  • PCB(Printed Circuit Board) 면적 단순화 및 축소
  • 주소 지정 가능 영역이 최대 256 MB인 메모리 매핑 모드
  • 4 ~ 12개의 핀이 필요함
NOR 싱글, 듀얼, 쿼드 및 옥타 플래시 메모리​

NOR 플래시 메모리는 다양한 데이터 라인 구성에 사용할 수 있습니다.

  • 싱글
  • 듀얼
  • 쿼드
  • 옥타

데이터 라인이 더 많은 직렬 NOR 플래시 메모리로 전환하면 메모리 인터페이스의 성능과 대역폭을 개선할 수 있지만, STM32 제품을 연결하는 데 필요한 핀의 개수가 더 많아지게 됩니다.

아래에는 데이터 라인의 개수에 따른 SPI 메모리에 대한 개요가 나와 있습니다.

직렬 인터페이스 개요

병렬 NOR 플래시 메모리​

병렬 NOR 플래시 메모리는 성능과 구성 측면에서 직렬 플래시 메모리와 동일한 장점이 있습니다. 병렬 NOR 플래시는 메모리 매핑 모드로 구성할 수 있으며 그것은 마치 내부 메모리처럼 액세스가 가능합니다. 병렬 NOR 플래시와 직렬 NOR 플래시는 핀의 개수와 PBC의 복잡성에서 차이가 있습니다.

NOR 플래시 메모리에는 주소에 최대 24개, 데이터에 최대 16개로, 총 47개의 핀이 필요합니다.

NAND 플래시 메모리​

NAND 플래시 메모리는 대량의 그래픽 자산과 더 빠른 쓰기 및 지우기 작업을 요하는 그래픽 애플리케이션에 적합합니다. NAND 플래시 메모리는 메모리 매핑 모드에서 구성이 불가능하므로 코드 실행 시에는 사용하지 않는 것이 좋습니다.

NAND 플래시의 범위는 1 Gbit ~ 512 Gbits입니다.

NAND 플래시를 사용할 때는 RAM에서 캐시를 사용해야 하는 경우가 종종 있습니다. 이렇게 해야 현재 사용되는 그래픽 자산을 RAM으로 옮기고 이를 캐시에서 끌어올 수 있습니다.

NAND 플래시 메모리

eMMC 메모리​

MMC 협회 규격인 eMMC(Embedded Multi Media Card)는 마스터 통합 컨트롤러와 더불어 NAND 플래시에 해당합니다. eMMC의 확실한 이점 중 하나는 제조업체가 제품 개발의 다른 부분에 더 많은 시간을 할애하여 시장 출시 기간을 단축할 수 있도록 패키지에서 플래시 메모리에 대한 표준 인터페이스와 관리 기능을 제공하는 컨트롤러의 통합입니다.

eMMC flash 플래시의 범위는 2 Gbits ~ 128 Gbits입니다.

eMMC는 NAND와 NOR에 비해 랜덤 읽기 성능이 비교적 낮습니다. 따라서 이 랜덤 읽기의 속도 문제를 해결하기 위해 캐시를 추가해야 할 수 있습니다.

eMMC 플래시 메모리에는 데이터에 8개, 제어에 2개로, 총 최대 10개의 핀이 필요합니다.

eMMC 메모리

휘발성 메모리​

외부 휘발성 메모리는 내부 MCU RAM이 부족한 경우에 프레임 버퍼를 저장하는 데 주로 사용되며, 경우에 따라 메모리 매핑 모드가 아닌 플래시에서 자산을 캐싱하는 데에도 사용됩니다. 이 섹션에서는 GUI를 실행하는 내장형 시스템에서 공통적으로 사용되는 SRAM, SDRAM 및 PSRAM을 중점적으로 살펴보겠습니다. 하지만 다른 변형 버전도 출시되어 있으며, 메모리 제조사들은 "하이퍼 RAM", "IoT RAM", "옥타 RAM"용 메모리에 대해 서로 다른 명명 체계를 사용하고 있습니다. 이를 지원하는 STM32 MCU를 찾을 수 있다는 것이 공통점입니다.

휘발성 메모리

적합한 외부 RAM을 선택하려면 다음 사항을 염두해야 합니다.

SRAM​

SRAM은 전원이 공급되는 동안 비트 데이터를 유지하는 정적 랜덤 액세스 메모리입니다. 일반적으로 SRAM은 액세스 속도가 더 빠르지만 DRAM보다 가격이 더 비싸며 밀도도 작습니다. SRAM은 일반적으로 DRAM에 비해 더 빨리 액세스가 가능하므로 애니메이션과 크기 조정, 회전 등이 더 많이 필요한 GUI에 적합합니다. SRAM은 동기 모드와 비동기 모드가 모두 지원되며, 동기 모드는 더 높은 대역폭을 제공하지만 인터페이스가 더 복잡합니다.

Note
SRAM은 데이터의 저장 및 호출이 가능한 nvSRAM이라고 하는 비휘발성 랜덤 액세스 메모리로도 제공됩니다.

SDRAM​

SDRAM은 동적 랜덤 액세스 메모리로서, 각 데이터 비트를 커패시터에 저장하므로 동일한 양의 데이터를 저장할 때 SRAM보다 물리적 공간을 적게 차지합니다. 또한 데이터를 유지하기 위해 계속 새로 고침을 해야 하므로 SRAM에 비해 전력 소모량이 많습니다.

SDRAM 밀도의 범위는 보통 16 Mbit ~ 512 Mbit이며, 100 ~ 200 MHz의 주파수에서 실행되는 8비트, 16비트 및 32비트 인터페이스에서 사용할 수 있습니다.

듀얼 프레임 버퍼 전략에서는 최대 18 Mbits의 RAM이 필요하므로, 24 bpp 800*480 해상도로 두 개의 프레임 버퍼를 저장하려면 32 Mbits SDRAM이 가장 적합합니다.

PSRAM​

PSRAM은 SRAM 인터페이스를 탑재한 DRAM(제어 로직)의 내부 구조를 가진 유사 정적 랜덤 액세스 메모리로, 밀도는 보통 8 ~ 256 Mbits입니다. PSRAM은 기존의 SDRAM이나 SRAM에 비해 속도가 빠르고 전력 소모가 적다는 장점이 있습니다.

추가 메모리​

새로 나온 옥타 RAM 및 하이퍼 RAM 메모리는 싱글 및 듀얼 데이터 속도 모드에서 직렬 8비트 인터페이스를 사용하여 높은 처리 속도와 우수한 통합 기능을 제공합니다.

외부 RAM 밀도 선택​

프레임 버퍼(들)를 외부 RAM에 배치하려는 경우 아래 표에서 현재 출시되어 있는 다양한 RAM 밀도 정보를 살펴보시기 바랍니다.

이 외에 픽셀당 1, 2, 4, 8, 16 및 24비트(2로 나누면 싱글 프레임 버퍼에 필요한 밀도가 산출됨)로 이중 프레임 버퍼 설정을 실행하는 데 필요한 RAM에 관한 정보도 나와 있습니다.

경우에 따라 싱글 프레임 버퍼 설정으로 충분할 때도 있고, STM32 마이크로컨트롤러 중에서는 프레임 버퍼를 배치할 수 있을 만큼 내부 RAM이 충분한 것도 있습니다.

SDRAM 및 OctoSPI 밀도

이중 프레임 버퍼 설정에 필요한 RAM