存储器分类
RAM
断电后数据消失
功耗不好比较。
DRAM 和 CPU 异步通信,SDRAM 与 CPU 同步通信,使用 CPU 系统总线时钟同步。
DDRAM 是 DDR SDRAM。
DRAM 已经被淘汰了。
ROM
断电后数据仍保存。
页:Page
扇区:Sector
块:Block
一般块比扇区大。
为什么 NorFlash 和 NandFlash 写入数据时要擦除?
如果写入的地址或页原来是空白的,那直接写入就行了。
如果写入的地址或页已经有数据了,那必须先擦除,因为写入只能将1变为0。让0变为1的唯一操作是擦除。擦除会让所有位变为1
EEPROM 支持直接覆盖写入,不需要先擦除。
EEPROM 跨页注意:
超过一页会从这一页的开头覆盖,比如一页是8个字节,写入10个字节,第9、10个数据覆盖了第1、2个数据。
这种覆盖是静默发生的,芯片不会报错,所以单片机不会感知到,所以需要注意。
这是eeprom的硬件限制,因为其内部的地址计数器只有3位,正好0~7,所以过了7会回到0.
EMMC 可以简单理解为芯片形式的SD卡,eMMC将 NAND闪存、闪存控制器和标准接口协议集成在一颗BGA封装芯片中,直接焊接在主板上。常用于嵌入式系统存储系统镜像。
DRAM
芯片区别:
SDRAM
常用芯片
W9825G6KH-6:32MB
MT48LC16M16A2P-6A IT:G:32MB
IS42S16400J-7TLI:8MB
SDRAM 信号线
以 W9825G6KH-6 为例:

W9825G6KH-6 芯片参数:
DQM = 0,读写操作正常;DQM = 1,读写操作被屏蔽。
DQM[0] 控制低字节 0 ~ 7
DQM[1] 控制高字节 8 ~ 15
相比于,DQM能更细粒度的控制数据的写入和读取操作。
实际应用中,有时候只需要操作8位数据,通过DQM就能实现8位/16位数据切换了。
SDRAM 存储结构
这个芯片一共有4个Bank(存储阵列),这4个Bank共用行列地址译码器。
通常芯片只有4个Bank

通过行列地址确定的是一个word(16bit)。W9825G6KH-6的一个Bank有16M个word,16M * 16 bits * 4 = 32MB

SDRAM 控制命令

(表中的H表示高电平,L表示低电平,X表示任意电平,High-Z表示高阻态。)
SDRAM 初始化流程

SDRAM 读时序
SDRAM 写时序
DDR
SDRAM 时钟仅上升沿,DDR 时钟为双边沿。
带宽=数据位宽×有效传输速率
高带宽,并不一定是高频率,还要考虑位宽。
高带宽不等于低延迟
DDR3
DDR3L
DDR3U
TPS51116 全套 DDR、DDR2、DDR3、DDR3L、LPDDR3 和 DDR4 电源解决方案同步降压控制器、3A LDO、缓冲基准 datasheet (Rev. J)
引脚定义
DDR3:
SD Card
读写以扇区为单位,一个扇区 512 字节。
EMMC
引脚介绍
封装通常为 BGA153
CLK:时钟
CMD:命令/响应,用于控制。
RSTN:复位,低电平有效。
Data Strobe:8线制高速下使用
电源:
VCC:Flash 存储单元供电
VCCQ:存储控制器/IO接口供电
VDDI:
VSS:
VSSQ:
EMMC 总线模式:
存储结构
电路设计
PCB 布局布线要求
(94 封私信 / 80 条消息) EMMC模块电路的PCB设计建议 - 知乎