I2C读写EEPPROM(AT24CXX系列)特点

1、概述EEPROM特点

各型号EEPROM内存大小:

型号 内存大小 字地址长度 WP脚
AT24C02 2K(256字节) 一个字节0xff(256) 高电平写保护,低电平取消写保护
AT24C04 4K(512字节) 两个字节 高电平写保护,低电平取消写保护
AT24C32 32K(4096字节) 两个字节 高电平写保护,低电平取消写保护
AT24C64 64k(8192字节) 两个字节 高电平写保护,低电平取消写保护

 

(1)存储结构

 

 

 

 

 

 

 

(2)EEPROM的写入方式有两种:

  • 单字节写入
  • 页写,每种型号EEPROM 页的字节数不同(24C02器件按8字节/页执行页写,24C04/08/16器件按16字节/页执行页写,24C32/64器件按32字节/页执行页写)。

(3)地址特点

  • 地址输入----A2、A1和A0是器件地址输入引脚。
  • 24C02/32/64使用A2、A1和A0输入引脚作为硬件地址,总线上可同时级联8个24C02/32/64器件(详见器件寻址)。
  • 24C04使用A2和A1输入引脚作为硬件地址,总线上可同时级联4个24C04器件,A0为空脚,可接地。
  • 24C08使用A2输入引脚作为硬件地址,总线上可同时级联2个24C08器件,A0和A1为空脚,可接地。
  • 24C16未使用器件地址引脚,总线上最多只可连接一个16K器件,A2、A1和A0为空脚,可接地。

2、AT24C02使用i2ctransfer读写测试:

i2ctransfer可以对i2c挂载的设备进行读写,具体用法:

(1)查看i2c总线有几路

(2)查看总线上挂载设备的地址

(3)读操作:

如下i2ctransfer指令代表写入一个字节的子地址0x00,然后读取0x00为起始地址的256个字的数据,如果EEPROM内存超过8X256(2K)小于8x65535个字节,则子地址为两个字节

共有256个字节,现在全为空。

 (4)写操作

  •  写8个字节的数据;

  •  写入9个字节数据:

  • 写16个字节数据:

 通过上面的读写实验可知:

  AT24C02单次写入单字节都是没有问题的,但是写入9个字节,第9个字节数据会覆盖掉第一个字节的数据。写入16个字节数据,同样只在前8个字节写入。

AT24C02的页大小为8个字节,说明I2C写数据到AT24C02的时候,最多一次写入一页。单次写入的数据超过一页或者跨页写,则会从起始地址重新开始写入,会覆盖掉已经写入的前8个字节数据。

由此说明:EEPROM只有单字节写入页写两种方式才能正确的写入数据

 

 I2C读写时序分析可参考:I2C读写EEPROM

 

 

 

 

posted @ 2021-11-22 13:18  轻轻的吻  阅读(2087)  评论(0编辑  收藏  举报