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

2011-12-30 16:18 6998 8 8 分类: 通信

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基本一致,可以实际焊上测试一下。


 

更多文章请访问:

我的博客1:http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM

我的博客2:   http://www.eefocus.com/liangziusb/blog/

EDN小组http://group.ednchina.com/GROUP_GRO_14600_3466.HTM

LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com

LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com

实体店铺:北京新中发电子市场2557号

 

良子.2011年

沈阳市东陵区白塔街龙盛家园

欢迎交流:liangziusb@163.com

QQ:2687652834

PARTNER CONTENT

文章评论0条评论)

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