eeprom存储器读写原理详解


EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,支持电擦除和重写,广泛应用于参数存储、配置保存等场景。以下从物理结构、读写机制、接口实现等角度深入解析其原理。
一、EEPROM的物理结构与存储单元
1. 核心存储单元:浮栅晶体管
结构:
EEPROM的每个存储单元由一个浮栅晶体管组成,其结构与普通MOSFET类似,但多了一个浮栅(Floating Gate)层。浮栅:被绝缘层(如氧化硅)完全包裹,电荷可长期存储。
控制栅:通过外部电压控制浮栅的电荷注入或移除。
工作原理:
写入(编程):通过隧道效应(Fowler-Nordheim tunneling)将电子注入浮栅,使晶体管阈值电压升高(逻辑“0”)。
擦除:反向施加电压,将浮栅中的电子移出,使阈值电压降低(逻辑“1”)。
读取:通过检测晶体管的导通状态(电流大小)判断存储值。
2. 存储阵列与寻址
存储阵列:
EEPROM由大量浮栅晶体管组成矩阵,通过行(字线)和列(位线)寻址。地址解码:
外部地址信号通过解码器转换为具体的行/列选择信号,定位到目标存储单元。
二、EEPROM的写入机制
1. 写入过程
步骤:
写入“0”:在控制栅施加高电压(如12V~20V),通过隧道效应将电子注入浮栅。
写入“1”:通常需先擦除(移除浮栅电子),再保持默认状态(逻辑“1”)。
行/列寻址:定位目标存储单元。
施加高压:
验证写入:读取目标单元,确认写入是否成功。
关键特性:
单字节写入:每次操作仅修改一个字节,需5ms左右(受限于隧道效应速度)。
页写入:部分EEPROM支持页写入模式,可在单次写入周期内修改多个字节(如8字节或16字节),但总时间仍为5ms左右(效率显著提升)。
2. 写入限制
写入周期寿命:
浮栅晶体管的氧化层在反复擦写后会逐渐退化,典型寿命为10万次~100万次写入。写入保护:
EEPROM通常提供硬件写保护引脚(WP),拉高时可禁止写入操作,防止误修改。
三、EEPROM的读取机制
1. 读取过程
步骤:
在控制栅施加较低电压(如1V~3V),检测晶体管是否导通。
导通电流大:逻辑“0”(浮栅有电子,阈值电压高)。
导通电流小:逻辑“1”(浮栅无电子,阈值电压低)。
行/列寻址:定位目标存储单元。
施加读取电压:
输出数据:将检测结果转换为数字信号(0或1)。
关键特性:
读取速度快:通常为μs级(远快于写入)。
无磨损:读取操作不会改变浮栅电荷状态,无寿命限制。
2. 读取干扰与防护
读取干扰:
长时间读取可能导致浮栅电荷微小变化(极少数情况下)。防护措施:
限制单字节读取频率(如每秒不超过10万次)。
使用硬件或软件滤波算法。
四、EEPROM的接口实现
EEPROM通过I²C、SPI或并行接口与单片机通信,以下以I²C和SPI为例说明读写流程。
1. I²C接口EEPROM(如AT24C系列)
写入流程:
发送起始条件:单片机拉低SDA,同时SCL保持高电平。
发送设备地址:7位地址 + 写标志位(0)。
发送字地址:指定目标存储单元的地址(如0x0000)。
发送数据:逐字节写入数据(单字节或页写入)。
停止条件:单片机释放SDA,结束通信。
读取流程:
写入目标地址:先发送起始条件 + 设备地址(写) + 字地址。
重新发起起始条件:发送起始条件 + 设备地址(读)。
读取数据:单片机从EEPROM读取数据(可发送NACK终止读取)。
2. SPI接口EEPROM(如25LC系列)
写入流程:
拉低片选(CS):选中目标EEPROM。
发送写指令:如
0x02
(页写入指令)。发送字地址:指定目标存储单元的地址。
发送数据:逐字节写入数据(单字节或页写入)。
拉高片选(CS):结束通信。
读取流程:
拉低片选(CS):选中目标EEPROM。
发送读指令:如
0x03
(读取指令)。发送字地址:指定目标存储单元的地址。
读取数据:单片机从EEPROM读取数据。
拉高片选(CS):结束通信。
五、EEPROM与Flash的对比
特性 | EEPROM | Flash |
---|---|---|
写入单位 | 单字节或页(8~16字节) | 块(通常为4KB~64KB) |
写入速度 | 慢(5ms/字节) | 慢(需擦除整块,ms级~秒级) |
寿命 | 10万次~100万次 | 1万次~10万次 |
应用场景 | 参数存储、频繁更新 | 代码存储、大容量数据保存 |
六、EEPROM的关键应用场景
配置参数存储:
如设备工作模式、阈值设置等,需在掉电后保持。
校准值保存:
如传感器零点偏移、增益系数等,需定期更新。
日志记录:
如故障代码、运行时间等,需频繁写入但数据量小。
七、总结与核心结论
物理基础:
EEPROM通过浮栅晶体管存储电荷,利用隧道效应实现电擦除和重写。
读写机制:
写入慢(5ms/字节),读取快(μs级),支持单字节或页写入。
接口实现:
I²C/SPI接口通过指令序列完成读写,需注意时序和协议细节。
应用选择:
适合小容量、频繁更新的场景,大容量存储建议使用Flash或FRAM。
通过理解EEPROM的物理结构和读写机制,可更高效地设计硬件电路和软件逻辑,避免常见问题(如写入超时、地址越界等)。
责任编辑:Pan
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。