AC24C32是一款采用I2C接口的EEPROM芯片,其容量为 32K字节,根据工作电压的不同,有-2.7、-1.8两种类型。
主要特性:
• 工作范围:-2.7类型范围4.5~5.5V,-1.8类型1.8~5.5V。
• 待机功耗:与工作电压有关
• 容量:4096 x 8bits,即32k bits。
• 接口:I2C,工作在5V时支持最大时钟频率400kHz,其他电压时100kHz。
• 允许一次写一页(32-byte page write mode)
• 一次写动作完成的时间:与工作电压有关,最大20ms。
• 写保护(write protect)功能
• 输入脚有施密特触发器,用于噪声抑制。
• 可靠性:可写1百万次;数据可保存100年。
• 封装:8-Pin PDIP/SOIC/TSSOP
管脚定义:
• VCC:电源脚
• GND:地
• A0、A1、A2:器件I2C地址控制脚,7位I2C地址为0b101 0A2A1A0。浮空时都为低电平。
• SCL、SDA:I2C接口时钟线、数据线。
• WP:写保护输入脚。当连接低电平时,器件正常读写;当连接高电平时,无法对前8k bits内容进行写入。浮空时为低电平。
该芯片的典型应用电路见图1所示,由于WP引脚处于悬空状态,在片内下拉电位的作用下,其处于可读写状态。

图1 典型应用电路
开发板上AT24C32的电路如同2所示,由此看来它应该属于-1.8类型(1.8~5.5V)。由于EE_WP引脚被上拉,使其处于写保护状态。因该引脚并未引出,故在使用外部微控器时,只能执行读取操作,而无法执行写入操作。
经仔细观察,在开发板有PP16的测试焊盘,通过将其接地就可进行读写测试啦!

图2 AT24C32电路
为减轻程序设计的难度,可利用Arduino IDE具有库支持的特点。
为此,可选取Arduino UNO开发板的I2C接口对其进行读取测试。
AT24C32与开发板的连接关系为:
VCC连接3.3V
GND连接GND
AT24C32的SCL连接UNO的A5
AT24C32的SDA连接UNO的A4

图3 器件连接
功能测试及特点:
1)在Page Write时,一次最多写入32个字节。当地址到达该页末尾时,会自动roll over到同一页的起始地址。
2)在Sequential Read时,没有连续读取的字节数目限制(实际受限于Arduino的Wire库中buffer的大小)。当地址到达最后一页的末尾时,会自动roll over到首页的起始地址。
3)在写操作时,MCU发送stop后,AC24C32还需要一段tWR时间(tWR在5V供电时最大为10ms)进行内部工作,之后数据才正确写入。在tWR时间内,芯片不会回应任何接口的操作。
以下是读取AT24C32中3个连续指定地址内数据的程序及测试结果,见图4所示,说明程序正确有效。

图4 测试程序及结果
我要赚赏金
