最近设计工程时发现上次使用的AT24C128M已经不能满足数据存储了,所以重新选用一个更大的容量进行存储,因此时序也会发生一定的变换。
一、芯片概述
AT24CM01 是 Atmel(现 Microchip)推出的一款 1Mbit(131,072 x 8) 的串行 I²C 接口 EEPROM 芯片。
| 项目 | 规格 |
|---|---|
| 型号 | AT24CM01 |
| 容量 | 1 Mbit = 131,072 字节 = 128 KB |
| 接口 | I²C(2-wire) |
| 电压版本 | 1.7V - 5.5V / 2.5V - 5.5V |
| 封装 | SOIC、TSSOP、WLCSP 等 |
| 工作温度 | -40°C 至 +85°C(工业级) |
二、核心特性
1. 电气特性
| 参数 | 规格 | 说明 |
|---|---|---|
| 工作电压 | 1.7V - 5.5V | 宽电压范围,兼容 1.8V/3.3V/5V 系统 |
| 待机电流 | 1.0μA (1.7V) / 6.0μA (5.5V) | 低功耗,适合电池供电设备 |
| 工作电流 | 2.0mA(读)/ 3.0mA(写) | 典型值 @5V/400kHz |
| 输入漏电流 | ±3.0μA(最大) | 低输入漏电 |
| 输出低电平 | 0.2V (@1.7V, 0.15mA) / 0.4V (@3V, 2.1mA) | 标准 I²C 电平 |
2. 时序特性
| 参数 | 1.7V | 2.5V/5.0V | 单位 |
|---|---|---|---|
| 最大时钟频率 | 400 | 1000 | kHz |
| 写周期时间 | 5 | 5 | ms |
| 噪声抑制时间 | 100 | 50 | ns |
| 时钟低电平时间 | 1300 | 400 | ns |
| 时钟高电平时间 | 600 | 400 | ns |
| 数据建立时间 | 100 | 100 | ns |
| 数据保持时间 | 0 | 0 | ns |
| 启动/停止建立时间 | 600 | 250 | ns |
3. 可靠性
| 参数 | 规格 | 说明 |
|---|---|---|
| 擦写寿命 | 1,000,000 次 | 100万次写入循环 |
| 数据保持 | 40 年 | 在 25°C 条件下 |
| ESD 保护 | >4000V | 人体模型 |
三、存储组织
1. 内部结构
text
总容量: 1,048,576 位 = 131,072 字节
页大小: 256 字节
页数量: 512 页
地址位数: 17 位 (A16 - A0)
2. 页结构示意
text
Page 0: 地址 0x00000 - 0x000FF
Page 1: 地址 0x00100 - 0x001FF
Page 2: 地址 0x00200 - 0x002FF
...
Page 511: 地址 0x1FF00 - 0x1FFFF
四、引脚与封装
1. 引脚配置(8-pin SOIC/TSSOP)
| 引脚 | 名称 | 功能 |
|---|---|---|
| 1 | NC | 无连接(No Connect) |
| 2 | A1 | 设备地址输入(硬件地址位1) |
| 3 | A2 | 设备地址输入(硬件地址位2) |
| 4 | GND | 地 |
| 5 | SDA | 串行数据(双向,开漏) |
| 6 | SCL | 串行时钟(输入) |
| 7 | WP | 写保护(高电平有效) |
| 8 | VCC | 电源(1.7V - 5.5V) |
2. 封装选项
| 封装代码 | 封装类型 | 特点 |
|---|---|---|
| 8S1 | JEDEC SOIC | 8引脚,0.150" 宽 |
| 8S2 | EIAJ SOIC | 8引脚,0.208" 宽 |
| 8X | TSSOP | 8引脚,4.4mm 本体 |
| 8U-6 | WLCSP | 8球,晶圆级芯片尺寸封装 |
五、设备地址与寻址
1. 设备地址格式
| Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 0 | A2 | A1 | P0 | R/W |
-
高4位固定为
1010(0xA) -
A2, A1 :硬件地址引脚,最多支持 4 个器件 共享总线
-
P0 :地址第17位(A16),用于扩展寻址
-
R/W:0=写,1=读
2. 17位地址分布
| 地址位 | 位置 |
|---|---|
| A16 | 设备地址字节的 P0 位 |
| A15 - A8 | 第一个字地址字节 |
| A7 - A0 | 第二个字地址字节 |
3. 地址示例
text
要访问的地址: 0x1A2B3 (二进制: 1 1010 0010 1011 0011)
设备地址: 1010 A2 A1 P0 R/W
= 1010 00 1 0 = 0xA4 (假设 A2=0, A1=0, P0=1, 写操作)
字地址高8位: 1010 0010 = 0xA2
字地址低8位: 1011 0011 = 0xB3
六、操作模式
1. 写操作
| 模式 | 说明 |
|---|---|
| 字节写 | 写入单个字节,需要发送设备地址 + 2字节字地址 + 数据 |
| 页写 | 最多连续写入 256 字节,地址低8位自动递增 |
页写注意事项:
-
超过页边界时,地址回绕到当前页开头
-
建议每次写入不超过页内剩余空间
2. 读操作
| 模式 | 说明 |
|---|---|
| 当前地址读 | 读取内部地址计数器指向的字节 |
| 随机读 | 先执行伪写设置地址,再执行读操作 |
| 顺序读 | 连续读取多个字节,地址自动递增 |
3. 写保护
| WP 引脚状态 | 效果 |
|---|---|
| GND | 正常读写操作 |
| VCC | 全芯片写保护,禁止任何写入 |
七、时序波形
1. 总线时序
text
SCL: /‾‾‾\___/‾‾‾\___/‾‾‾\___
SDA: ___/‾‾‾\_______/‾‾‾\___
Start Bit7 Bit0 Stop
2. 写周期时序
text
Start → 设备地址 → 字地址 → 数据 → Stop
↓
┌─────────────┐
│ tWR = 5ms │
│ 内部写周期 │
└─────────────┘
八、优势与局限
优势
| 优势 | 说明 |
|---|---|
| 大容量 | 1Mbit 存储空间,适合存储配置、日志、字库等 |
| 宽电压 | 1.7V - 5.5V,兼容多种系统电压 |
| 高速 | 1MHz 时钟频率(≥2.5V),快速数据传输 |
| 高耐久 | 100万次擦写寿命 |
| 大页写 | 256字节页写,提高写入效率 |
| 低功耗 | 待机电流仅 1μA |
| 多器件 | 最多 4 个器件共享总线,总容量可达 4Mbit |
局限
| 局限 | 说明 |
|---|---|
| 地址寻址复杂 | 17位地址需使用 P0 位,驱动需特殊处理 |
| 页边界限制 | 页写不能跨页,需要管理地址边界 |
| 挂载数量少 | 仅支持 4 个器件(A2、A1 两个地址引脚) |
| 数据保持较短 | 40 年,低于 AT24C64D 的 100 年 |
九、应用场景
| 应用领域 | 典型用途 |
|---|---|
| 工业控制 | 参数存储、校准数据、运行日志 |
| 通信设备 | MAC地址、配置信息、固件参数 |
| 消费电子 | 用户设置、设备状态、产品信息 |
| 医疗设备 | 患者数据、设备配置、校准参数 |
| 物联网终端 | 传感器校准、网络配置、数据记录 |
十、与其他型号对比
| 特性 | AT24CM01 | AT24C64D | AT24C128/256 |
|---|---|---|---|
| 容量 | 1 Mbit | 64 Kbit | 128/256 Kbit |
| 页大小 | 256 字节 | 32 字节 | 64 字节 |
| 硬件地址线 | 2 条 (A2, A1) | 3 条 (A2, A1, A0) | 2 条 (A1, A0) |
| 最大器件数 | 4 个 | 8 个 | 4 个 |
| 低压速度 | 400kHz @1.7V | 400kHz @1.7V | 100kHz @1.8V |
| 写周期 | 5ms | 5ms | 10ms |
| 擦写寿命 | 100万次 | 100万次 | 10万次 |
| 数据保持 | 40 年 | 100 年 | 40 年 |
| 地址位数 | 17 位(需 P0 位) | 13 位 | 14/15 位 |
十一、驱动开发要点
FPGA接口设定
input wire clk, // 系统时钟 50MHz
input wire rst_n, // 异步复位,低有效
// 用户接口
input wire start, // 启动传输
output reg busy, // 忙标志
output reg done, // 传输完成
output reg ack_error, // ACK 错误标志
// 发送/接收数据接口
input wire [7:0] tx_data, // 发送数据
output reg [7:0] rx_data, // 接收数据
input wire tx_rx, // 1=发送模式, 0=接收模式
// I2C 总线接口 (需要外部上拉)
output reg scl, // 时钟线
inout wire sda // 数据线
十二、总结
AT24CM01 是一款大容量、高速、低功耗的 I²C EEPROM,适用于需要存储大量非易失性数据的嵌入式系统。
核心优势:
-
✅ 1Mbit 大容量
-
✅ 1MHz 高速通信
-
✅ 256 字节大页写
-
✅ 100万次高耐久性
-
✅ 1.7V 宽电压支持
注意事项:
-
⚠️ 17位地址需特殊处理 P0 位
-
⚠️ 页写需管理 256 字节边界
-
⚠️ 最多挂载 4 个器件
-
⚠️ 数据保持 40 年(较 AT24C64D 短)
适用场景 :
工业控制、通信设备、物联网终端等需要大容量参数存储的应用。