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

EEPROM手册笔记

目录

  • 一、特征描述
  • 二、功能描述
  • 三、总线特性
  • 四、设备寻址
  • 五、写入操作
    • 1.字节写入
    • 2.页写入
  • 六、读取操作
    • 1.当前地址读取
    • 2.随机读取
    • 3.顺序读取

一、特征描述

1.Microchip Technology Inc. 24AA04/24LC04B (24XX04*) 是一款 4 Kbit 电气可擦除 PROM。该器件由两个 256 x 8 位存储器块组成,带有一个 2 线串行接口。
2.单电源供电,24AA04器件的工作电压低至1.7V,24LC04B器件的工作电压低至2.5V。
3.低功耗CMOS技术:读取电流 1 mA,待机电流 1 μA。
4.线串行接口,IC™兼容
5.100 kHz 和 400 kHz 时钟兼容性
6.页面写入时间 3 毫秒(典型值)
7.自定时擦除/写入周期
8.16 字节页面写入缓冲区
9.超过 100 万次擦除/写入周期
10.封装包括 8 引脚 PDIP、SOIC、TSSOP、DFN、MSOP 和 5 引脚 SOT-23 封装
11.温度范围:工业 (I):-40°C 至 +85°C,汽车 (E):-40°C 至 +125°C

二、功能描述

24LC04B 支持双向 2 线总线和数据传输协议。将数据发送到总线的设备被定义为发送器,而接收数据的设备被定义为接收器。总线必须由主设备控制,该设备生成串行时钟 (SCL),控制总线访问并生成启动和停止条件,而 24LC04B 则用作从设备。主设备和从设备都可以用作发射器或接收器,但主设备决定激活哪种模式。

三、总线特性

定义了以下总线协议:
1.只有当总线不忙时,才能启动数据传输。
2.在数据传输过程中,只要时钟线为高电平,数据线必须保持稳定。当时钟线为高电平时,数据线的变化将被解释为开始或停止条件。
因此,定义了以下总线条件。
在这里插入图片描述

四、设备寻址

1.控制字节是从主设备接收到的 Start 条件之后的第一个字节。控制字节由一个四位控制代码组成。对于 24LC04B,此值设置为“1010”二进制文件,用于读取和写入操作。主设备使用最后一位 B0 或B1来选择要访问的两个 256 字内存块中的哪一个。实际上,此位是 address 的最重要一位。
2.控制字节的最后一位定义要执行的操作。当设置为“1”时,将选择读取操作。当设置为“0”时,将选择写入操作。在启动条件之后,24LC04B 监控 SDA 总线,检查正在传输的设备类型标识符,在收到“1010”代码后,从设备在 SDA 线路上输出确认信号。根据 R/W 位的状态,24LC04B 将选择读取或写入操作。
读写控制位如下图:

在这里插入图片描述

五、写入操作

1.字节写入

根据主发送器的启动条件,器件代码(4 位)、块地址(3 位)和 R/W 位(逻辑低电平)被放置在总线上。这向寻址的从接收器表明,一旦在第九个时钟周期内生成了确认位,就会跟随一个带有字地址的字节。因此,主站传输的下一个字节是字节地址,将被写入24LC04B的地址指针中。在收到来自 24LC04B 的另一个 Acknowledge 信号后,主设备将传输要写入寻址内存位置的数据字。24LC04B 再次确认,主机生成停止条件。这将启动内部写入周期,在此期间,24LC04B 将不会生成确认信号
在这里插入图片描述

2.页写入

写入控制字节、字地址和第一个数据字节以与字节写入相同的方式传输到 24LC04B。但是,主机不会生成停止条件,而是向 24LC04B 传输多达 16 个数据字节,这些数据字节暂时存储在片上页面缓冲区中,一旦主机发送了停止条件,这些数据字节将被写入内存。在收到每个字后,四个低阶地址指针位在内部递增“1”。单词地址的高阶 7 位保持不变。如果主机在生成 Stop 条件之前传输超过 16 个单词,则地址计数器将滚动,并且之前接收的数据将被覆盖。与字节写入操作一样,一旦收到 Stop 条件,内部写入周期将开始
在这里插入图片描述
注意:
页面写入操作仅限于在单个物理页面中写入字节
无论实际写入的字节数如何。物理页面边界从是页面缓冲区大小(或“页面大小”)的整数倍的地址开始,到是 [页面大小 – 1] 的整数倍的地址结束。如果 Page Write 命令尝试跨物理页面边界进行写入,则结果是数据会环绕到当前页面的开头(覆盖以前存储在那里的数据),而不是像预期的那样写入下一页。因此,应用程序软件必须防止试图跨越页面边界的页面写入操作。
3.确认轮询:
由于设备在写入周期期间不会进行确认,因此这可用于确定周期何时完成(此功能可用于最大化总线吞吐量)。一旦从主机发出写入命令的停止条件,设备就会启动内部定时写入周期,然后可以立即启动 ACK 轮询。这涉及主机发送一个 Start 条件,然后发送 Write 命令的控制字节 (R/W = 0)。如果设备仍在忙于写入周期,则不会返回任何 ACK。如果循环完成,设备将返回 ACK,然后主机可以继续执行下一个读取或写入命令。
在这里插入图片描述

六、读取操作

1.当前地址读取

24LC04B 包含一个地址计数器,用于维护访问的最后一个字的地址,并在内部递增“1”。因此,如果上一次访问(读取或写入操作)是针对地址 n,则下一个当前地址读取操作将从地址 n + 1 访问数据。在接收到R/W位设置为“1”的从地址后,24LC04B发出确认并发送8位数据字。主机不会确认传输,但会生成停止条件,并且 24LC04B 会停止传输
在这里插入图片描述

2.随机读取

随机读取操作允许主机以随机方式访问任何内存位置。要执行此类读取操作,必须首先设置字地址。这是通过在写入操作中将字地址发送到 24LC04B 来实现的。一旦发送了字地址,主机就会在确认后生成一个开始条件。这将终止写入操作,但不会在设置内部地址指针之前终止。然后,主机再次发出控制字节,但将 R/W 位设置为“1”。然后,24LC04B 将发出确认并传输 8 位数据字。主机不会确认传输,但会生成停止条件,并且24LC04B将停止传输
在这里插入图片描述

3.顺序读取

顺序读取的启动方式与随机读取相同,不同之处在于一旦 24LC04B传输第一个数据字节,主机就会发出确认,而不是在随机读取中发出停止条件。这指示 24LC04B 传输下一个按顺序寻址的 8 位字。
为了提供顺序读取,24LC04B 包含一个内部地址指针,该指针在每次操作完成后递增 1。此地址指针允许在一次操作期间串行读取整个内存内容。
在这里插入图片描述
读写理解图
在这里插入图片描述

相关文章:

  • uniapp js向json中增加另一个json的全部数据,并获取json长度
  • 低空经济时代:无人机飞行安全要点详解
  • 探索自闭症表现研究报告:了解最新科研成果
  • 胤娲科技:AI界的超级充电宝——忆阻器如何让LLM告别电量焦虑
  • 【有啥问啥】大型语言模型的涌现能力(Emergent Abilities):新一代AI的曙光
  • 企业微信:客户联系自带群发工具和聊天工具
  • [Cocoa]_[初级]_[绘制文本如何设置断行方式]
  • asm技术简介
  • 中国联通(海外)数据中心资源:从基础设施运维服务到IDC机房增值服务
  • 在 Qt 中构建和解析多层嵌套的 JSON 数据
  • 通信工程学习:什么是SISO单入单出
  • GEE问题: 离校后学校edu账户无法使用,如何导出我们所有的脚本
  • C#通用文档识别挂接示例、手写体识别接口
  • 昇思MindSpore进阶教程--报错分析
  • AJAX(简介以及一些用法)
  • 分享的文章《人生如棋》
  • Angular 2 DI - IoC DI - 1
  • Babel配置的不完全指南
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Javascript 原型链
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • yii2权限控制rbac之rule详细讲解
  • zookeeper系列(七)实战分布式命名服务
  • 程序员该如何有效的找工作?
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 警报:线上事故之CountDownLatch的威力
  • 你不可错过的前端面试题(一)
  • 设计模式走一遍---观察者模式
  • 算法之不定期更新(一)(2018-04-12)
  • 微信小程序实战练习(仿五洲到家微信版)
  • 学习笔记:对象,原型和继承(1)
  • 一个项目push到多个远程Git仓库
  • 再谈express与koa的对比
  • 字符串匹配基础上
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 数据库巡检项
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​ArcGIS Pro 如何批量删除字段
  • # linux从入门到精通(三)
  • # Maven错误Error executing Maven
  • # Redis 入门到精通(一)数据类型(4)
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • $.proxy和$.extend
  • (175)FPGA门控时钟技术
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (function(){})()的分步解析
  • (多级缓存)缓存同步
  • (二)原生js案例之数码时钟计时
  • (含笔试题)深度解析数据在内存中的存储