当前位置: 首页 > news >正文

DrvBsp_I2C驱动_EEPROM(一)

1.概述

2.EEPROM的分页管理

3.M24512

3.1 芯片简介

3.2 管脚定义

3.3 设备选择码

4.读写操作

4.1 字节写

4.2 页写

4.3 读操作


1.概述

        I2C总线主要广泛应用于 EEPROM 和 RTC(实时时钟)芯片。本文主要介绍I2C总线在EEPROM中的应用

2.EEPROM的分页管理

        EEPROM(电可擦可编程只读存储器)是一种在断电后仍能保留数据的存储芯片。它具有读取速度快的特点,但写入速度相对较慢。这主要是因为对存储单元执行擦除(由1变为0)和编程(由0变为1)操作时,均需要较高的工作电压和一定的处理时间,因此其写入速度相比读取要慢几个数量级。

        此外,尽管分页管理机制有助于提升EEPROM的写入效率和寿命,但它也在一定程度上减缓了写入操作。所谓分页管理,是指EEPROM在物理结构上被划分为固定大小的“页”(例如AT24C系列EEPROM的页大小通常为8字节、16字节、32字节或64字节)。

        在页写入的模式下,I2C主机可以在一次通信事务中连续写入一页数据。具体流程为:主机首先发送起始信号、设备地址和目标内存地址,然后连续发送多个数据字节。EEPROM内部会将这些数据暂存于一个页大小的缓冲区中。直到MCU发出停止信号后,EEPROM才真正开始执行耗时的内部操作,包括:

  • 自动擦除目标地址所在的整个物理页;
  • 将缓冲区中的数据编程写入该物理页。

        需要注意的是,页写入操作不能跨越物理页边界。如果连续写入的字节数超出当前页的剩余空间,地址指针将会回绕至该页起始位置,从而导致已写入的数据被覆盖。

        尽管存在上述限制,分页管理仍具有显著优势。一方面,它能够减少通信开销:与每字节单独发送地址和数据的方式相比,页写入显著减少了I2C通信中起始、停止、应答等协议开销。另一方面,通过合并擦除操作,将多次单独的“擦除-写入”过程整合为一次,从而大幅提升了整体写入效率。

      下文以“M24512”为例解析EEPROM的读写操作。

3.M24512

3.1 芯片简介

        M24512 是意法半导体(STMicroelectronics)推出的一款 512 Kbit 串行EEPROM 芯片,采用 I²C 通信接口,因其可靠性高、功耗低且使用简便,在各类电子设备中应用广泛。

特性分类

参数说明

存储容量

512 Kbit,组织为 64K × 8  ( 64 KB)

接口协议

I²C 总线,兼容

标准模式(100kHz)、快速模式(400kHz)和快速模式(1MHz)

写入时间

字节写入或页写入均在 5ms 内完成

耐用性与保存期

超过 400 万次 擦写循环,数据保存期限 超过 200 年

页大小

128 字节

     

3.2 管脚定义

管脚定义

管脚说明

SDASCL

即该芯片的I2C总线管脚,记得这两管脚为开漏输出,必须要接上拉电阻

Chip Enable

E2、E1、E0

用于设定7 位设备选择码的低三位(b3、b2、b1,即是芯片的使能管脚。该管脚如悬空则默认为低电平

Write Control

WC

低电平为写使能;高电平则禁止写入操作。是为了避免芯片的存储内容丢失而设的。悬空则默认为低电平

3.3 设备选择码

      EEPROM 芯片是通过设备选择码进行判断,是否应对 I2C 总线上传输的数据做出响应。

设备类型定义

设备地址

r/w

b7

b6

b5

B4

b3

b2

b1

b0

定位存储空间时的设备选择码

1

0

1

0

E2

E1

E0

r/w

4.读写操作

4.1 字节写

      针对地址,M24512的片内空间为64K,地址位应是16位,故需要2个字节的片内地址;

如果片内空间小,如M24C02的片内空间为256字节,则地址位8位即可,则只需要1个字节的片内地址。

        还有如M24C04的片内空间为512字节,则除了8位地址位之外,借用了1位设备选择码的E0来扩充地址位。

        因此在M24C16以下的地址位为8位,通过借用设备地址码扩充片内空间的寻址空间;在M24C32以上的则采用16位的地址位。

        内部写入周期5ms,意指在主机发出停止位后,需等待5ms,待EEPOM将缓冲数据写入非易失存储单元后,才能进行下一个写入操作

4.2 页写

      页写模式允许在单次写入周期内,写入1页的数据,即M24512的页尺寸是128字节,则允许单次写入周期内,写入128字节的数据。但这些数据地址只有低7位可变。

      当发送的数据字节数超过当前页末尾,则会触发回卷(roll-over)机制,即超出页末尾的字节不会写入下一页,而是从当前页的起始位置开始写入,并覆盖该地址的原有数据。

        与字节写操作一致,意指在主机发出停止位后,需等待5ms,待EEPROM将缓冲数据写入非易失存储单元后,才能进行下一个写入操作

4.3 读操作

      EEPROM的读操作主要是指随机连续读取操作。该操作采用是一种“先伪写加载地址,后启动读操作”的经典时序,核心目的是通过“伪写”将目标存储地址加载到存储器内部的地址寄存器,最终实现对指定地址数据的读取。

      伪写操作并未真正的写入数据,而是利用“写操作的地址传输阶段”,将目标读地址加载到存储器内部的地址计数器中。其关键特征是:仅完成“地址发送”,不发送待写入数据,且不发送停止位,为后续的读操作保留总线控制权。

http://www.dtcms.com/a/442822.html

相关文章:

  • JAVA实现评委打分
  • 建设网站需要哪些职位营销策略有哪些有效手段
  • 工艺品网站建设开发青羊区建设局网站
  • ViT实战一:Patch_embedding
  • Java8+新特性
  • 网站的根目录怎么找境外网站不备案盈利
  • 【Linux】Linux 常用指令2
  • 买服务器做网站百度云搜索引擎入口手机版
  • 算法入门:专题攻克主题一---双指针(2)快乐数 呈最多水的容器
  • 中国建设银行移动门户网站广州市花
  • 手写MyBatis第92弹:SqlSource体系、SqlNode树与Trim标签实现原理全揭秘
  • Perl 简介
  • 【c++】set和map
  • LabVIEW脉冲信号中值滤波
  • 做网站北京公司网站做301对优化有影响
  • 【序列晋升】47 Spring Authorization Server授权码模式深度解构:OAuth2.1协议与PKCE扩展的实现细节
  • 深圳市手机网站建设企业网站模板 兼容
  • YOLO入门教程(番外):机器视觉一文通
  • 网站做cdn服务流量ps做网站字号大小
  • Cooperative ISAC-empowered Low-Altitude Economy
  • YOLO入门教程(番外):卷积神经网络—填充与步幅
  • 中国建设银行校园招聘网站注册个公司要多少钱费用
  • 商务网站建设的主流程网站作为医院形象建设
  • 旅游网站推广方案华为外包做的网站
  • 国际民用航空组织ICAO
  • 1.6 傅里叶变换7-拉氏变换、Z变换
  • h5响应式网站设计方案软件开发步骤流程
  • 网站建设所用的工具大丰网店制作
  • 网站建设及网站推广网站开发与建设课程
  • python计算化学(autode系列—xTB)Atoms类详解