原创 CY7C68013A开发板上的EEPROM(24LC64)

2010-12-26 13:59 1840 3 3 分类: 通信
FX2LP外接EEPROM有两个目的,一个是用作引导加载器,另外是用作一般用途,存放用户数据。

 


1)引导加载器
这是必须要接的存储器。
根据加载方式的不同,选择不同容量的存储器。如果用C2加载方式,EEPROM只要存储8个字节足够,可选单字节地址的EEPROM,如24LC00/01/02,最大容量为256Bytes;如果用C0加载方式,EEPROM的容量至少要达到16KBytes,可以选择双字节地址的EEPROM,如24LC64/128/256。


 


2)一般用途的外接EEPROM
用来存储一些用户数据。这个容量适当就好。但是,能查到的大容量两线EEPROM比较大的器件是1MBytes,再大的存储器一般是SPI接口。


如果系统上要搭接这种存储器,必须考虑能否被系统正确识别,即,挂在系统上的多片EEPROM能够被I2C总线正确寻址。理论上,一个系统的I2C可以挂接8个EEPROM,即从地址1010XXX,这里XXX是EEPROM的设备地址连接,对应A2A1A0硬连接线。因为引导加载器的EEPROM的XXX用掉了000和001,剩下的6个地址可以被一般用途EEPROM使用了吧?


其实,问题没这么简单。查询器件手册发现,MICROCHIP的24LC00/01/02根本没有A2,A1,A0三条硬地址线。即,1010XXX的后三位根本不理睬,只要系统接上了上述三者之一,那么,这片EEPROM就会响应所有的EEPROM访问。即,对24LC00/01/02的寻址不具备唯一性,这种器件不能试图用于多片EEPROM环境中!


 


解决的方法有两种:
a)寻找替代的EEPROM,寻找具有A2,A1,A0三条设备地址线的EEPROM,做C2引导,连接为000;另外搭接的EEPROM选择001之外的其它地址;


b)放弃使用24LC00/01/02,直接使用24LC64/128/256做C2引导,连接为001;另外搭接的EEPROM选择000之外的其它地址。这种很浪费,增加了成本。


ATMEL的2线EEPROM型号为AT24C01A/02,它具备硬连线A2A1A0(5脚封装的没有),可以在单总线系统上最多搭接8片。
AT24C01A/02的存储器是分块的,24LC00/01/02是连续的,用做C2引导时,需要检查它的操作是否与FX2LP缺省的读写方式一致。这要比较存储器是否分块,字节读写、页读写操作的方法。
经比较,AT24C02与24LC02基本一致,可以实际焊上测试一下。


转贴      良子.2010年


欢迎交流:liangziusb@163.com

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条