软件如何区分24c16和24c32

[复制链接]
4613|12
 楼主| zjh006 发表于 2007-5-9 10:13 | 显示全部楼层 |阅读模式
怎样可以区分外挂的eeprom是24c16还是24c32,没有多余的i/o做选择用。
computer00 发表于 2007-5-9 13:50 | 显示全部楼层

24C32的空间比24C16的大,可以利用这个.

  
chunyang 发表于 2007-5-9 13:52 | 显示全部楼层

应该可以读器件ID的

你看看器件手册上是否有相关说明,也可以试试某些编程器,借鉴其读出时序。
 楼主| zjh006 发表于 2007-5-9 15:43 | 显示全部楼层

器件手册里没有找到与器件ID相关的内容

编程器的时序怎样才能读出呢?
chunyang 发表于 2007-5-9 16:58 | 显示全部楼层

用存储示波器或逻辑分析仪抓编程器的时序即可

  
lbx_00 发表于 2007-5-9 18:55 | 显示全部楼层

设置地址

24Cxxx系列的eeprom有三个管脚是设置片子地址用的,你可以把它们接的不一样,就行了。
Roman.Dai 发表于 2007-5-9 22:09 | 显示全部楼层

读数据,判断ACK

也许你可以试一下:<br />读8次,slave&nbsp;address&nbsp;分别是A0,A1,……&nbsp;A7,如果每次都有ACK,则器件为24C16,否则是24C32。<br />
jingle 发表于 2007-5-9 22:37 | 显示全部楼层

还不简单,16为2K字节,32为4K字节,在2K+1字节处有反应的就是32咯

  
Roman.Dai 发表于 2007-5-9 22:46 | 显示全部楼层

8楼,好像不对。

如果24c32地址为A0,写800数据01。<br />则写数据命令为:&nbsp;A0,08,00,01<br />此时24C16和24C32都有应答的。<br /><br />不知我理解对不对?<br />
jingle 发表于 2007-5-10 04:55 | 显示全部楼层

9楼说的有道理

可能是的,我刚才粗略的看了一下Datasheet.你在7楼说的方法应该是正确的.
 楼主| zjh006 发表于 2007-5-10 08:23 | 显示全部楼层

7楼,这样判断的原理是什么呢?

我在资料里面没有找到相关的介绍呢?
 楼主| zjh006 发表于 2007-5-10 11:57 | 显示全部楼层

7楼的意思是不是这样的?

读8次,slave&nbsp;address&nbsp;分别是A0,A2,A6,A8,AA,AC,AE,如果每次都有ACK,则器件为24C16,否则是24C32。<br />但是,如果总线上有8个24c32,这样不是会有问题了吗?
Roman.Dai 发表于 2007-5-12 10:11 | 显示全部楼层

12楼是的

你的做法是对的。<br />如果能看到有几个EEPROM,那肯定是24C32,因为同一根总线上只能接一个24C16。<br />如果是黑匣子,那先用12楼的方法确认:<br />1。读8次,slave&nbsp;address&nbsp;分别是A0,A2,A6,A8,AA,AC,AE。<br />如果只有一个ACK,则肯定是24C32。<br />如果每次都有ACK,则器件为24C16或8个24C32。<br />2。当器件为24C16或8个24C32时,用9楼方法确认:<br />发1条命令:A0,08,00,01;<br />再发读当前地址1字节指令:如果读出是00,则器件为24C16;如果是01,则器件为8个24C32。<br /><br />不知对否?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

610

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部