打印

关于EEPROM芯片24LC256的页边界疑问?请教原野之狼

[复制链接]
3795|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
板砖横飞|  楼主 | 2012-2-27 14:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在用EEPROM芯片24LC256,其中提到了页写能力是64bytes,我写的时候按0x00地址开始,当地址对64取余为0时,重新发送一次地址,进行写一次页写。但是看数据手册的时候,说明页写不能超过其物理页边界,那这个芯片的物理边界是多少呢?datasheet中没有说明这个EEPROM是分块组织的(以前用24LC16时,datasheet中注明是分8块组织的)。而且我认为这个64bytes应该是这颗eeprom芯片内部缓冲器的大小,所谓的“页写”应该是连续写的意思。
      我每次写出一个字节之后,地址加1对64取余,如果为0,重新发送一次地址接着写。芯片的的物理边界地址,应该是对64取余为0的,这样可以自然跨越物理边界的。但是我对24LC256实验的时候在大概4000的位置写内容,读出来有时候会出错。但不是每次都出错(猜想24LC256是分8块组织的,一块是4kbytes)。难道确实如网上所说,每个物理页的开始和结尾都是不安全的吗?

相关帖子

沙发
ayb_ice| | 2012-2-27 14:54 | 只看该作者
从0开始顺序数,每64字节为一页

读没有页概念,写才有

使用特权

评论回复
板凳
板砖横飞|  楼主 | 2012-2-27 14:56 | 只看该作者
2# ayb_ice
跟物理分块没有关系吗?

使用特权

评论回复
地板
原野之狼| | 2012-2-27 16:00 | 只看该作者
但不是每次都出错 ...
板砖横飞 发表于 2012-2-27 14:51

对DATASHEET理解没问题,目前是偶尔出错,建议查查别的地方,比如程序可靠性。

PS:
1、不需要点名让谁来回答:lol
2、问题一个一个解决,别一下子整个版面都是你的问题哈~

使用特权

评论回复
5
板砖横飞|  楼主 | 2012-2-27 16:17 | 只看该作者
在你的狼窝里面看见一片关于24LC512的应用笔记,所以就问问你,呵呵。 4# 原野之狼

使用特权

评论回复
6
yewuyi| | 2012-2-27 16:36 | 只看该作者
这其实页写的时候不能出现跨页的问题,举例说明:
假设当前有两个页面,地址位0~63,64~127,你第一次页写向0~63地址送入数据没有问题,再向64~127地址送入数据也没有问题,但如果你向2~65地址发入64个字节的话,则就会有问题,EEPROM不支持这种模式,必须整页对齐送入数据,也就是说64个字节的首地址必须是每个页面的第一个地址,不能从页面的中间取首地址。

明白了没有?

使用特权

评论回复
7
板砖横飞|  楼主 | 2012-2-27 16:55 | 只看该作者
6# yewuyi
如果2-65时,第一次发送地址是0x02,开始连续写,我写完0x63这个之后(这是已经写了62个字节),地址64对64取余为0,那么我再次发送一次地址,这时发送的地址是0x64,然后地址0x64和0x65这两个地址再写两个字节,结束写操作应该没有问题。现在做实验一般连续写256个字节没有什么问题(前提是当eeprom中地址对64取余时,再次发送下段地址)。

使用特权

评论回复
8
yewuyi| | 2012-2-27 17:12 | 只看该作者
页写就是页写,不要乱搞,乱搞就要付出代价,至于什么时候付出代价那就要看人品和运气了。

使用特权

评论回复
9
原野之狼| | 2012-2-27 19:17 | 只看该作者
地址得页对齐  不对齐的时候采用读改写方式来操作

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

431

帖子

2

粉丝