1、概述EEPROM特点

i2c读写nfc_写保护

各型号EEPROM内存大小:

型号

内存大小

字地址长度

WP脚

AT24C02

2K(256字节)

一个字节0xff(256)

高电平写保护,低电平取消写保护

AT24C04

4K(512字节)

两个字节

高电平写保护,低电平取消写保护

AT24C32

32K(4096字节)

两个字节

高电平写保护,低电平取消写保护

AT24C64

64k(8192字节)

两个字节

高电平写保护,低电平取消写保护

 

(1)存储结构

i2c读写nfc_字节数_02

(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总线有几路

i2c读写nfc_引脚_03

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

i2c读写nfc_字节数_04

(3)读操作:

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

i2c读写nfc_i2c读写nfc_05

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

i2c读写nfc_字节数_06

 (4)写操作

i2c读写nfc_字节数_07

  •  写8个字节的数据;

i2c读写nfc_i2c读写nfc_08

  •  写入9个字节数据:

i2c读写nfc_字节数_09

  • 写16个字节数据:

i2c读写nfc_引脚_10

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

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

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

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