1. 文档基础信息
本应用笔记文档编号AN1092,版本 V1.0,珠海极海半导体发布。文档介绍 APM32F4xx 系列 MCU 的 SMC(Static Memory Controller,静态存储控制器)外设,完整阐述使用 SMC 外设对接外部异步 SRAM 的硬件连接、时序参数计算、固件库结构体配置、软件初始化流程。文档以IS62WV12816作为典型外部 SRAM 器件示例,提供硬件原理图与完整可参考软件例程。
资料获取:AN1092_APM32F4xx_SMC_SRAM应用笔记
2. SMC 外设基础定义与硬件模块组成
SMC 静态存储控制器,用于驱动各类静态存储器,支持 SRAM、PSRAM、NorFlash、NandFlash、PC 卡。 SMC 硬件由五大部分构成:AHB 总线接口、配置寄存器、NORFlash 控制器、NANDFlash/PC 卡控制器、外部设备信号接口。SMC 内部划分 4 个独立存储块,各个存储块可单独配置时序参数;同一时刻仅允许访问一路外部设备。
3. SMC 存储块地址映射体系
SMC 将 1GB 系统地址空间划分为 4 个 256MB 存储块,每个大存储块再切分为 4 片 64MB 子区域,每片子区域对应独立片选信号。
| 存储块 | 起始地址 | 结束地址 | 支持存储类型 | 片选信号 |
|---|---|---|---|---|
| 存储块 1 | 0x60000000 | 0x6FFFFFFF | NOR / PSRAM / SRAM | SMC_NE1~NE4 |
| 存储块 2 | 0x70000000 | 0x7FFFFFFF | NAND | ‑ |
| 存储块 3 | 0x80000000 | 0x8FFFFFFF | NAND | ‑ |
| 存储块 4 | 0x90000000 | 0x9FFFFFFF | PC 卡 | ‑ |
存储块 1 内部 4 个子区域(用于 SRAM/NOR):
| 子区域 | 片选信号 | 起始地址 | 结束地址 |
|---|---|---|---|
| 子区域 1 | SMC_NE1 | 0x60000000 | 0x63FFFFFF |
| 子区域 2 | SMC_NE2 | 0x64000000 | 0x67FFFFFF |
| 子区域 3 | SMC_NE3 | 0x68000000 | 0x6BFFFFFF |
| 子区域 4 | SMC_NE4 | 0x6C000000 | 0x6FFFFFFF |
示例工程将 IS62WV12816 接 SMC_NE1,外部 SRAM 映射地址:0x60000000 开始。外部 SRAM 直接映射 MCU 内存地址空间,C 语言通过指针直接读写,无需特殊驱动函数。
4. 外部 SRAM 存储器基础概念
SRAM 即静态随机存取存储器,依靠锁存器单元保存数据,通电即可保持数据,不需要刷新操作,对比 DRAM 使用更加简单。
- IS62WV12816 示例器件:16bit 位宽,容量 256KB;
- 引脚分为三类:地址线 A0‑A18、数据线 D0‑D15、控制信号(CS# 片选、OE# 读使能、WE# 写使能、UB#/LB# 高低字节掩码)。
- 8bit SRAM 器件,D8‑D15 高位数据线可以悬空不连接。
5. SMC‑SRAM 方案面向落地业务应用场景
APM32F4xx 内部 SRAM 资源有限,通过 SMC 外接 SRAM 用于扩展片上内存,适用场景:
注意:SMC 属于并行外部存储器接口,PCB 布线需要注意信号完整性;时序参数必须严格匹配外部 SRAM 器件 datasheet。
42