23.1 SDRAM 控制原理
RT1052 系列芯片扩展内存时可以选择 SRAM 和 SDRAM
- 由于 SDRAM 的“容量/价格”比较高,即使用 SDRAM 要比 SRAM 要划算得多。
给 RT1052 芯片扩展内存与给 PC 扩展内存的原理是一样的
- PC 上一般以内存条的形式扩展,内存条实质是由多个内存颗粒 (即 SDRAM 芯片) 组成的通用标准模块
- RT1052 直接与SDRAM 芯片连接
除了时钟、地址和数据线,控制 SDRAM 还需要很多信号配合,它们具体作用在描述时序图时进行讲解。
23.2 SEMC 简介
RT10529使用SEMC外设来管理扩展的存储器,SEMC 是SmartExternalMemoryController的缩写,译为智能的外部存储控制器
- 可以用于驱动包括 SRAM、SDRAM、NorFlash、NAND Flash 等类型的存储器
SEMC 支持使用 8、16 位的方式访问 SDRAM
- 最多支持控制 4 个 SDRAM 存储器
- 每个 SDRAM存储器最大容量为 512Mb(64MByte)
- 支持使用 ARM 内核的 AXI 接口控制 SDRAM。
23.2.1 控制原理
23.2.1.1 控制逻辑
标号②处的SDRAM内部的“控制逻辑”,它指挥着整个系统的运行
- 外部可通过CS、WE、CAS、RAS 以及地址线来向控制逻辑输入命令
- 命令经过“命令器译码器”(Command Decoder)译码,并将控制参数保存到“模式寄存器中”(Mode Register),控制逻辑依此运行
23.2.1.2 地址控制
标号 ③ 处的结构与 SDRAM 的“A”以及“BS”两类地址线相连
- A 类地址线是行 (Row)与列 (Column) 共用的地址总线
- BS 地址线是独立的用于指定 SDRAM 内部存储阵列号 (Bank)。
在命令模式下,A 类地址线还用于某些命令输入参数。
23.2.1.3 SDRAM 的存储阵列
标号 ④ 处的结构是 SDRAM 的存储单元阵列。
- 本 SDRAM 包含 4 个阵列,外部设备使用“A”和“BS”(也称为 BA 线)地址线对这些阵列进行访问
SDRAM 内部包含的存储阵列,可以理解成一张表格,数据就填在这张表格上。
- 指定一个行地址和列地址,就可以精确地找到目标单元格,这是 SDRAM 芯片寻址的基本原理。
- 每个单元格被称为存储单元
- 这样的表就是存储阵列(Bank)
SDRAM芯片基本上内部都包含有 4 个这样的 Bank
- 寻址时指定 Bank 号以及行地址,然后再指定列地址即可寻找到目标存储单元。
SDRAM 芯片向外部提供有独立的 BS(BA 线)类地址线用于 Bank 寻址