最近已经被微处理器的存储器,接口,总线啥的搞得晕头转向。
常见的存储器有SRAM,Flash,EEPROM,DDR,那这些都什么时候用,怎么搭配?
又要回到数字电路。
存储器由存储单元、地址译码器、输出控制电路组成,能够存储二进制代码。
存储器的来源是锁存器(对电平敏感的储存电路)和触发器(对边沿敏感的储存电路)。这两种时序电路会根据电平或者边沿的变化,来保持输出电平的稳定,输出0或者1。
输出控制电路一般包括三态缓冲器,有输出时,有足够的驱动能力,无输出时,输出高阻。
分为RAM(Random access memory随机存取存储器)和ROM(Read only memory只读存储器)。
RAM:分为SRAM(静态RAM,储存单元是触发器)和DRAM(动态RAM,电容存储电荷,需要定时刷新,维持电容电荷)。RAM可读可写,但是数据掉电消失。
ROM:分为固定ROM和可编程ROM(PROM),理论上应该是只读,但是随着发展,也是可读可写,数据掉电不消失。
RAM VS ROM
ROM的基本结构如下:
存储阵列一般由二极管,mos或者BJT组成,改变存储阵列的管子,可改变ROM的性能。
下面是存储阵列为二极管的示意图,有二极管并且OE使能的话,对应的D输出为1:
这里列出几个概念:
位数:数据线的数量M
字长:地址线的数量N
字:译码器输出的数量,2^N
容量:2^N*M
下面是存储阵列为MOS管的示意图,并且为了减少缓冲器的数量,进行了行列译码:
RAM与ROM的区别是,存储单元由锁存器或者触发器组成。它可以从任一指定的地址读出或者写入,数据掉电消失。
下图是RAM的结构框图,当CE不为0时,RAM不工作。
下面对ROM型存储器进行详细介绍。
PROM:分为一次可编程ROM(PROM)和光可擦除PROM(EPROM)和电可擦除PROM(E2PROM)和闪存(Flash)。
PROM(Programmable Read-Only Memory)一次可编程ROM。其存储单元由带金属熔丝的二极管组成,当要编程时,用加高压的方式将其熔断,由于熔丝烧断后不能恢复,所以PROM只能进行一次编程,并且需要专门的PROM编程器,但是正是因为其包含的是熔丝,所以稳定性比较好,所以PROM在航天中使用的比较多。
E2PROM:存储阵列的管子由Flotox mos构成。由于EEPROM内一般含有升压电路,所以可直接在线擦除。但是结构复杂,集成度低。
Flash:存储阵列的管子由快闪叠栅 mos构成。擦除和写入分开进行,擦除是在mos的S极加正压,写入是在G极加高压。结构简单,集成度比EEPROM高。
EEPROM是电可擦除PROM,将PROM的熔丝换成了开关管,既可写,也可读,并且不需要编程器,非常方便。
E2PROM通讯接口一般有两种,SPI和I2C。一般与I2C接口共同使用。
EEPROM写之前不需要擦除,可以每次改写一个字节。当然,也有缺点,EEPROM读写速度慢,另外,容量比较小,也就是说EEPROM要贵。
对单片机来说,关键性的数据,如传感器的标定数据,用户配置参数等,用EEPROM存储,而像文件等大容量的数据记录,或者经常读但很少写的数据,可以用FLASH闪存存储,像图片、字库、文件记录。
Flash:闪存。属于EEPROM的一种,不过相比于常规的EEPROM按字节擦除,flash是按块擦除的,掉电后,数据不消失。
flash的存储阵列中,存储单元采用的是带有浮栅极的mos,可以掉电后还能存储电荷,写数据就是给浮栅充电,注入电荷表示0,没有注入电荷表示1。相比于EEPROM,其电路更简单,所以在同样体积下,容量可以做的更大,但操作相对更麻烦。
按存储类别分为nand flash和nor flash。
nor flash是或非型的,存储阵列中的开关管是并联的形式,其地址数据线是分开的。擦除是按块擦,可以按照地址随机寻址,但是读取可以随机读取。
nand flash是与非型的,存储阵列中的开关管是串联的形式,其地址数据线是共用的。擦除是按块擦,但读取只能按页读取。由于地址数据线复用 ,所以读取速度慢,但是写入和擦写速度快。nand flash内部电路更简单,因此数据密度大,体积小,成本也低。
Nor flash VS nand flash
下面简单介绍下页,扇区,块。
为了方便管理存储单元,flash存储区分为页,扇区,块。
包含关系如下图:
flash主要以扇区为最小单元,有的也以页为最小单元。
按对外的接口形式分,分为SPI Flash(串行flash)和CFI Flash(并行flash)。
以并行flash am29lv160为例进行时说明,它是一款nor flash。
读时序
写时序
刷新就是写1的过程,而写的过程在刷新后可以写0,因为flash数据只能由1变0,不能由0变1.
nand flash
读时序
写时序
RAM可以分为SRAM和DRAM。
SRAM是静态随机存储器,它一个存储单元包括6个开关管组成的锁存器,所以内部结构复杂,小体积下,容量不能做的很大。
SRAM的存储单元如下:
SRAM的读和写分开进行。
1)读时序
在地址有效的情况下,CE使能,OE使能,WE禁止,由于逻辑电路存在延时,所以延时一段时间后,输出数据有效,当CE/OE无效,延时一段时间后,数据无效。
CE=chip enable(芯片使能)
CS=Chip select(芯片选中)
CE/CS:片选信号,主要是总线挂接多个存储器时,用来告诉某个存储器,数据是传给你的,你要做出反应,其他存储器不能用。片选的另一个作用是,告诉外挂的存储器,选中你时,你就工作,不选中你时,你就省电休眠。
2)写时序
在地址有效情况下,CE/WE使能,OE禁止。
DDR是SDRAM(同步RAM)的一种,Double Data Rate Synchronous Dynamic Random Access Memory,在时钟上升沿和下降沿读写两次。
SDRAM属于DRAM,即动态ram,它的存储单元常规的由一个开关管和电容组成,因为0和1的状态是受电容充放电的影响,需要实时刷新(给电容补充电荷),所以称为动态ram。由于其基本结构比较简单,所以小体积情况下容量可以做的很大。但是由于受电容充放电影响,速度不能做的很快。
DRAM的基本结构如下:
与SRAM不同的是,它包括行/列地址选通,行列地址寄存器,及刷新相关的寄存器等。行列地址复用会降低速度,所以SRAM种没有使用。
RAS:row address strobe
CAS:column address strobe
DRAM的存储单元如下:
DDR的分类如下表,随着一代代发展,主要是功耗更低,速率更快。
1)读写时序
行列选通信号变低后,OE为低,则读数据;WE为低,则读写数据。
2)页模式读
页操作:对一行的所有列进行操作,即行地址不变改变列地址。这种方式的好处是,读取速度变快。
3)只刷新
对某一行的指定单元进行刷新。
《电子技术基础(数字部分)》