EEPROM和铁电读写操作过程

来源:互联网 发布:3b线切割编程实例 编辑:程序博客网 时间:2024/04/28 21:20

EEPROM的读写操作详解

一、EEPROM的读写操作

EEPROM从软件处理上可以分为两大类:0102040816K3264128256512K;(单位为位)转化为字节为:1282565121024204848163264K

这样分类的理由:由于8位地址只能寻址256个字节的范围,再根据EEP的物理地址为:1010A2)(A1)(A0)(R/W),前面的1010已经定死,所以

1、总线上挂0102,可以挂8块(A2)(A1)(A0)都为器件地址;

2、总线上挂04的时候,因为04需要9位地址才能满足,而实际上只有8位。所以被迫从物理地址上抽取(A0),进行补充;所以总线上只能挂4块,并且之后的字节地址为(A0+8位地址;

3、总线上挂08的时候,需要抽出(A1)(A0)用来补充地址的不足,所以总线上只能挂2块,且字节地址为(A1)(A0+8位地址;

4、总线上挂16的时候,需要抽出(A2)(A1)(A0)用来补充地址的不足,所以总线上只能挂1块,且字节地址为(A2)(A1)(A0+8位地址;

5、当总线上挂32K及以上的时候:11位已经无法满足了,所以干脆不抽取物理地址,而是直接通过扩展成16位的字节地址来实现,所以总线上可以挂8块,字节地址为:高8+8位,通过两次发送字节地址来完成。

 

 

EEP:(页内写)

1、              判断器件物理地址(通过需要写的地址,来求出物理地址)

2、              开始总线

3、              发送器件地址(延时5MS,以防EEP在进行页写)

4、              发送字节地址(需要把大于8位的位省去用(char)),如果是大于32K的,那么需要分两次发送,把16位字节发过去,先高后低;

5、              发送数据(循环多少位)

6、              停止总线

EEP:(跨页写)

当碰到写的数据大于EEP页容量时,需要进行跨页写操作。

1、              根据需要写的地址,与当页末地址,求出剩余空间,然后写入同大小数据

2、              剩下的数据,再进行一次EEP的写操作,把后面的数据补上,这时注意页地址已经增加1了。在进行页写的时候,注意延时,因为EEP都是一页一页进行操作的,就算只写一个字节,它也会把整页读出来,再写进去,时间比较长。

EEP

1、              判断器件物理地址(通过需要写的地址,来求出物理地址)

2、              开始总线

3、              发送器件地址(延时5MS,以防EEP在进行页写)

4、              发送字节地址(需要把大于8位的位省去用(char)),如果是大于32K的,那么需要分两次发送,把16位字节发过去,先高后低;

5、              重新开始总线

6、              发送器件地址并开启读操作

7、              接收数据(循环多少位)(最后一次完后,没有ACK回复,从而断定已发送完成)

8、              停止总线

EEP不存在跨页的感念。