EEPROM电路设计
1、存储器的分类
—般根据掉电丢失来划分的存储器。可分为易失性存储器和非易失性储存器。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据。
2、EEPROM介绍
EEPROM特点就是掉电后存储的数据不丢失。一般情况下,EEPROM拥有30万到100万次的寿命,也就是它可以反复写入30-100万次,而读取次数是无限的。
EEPROM用的最多的型号比如24C02.24C02是一个常用的基于IIC通信协议的EEPROM元件,例如ATMEL公司的AT24C02、ST公司的ST24c02等芯片。
IIC是一个通信协议,它拥有严密的通信时序逻辑要求,而EEPROM是一个元件,只是这个元件采样了IIC协议的接口与MCU相连而已,二者并没有必然的联系,EEPROM可以用其它接口,I2C也可以用在其它很多器件上。
3、EEPROM特性
1、支持标准和快速I2C协议、兼容SPI总线
2、1~256k的高密度存储
3、1.8v~6V的款电压操作范围4、对全部存储器进行硬件写保护5、采用低功耗CMOS工艺
6、可编程/擦除100万次
7、数据保存期100年(存储时间是理论值并非实际值8、工业温度范围:-40℃至85℃。
4、常用接口
4.1、 IIC接口
IIC接口的EEPROM很常见,因为IIC接口十分通用也很简单,只需要两个I0口以及上拉电阻就行了。(历史原因是IIC总线发展比较早,很早就普遍使用了,所以IIC的接口普及率高)
IIC速率:100KHz、400KHz和 1MHz,最高可以达到3.2MHz。
4.2、SPI接口
SPI 接口的EEPROM是为了应对IIC速率不高而解决的,因为IIC速率最高到1KHz (3.2MHz)速率,为了提高读取速度故发展出来了SPI 接口的 EEPROM 。
EEPROM最高可以达到20MHz。
5、EEPROM和FLASH的最主要的区别:
EEPROM和Flash的区别
1、EEPROM可以按“位”擦写,而FLASH 只能按“块”一大片-大片的擦写。
2、EEPROM一般容量都不大,如果大的话,EEPROM相对与FLASH就没有价格上的优势了。EERPOM一般都是在64KBIT以下,而FLASH一般都是8MEG BIT以上(NOR 型)。
3、EERPOM—般用于低端产品,读写速度不需要那么快。
4、EERPOM功耗低,F1ash相对来说要高一些。
总的来说,对于用户来说,EEPROM和FLASH没有大的区别,只是EEPROM是低端产品,容量低,价格便宜,但是稳定性较FLASH要好一些。但对于EEPROM和FLASH的设计来说,FLASH则要难的多,不论是从工艺上的还是从外围电路设计上来说。
6、为什么有Flash还用 EEPROM?
为了数据在掉电后不丢失,这就需要使用EEPROM或FLASH ROM等存储器来实现。既然两者差不多,为什么设计中还要既有F1ash又有EEPROM呢?
通常,F1ash都用于存放运行代码,在运行过程中不能改﹔EEPROM是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为12:00,后来在运行中改为6:00,这是保存在EEPROM里,不怕掉电,就算重新上电也不需要重新调整到6:00。
但最大区别是其实是:FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH 做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器。
FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这样。技术上,程序存储器和非易失数据存储器都可以只用FALSH结构或EEPROM结构,甚至可以用“变通”的技术手段在程序存储区模拟“数据存储区”,但就算如此,概念上二者依然不同。
Flash的特点是结构简单,同样工艺和同样晶元面积下可以得到更高容量且大数据量下的操作速度更快,但缺点是操作过程麻烦,特别是在小数据量反复重写时,所以在MCU中 Flash结构适于不需频繁改写的程序存储器。 很多应用中,需要频繁的改写某些小量数据且需掉电非易失,传统结构的EEPROM在此非常适合,所以很多MCU内部设计。
7、管脚定义
AT24C02器件地址为7位,高4位固定为1010,低3位由AO/A1/A2信号线的电平决定。因为传输地址或数据是以字节为单位传送的,当传送地址时,器件地址占7位,还有最后一位(最低位R/W)用来选择读写方向,它与地址无关。其格式如下:
一般将芯片的A0/A1/2连接到GND,所以器件地址为1010000,即ox50(未计算最低位)。如果要对芯片进行写操作时,R/W即为0,写器件地址即为0XA0;如果要对芯片进行读操作时,R/即为1,此时读器件地址为0XA1。开发板上我们也将WP引脚直接接在GND上,此时芯片允许数据正常读写。
8、EEPROM电路设计重点
1)电源引肱增加电阻是为了储能和滤波;
2) IIC的数据和时钟线是OD门结构,所以需要上拉;
3)写保护引脚WP ( write protect)。(写保护─般接低电平(接地),处于正常读写状态:当接入高电平时,芯片数据均处于禁止写入状态)
4注意电平匹配。
5)一般电路设计如下图所示。
6)如果板子上有多个IIC的接口设备,注意EEPROM的地址变一下,防止冲突。
7)IIC总线是串行主从结构,读和写都由主机操作,从机只能接受。
7.1、在通常的EEPROM应用中,单片机是主机,24C02是从机。
7.2、无论是读操作还是写操作,SCL 时钟线始终都是由主机控制的。
7.3、写数据的时候应答信号由从机给出,表示从机是否正确接收了数据。
7.4、读数据的时候应答信号则由主机给出,表示是否继续读下去。
9、参考设计