写在前面的话
半导体存储器可以分为ROM和RAM,但是随着技术的发展,兼具ROM和RAM的存储器不断出现
———非易失可读存储器(FRAM,Flash,E2PROM,NVRAM…),ROM和RAM的界限越来越模糊。
闪速存储器(Flash Memory):与E2PROM一样,用电进行存储单元的擦除和写入。分为
NANDFlash 和NOR Flash。
NAND Flash :按block 读取,读取速度慢与NOR Flash,快于ROM.NOR Flash:按照字节读取,读取速度快。
Flash存储器原理
Flash以三端器件作为存储单元(类似于MOS 管),有栅极、源极、漏极,Flash为双栅结构:控制栅极、浮置栅极(图片截取自网络)
通常情况,栅极无电压,漏极不导通,电压为高,代表逻辑1,导通代表逻辑0。门的通断由浮置栅极直接控制,向浮置栅极注入电荷的方法有:热电子注入和F-N隧道效应,其原理都是控制栅极产生电场,衬底中的电子闯过绝缘体到达浮置栅极,使其控制门的开断,浮置栅极上的电子团由于周围绝缘物质的存在能够长期保存。
Flash的写入就是向浮置栅极注入电荷的过程,因此,Flash 的写入只能是由1变0,所以数据写入前应该保证存储单元全部为1,若要将存储取的数据由0变1,就需要进行擦除,Flash的写入时按照字节写入的,而擦除只能整段整段的擦除
FRAM存储原理
铁电晶体特指压电晶体中具有自发式极化且极化方向能够随外电场改变而转向的一类晶体。
铁电效应:铁电晶体的中心原子有两个稳定的状态,正常情况,中心原子会保持在某一稳定状态,当受到外部电场作用时,中心原子到达另一稳定状态,中心原子在没有获得外部力量的不能实现两稳定状态间的转换。
FRAM就是利用铁电响应实现数据存储的。
图中电容涂有铁电材料,构成了1T1C结构。
读取操作:直接得到电容中铁电晶体中心原子的状态是不现实的,在进行读操作时,要对电容加一电场,对电容充电,如果所加电场使中心原子要达到的状态与铁电晶体中心原子状态一致,中心原子不会移动,若不一致,中心原子将会状态将会移动到电场期待的方向,充电波形会产生一个尖峰,通过检测该尖峰,判断存储的是0还是1。数据读取结束,硬件电路会将铁电晶体自动恢复为原来状态,一个完整的读操作大概用时130ns。
写操作相比于读操作要简单一点,只需根据数据给出所需的电场,来改变铁电晶体的状态就可以了,无需恢复。
MSP430存储系统
MSP430采用统一编址,程序和数据共用一个存储空间,冯·诺依曼结构。
RAM区(数据存储区):始于0200h,大小视型号而定,用于堆栈、变量和数据的保存实现缓存和数据暂存的功能。又称数据存储器。例如:运算的中间结果、采集的数据、输入的变量。
随着技术发展,RAM区对应的存储器不光是RAM,还可以是FRAM和Flash ,例如InfoFlash。
Flash/ROM区(程序存储区):用来存放系统程序或应用程序及其常数、表格等数据。可细分为:用户程序代码区、中断向量表区、系统程序引导区。
Flash存储器:一般分为若干个段(Segment,256B或512B),每个段又分为若干个块(Block,64B),为了提高修改字节的效率,msp430中有四个较小的段(64B),成为InfoFlash。Flash支持字节写入和块写入,擦除以段为最小单位。(图片截取自网络)
Flash控制器及应用
Flash控制器包括:时钟发生器、编程电压发生器、控制寄存器、数据与地址锁存器、存储阵列。由Flash的存储原理知,读取Flash内的数据不需要特殊处理,但是在写入和擦除时需要变成电压发生器和时钟发生器,控制寄存器控制整个Flash的工作状态,数据和地址锁存器用于锁存访问的Flash时使用的地址和数据。存储阵列是存储主体。
时钟发生器:浮置栅极的充电原理决定时钟必须在257~476kHz之间。通过控制时钟源和分频器满足时钟频率(FCTL2)。
控制寄存器:为避免对控制寄存器误写入造成的错误,所有寄存器的访问都采用密码核对的方式。FCTL1:设置Flash的工作模式和中断使能。
FCTL2:控制时钟源。FCTL3:反映Flash工作状态的信息。FCTL4:边界扫描检测整个Flash 存储器的内容。用到很少。
Flash操作逻辑:
擦除操作:
1配置时钟源和分频系数(FCTL2);
2配置为擦除模式(FCTL1);
3设置是否允许响应中断(默认为不允许);
4将要擦除的Flash存储器解锁(FCTL3);
5备份(可选);
6进行擦除操作(FCTL1,可以与第2 步结合,第2️⃣步再次设置);
7关闭擦除模式(FCTL1);
8锁定Flash(FCTL3)。
写入操作(字节写入和块写入)
1配置时钟源和分频系数(FCTL2)
2配置写入擦除模式(FCTL1)
3设置是否允许相应中断(FCTL1)
4Flash存储器解锁(FCTL3)
5如果需要,先擦除
6写入操作
7关闭写入模式(FCTL1)
8锁定Flash(FCTL3)
上一篇:MSP430之如何降低系统功耗1
下一篇:MSP430应用技巧6:代码速度的优化
设计资源 培训 开发板 精华推荐
- 用于 7VIN 至 16VIN、1.5V 和 1.2V 输出的 LTM4628IY DC/DC 模块稳压器的典型应用电路
- 使用 Analog Devices 的 ADR02BUJZ 的参考设计
- TWR-K53N512: Kinetis K53塔式系统模块
- 用于 ATE 应用的 LTC1661CMS8 微功率双路 10 位 DAC 的典型应用电路
- ESP01S-0.96OLED显示屏
- LT6656BIS6-2.5、2.5V 扩展电源范围电压基准的典型应用
- AUIPS7125R 电流检测高端开关的典型应用
- 新极客掌机
- NCP1083QBCGEVB,高功率 PoE-PD 模块评估板
- MAXREFDES143#:DeepCover嵌入式安全在IOT安全认证检测和通知领域的应用