1. EEPROM基础认知

各位同学好,我是老张。今天咱们开始聊EEPROM,这是从站设备配置里绕不开的一个基础模块。说实话,我刚入行那会儿,也分不清EEPROM和Flash到底有啥区别,直到有一次在产线上被折腾得够呛……嗯,这些坑咱们今天一并讲清楚。

1.1 什么是EEPROM

EEPROM,全称是Electrically Erasable Programmable Read-Only Memory,中文叫“电可擦除可编程只读存储器”。名字挺长,但说白了就是:一种掉电不丢数据、又能通过电信号擦写的小容量存储芯片

我习惯把它理解成“一个可以反复擦写的小本本”。你写上去的东西,断电了还在;想改内容,给个电压信号就能擦掉重写。跟RAM不一样,RAM一断电就全没了。

核心特点:

  • 掉电后数据不丢失(非易失性)
  • 按字节擦写(这是关键区别)
  • 擦写次数有限,通常10万~100万次
  • 数据保存时间10~100年

1.2 EEPROM与Flash的区别

这个问题我面试新人时经常问。很多人觉得“都是非易失存储,差不多嘛”。其实差远了。

我做个表格,大家一目了然:

对比项 EEPROM Flash(NOR/NAND)
擦写粒度 按字节擦写 按扇区/块擦写
擦写速度 较慢(ms级) 较快(us级)
容量范围 通常1Kb~512Kb 通常1Mb~64Gb+
擦写寿命 10万~100万次 1万~10万次
成本(每bit) 较高 较低
典型应用 配置参数、校准数据 程序代码、大容量文件

你看,最核心的区别就是擦写粒度。EEPROM可以单独改一个字节,Flash必须整块擦除再写。我在一个项目中遇到过,用Flash存设备参数,每次改一个参数就得把整个扇区读出来、擦掉、再写回去。万一中途断电……嗯,数据就全丢了。从那以后,凡是存配置参数的地方,我坚决用EEPROM。

我的经验:

如果存储的是“频繁修改的小数据”(比如设备地址、波特率、校准系数),选EEPROM。如果存的是“固件程序或日志文件”,选Flash。别混用,否则坑的是自己。

1.3 从站设备为什么需要EEPROM

你想想看,一个从站设备(比如Modbus RTU从站、EtherCAT从站),上电后总得知道自己是谁吧?

  • 设备地址:总线上挂了好几个设备,每个得有个唯一ID
  • 通信参数:波特率、校验方式、数据位这些
  • 校准数据:传感器采集的偏移量、增益系数
  • 运行状态:掉电前的工作模式、累计运行时间
  • 用户配置:用户自定义的参数表

这些数据如果存在MCU内部Flash里,每次改一个参数都得擦写整个扇区,太折腾了。而且很多MCU的Flash擦写寿命只有1万次,频繁改参数很快就废了。

EEPROM就不一样。我曾经做过一个温控器项目,用户需要频繁调整PID参数。用EEPROM存参数,每次改完直接写进去,用了三年没出过问题。要是用Flash……估计早就挂了。

注意:

EEPROM也不是万能的。它的擦写速度慢,不适合频繁写入的场景(比如每秒写一次)。如果写入频率太高,建议加个“写缓存”策略,或者用FRAM(铁电存储器)替代。

1.4 常见EEPROM型号与选型

市面上EEPROM型号很多,我挑几个常用的说说:

型号 容量 接口 典型应用
AT24C02 2Kb (256字节) I²C 存设备地址、小参数
AT24C256 256Kb (32KB) I²C 存配置表、校准数据
25AA1024 1Mb (128KB) SPI 存较大参数集
M95080 8Kb (1KB) SPI 工业从站设备
FM24CL64 64Kb (8KB) I²C (FRAM) 高频写入场景

选型时我一般看这几点:

  1. 容量:先算清楚要存多少数据。别贪大,也别抠门。我习惯留30%余量。
  2. 接口:I²C引脚少(2根线),但速度慢;SPI速度快,但多两根线。小项目用I²C,大项目用SPI。
  3. 擦写寿命:如果参数频繁改,选寿命长的(比如100万次)。如果只是出厂写一次,10万次也够。
  4. 工作温度:工业级要选-40℃~85℃的,别用商业级凑合。
  5. 封装:SOP-8最常见,DFN更小但焊接麻烦。

我的选型习惯:

一般从站设备,我首选AT24C256(I²C接口,32KB容量)。容量够用,驱动代码网上大把,调试也方便。如果项目对速度有要求,换25AA1024(SPI接口)。至于FRAM,除非写入频率特别高,否则性价比不高。

知识体系图

下面这张图帮你理清本章的知识脉络:

EEPROM基础认知知识体系 EEPROM基础认知 什么是EEPROM 电可擦除可编程 只读存储器 掉电不丢数据 与Flash区别 按字节擦写 vs 按扇区 寿命更长 容量更小 为什么需要 存设备地址/参数 存校准数据 存运行状态 常见型号与选型 AT24C系列 (I²C) 25AA系列 (SPI) 选型五要素 核心:按字节擦写,适合存配置参数 应用场景 Modbus从站 EtherCAT从站 传感器节点

好了,这一章就到这里。EEPROM这东西,看着简单,但用好了能省很多事。下一章咱们聊EEPROM的硬件接口设计,包括I²C和SPI的电路细节,到时候我会分享一些实际项目中的踩坑经验。


公众号:蓝海资料掘金营,微信deep3321