news 2026/9/9 3:57:50

EEPROM 24C0x 的理解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EEPROM 24C0x 的理解
参考文章:AT24C02、04、08、16 操作说明 - schips - 博客园
单字节写入
  1. Start 起始
  2. 发送器件写地址0xA0→ 等待 ACK
  3. 发送 EEPROM 内部内存地址(8bit)→等待 ACK
  4. 发送要写入的 1 字节数据 →等待 ACK
  5. 发送 STOP 停止信号✅(必须 Stop,才会启动内部烧写)
  6. 芯片进入内部写周期 tWR ≈5ms。

时序总结:Start → 0xA0[W] → ACK → MemAddr → ACK → Data → ACK → STOP

页写
  1. Start 起始
  2. 器件地址0xA0 →ACK
  3. EEPROM 起始内存地址→ACK
  4. 连续发送最多 16 个数据字节,每发 1 字节,24C08 返回 ACK;中途不要发 STOP!
  5. 我认为页起始地址可以发16个,如果不是起始地址发16个会覆盖这页头部数据
  6. 全部数据发完,发送 STOP 停止,芯片启动一次内部 tWR=5ms 烧写。

时序:Start→0xA0[W]→ACK→MemAddr→ACK→Data1→ACK→Data2→ACK...DataN→ACK→STOP

读操作:3 种读模式
  1. 当前地址读(Current Address Read)
  2. 随机读(Random Read,指定任意内存地址读)
  3. 顺序读(Sequential Read,连续批量读)
  4. 24C08 内部自带8 位地址计数器:每次读写之后,硬件自动把内部地址 + 1;读到地址 0xFF 之后会回卷到 0x00。

1、当前地址读 Current Address Read

不发送内存地址,直接读上一次操作结束后的那个内部地址。 24C08 内部保存了上次访问后的地址指针。

总线流程

  1. Start
  2. 发从机读地址0xA1→ 等待 ACK
  3. 24C08 输出当前地址的 1 字节数据
  4. 主机发 NACK(非应答)
  5. Stop 结束

时序:Start → 0xA1(R) → ACK → Data ←(从机输出) → NACK → STOP

2、随机读 Random Read(你波形里的,最常用)

指定任意 EEPROM 内存地址读取 1 字节。 技巧:要读地址,需要先做一次 “伪写”,把内存地址发给芯片,不发 Stop,用重复起始 Repeated‑Start 切换到读模式

总线流程

  1. Start
  2. 器件写地址0xA0→ ACK
  3. 发送你要访问的 EEPROM内存地址(8bit) → ACK(假装要写,后面发重新读)
  4. Repeated‑Start(重复起始,不发 Stop!)
  5. 器件读地址0xA1→ ACK
  6. 24C08 输出该地址的 1 字节数据
  7. 主机 NACK
  8. Stop
Start → 0xA0(W) → ACK → MemAddr → ACK → Repeated‑Start → 0xA1(R) → ACK → Data → NACK → STOP

3、顺序读 Sequential Read(批量连续读)

在【当前地址读】或者【随机读】的基础上,主机回复 ACK 而不是 NACK,24C08 会自动地址 + 1,继续输出下一个地址的数据,可以一口气读很多字节。

流程(基于随机读,接着连续读多字节)

  1. Start
  2. 0xA0(W) → ACK
  3. 目标起始内存地址 → ACK
  4. Repeated‑Start
  5. 0xA1(R) → ACK
  6. 读第 1 字节,主机返回 ACK(告诉芯片:我还要继续读下一个)
  7. 读第 2 字节,主机返回 ACK
  8. …… 循环
  9. 读到最后一个字节的时候,主机发 NACK,通知芯片不再继续读
  10. Stop

重点区分 ACK/NACK:

  • 主机发 ACK:还要继续读下一个字节
  • 主机发 NACK:读完了,结束传输

地址溢出行为:读到 0xFF 之后,下一个会回卷到 0x00,不会停止。

下面的表先跳过

型号比特容量字节容量单页长度总页数计算总页数地址说明要点
AT24C022Kbit256Byte8Byte256÷832 页A2A1A0 全部为硬件片选,仅 8 位片内地址
AT24C044Kbit512Byte16Byte512÷1632 页借用器件地址最低位 P 作为 A8,9 位地址,分为两块 256Byte
AT24C088Kbit1024Byte16Byte1024÷1664 页占用器件地址 2 位高位地址 A8、A9,4 块 256Byte
AT24C1616Kbit2048Byte16Byte2048÷16128 页占用器件地址 3 位高位地址,8 块 256Byte
AT24C3232Kbit4096Byte32Byte4096÷32128 页不再借用器件地址,固定 1 字节器件地址 + 2 字节片内地址
AT24C6464Kbit8192Byte32Byte8192÷32256 页双字节片内地址,32 字节 / 页

概念:控制字里包含器件地址和读或写信息 控制字 就当作 器件地址

控制字一个字节 : 固定格式:1 0 1 0 A2 A1 A0 R/W,其中1 0 1 0是固定的,A2 A1 A0是器件硬件地址 R/W 写=0 读=1,

内存地址一个字节:0-255

AT24C02:2Kbit 2048/8 = 256{Byte}页长度 =8Byte超页会页内回绕,写9个字节会覆盖第一个

一页8个数据 第一页地址是 0x00-0x08 第二页 0x09-0x0F 256/8=32页

C2的 A2 A1 A0 可以组成8个地址,所以可以使用8个C02

C4 512个字节,内地址都是0-0xFF 256个,所以要占用A0等,A0这时也叫P,

控制字1 0 1 0 A2 A1 P R/W,P=0或1 相当于256*2=512字节

C8:P占用了 A1 A0 组成4个块= 4*256,C16 P占用了A2 A1 A0 8个块= 8*256

每个块地址是0-FF 8个FF

C4 C8 C16 ,页写一次都是可以写16个字节,页地址为 0x00 0x10 0x20...F0, 间隔0x10

24C32/64:32 字节 / 页,地址是16位地址,发送地址高低位 在发数据 ,页首间隔 0x20

可通过A2A1A0 挂8个,

  • AT24C3232Kbit ÷8 = 4096Byte 地址范围:0x0000 ~ 0x0FFF(12 位有效地址),128 页 ×32Byte
  • AT24C6464Kbit ÷8 = 8192Byte 地址范围:0x0000 ~ 0x1FFF(13 位有效地址),256 页 ×32Byte
  • 横向对比速记

  • 24C02:8 字节 / 页,页首间隔 0x08
  • 24C04/08/16:16 字节 / 页,页首间隔 0x10
  • 24C32/64:32 字节 / 页,页首间隔 0x20
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 3:57:49

C# Socket+串口Modbus设备通信 全套知识点

一、项目整体架构与核心流程(必考大题)1.1 项目架构本项目为Socket-TCP服务端 串口SerialPort 双向转发网关,实现 客户端 ↔ 服务器 ↔ 硬件设备 数据透传。服务器:TCP多客户端服务端 串口通信,核心转发中间层1.2 标…

作者头像 李华
网站建设 2026/9/9 3:57:25

多目标规划序贯算法:从原理到Matlab实战,解决目标冲突问题

1. 项目概述:当数学建模遇上多目标难题 在数学建模竞赛和实际的科研、工程问题里,我们常常会遇到一个让人头疼的局面:目标不止一个,而且它们之间还经常“打架”。比如,在设计一个产品时,我们既希望它的成本…

作者头像 李华
网站建设 2026/8/30 15:30:15

Scratch国赛真题“河马带球”深度解析:事件驱动与碰撞检测实战

1. 项目概述:从一道国赛真题看Scratch编程的核心能力最近在整理历年蓝桥杯Scratch国赛的真题,发现“河马带球”这道题非常有意思,它不仅是检验孩子编程逻辑的试金石,更是理解事件驱动、坐标控制和条件判断等核心概念的绝佳案例。很…

作者头像 李华
网站建设 2026/8/30 17:13:54

面向AI Agent的搜索API:从选型到接入的完整指南

最近在关注 AI Agent 工具链的时候,看到 Show HN 上有个项目叫 Keenable,定位写得很直接:A different web search API for AI agents。简单说,它想做的不是又一个通用搜索接口,而是让搜索 API 返回的内容更适合 AI Age…

作者头像 李华
网站建设 2026/8/31 12:23:14

数学建模实战:回归分析高级应用与模型诊断优化指南

1. 项目概述:回归分析在数学建模中的核心地位 备战数学建模,尤其是像国赛、美赛这类高强度竞赛,时间紧、任务重,最怕的就是拿到题目后对着数据发呆,不知道从何下手。我参加过几次比赛,也带过不少队伍&#…

作者头像 李华
网站建设 2026/8/31 10:03:18

深度学习期末复习指南:从神经网络基础到前沿模型实战

1. 期末复习的“道”与“术”:从知识罗列到体系构建又到了学期末,看着“深度学习”这门课厚厚一摞的PPT和笔记,是不是感觉头大如斗?公式、模型、算法、代码……知识点像散落一地的珍珠,捡起这颗,又丢了那颗…

作者头像 李华