EEPROM手册笔记

news2024/9/27 9:03:29

目录

  • 一、特征描述
  • 二、功能描述
  • 三、总线特性
  • 四、设备寻址
  • 五、写入操作
    • 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。此地址指针允许在一次操作期间串行读取整个内存内容。
在这里插入图片描述
读写理解图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2169521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatDev:基于对话的多智能体协同软件开发框架

相关代码资源见文末 论文地址:ChatDev: Communicative Agents for Software Development - ACL Anthologyhttps://aclanthology.org/2024.acl-long.810/ 1. 概述 1.1. 当前的挑战 软件开发是一个复杂且多层次的过程,要求具备不同技能的团队成员之间密切合作。例如,架构师…

老人跌倒扶不扶?涪城三职工给出响亮答案

一、关键时刻的选择 于绵阳市三江湖湿地公园,平凡午后,三名环卫人员刘后刚、严荣礼及杨树坤正紧张作业。突闻呼救声,一位老人在石阶上跌倒需援手。在紧急关头,他们果断抛却工具,疾速赶至老人身边。此举不仅展现了他们…

了解网络的相关信息

文章目录 前言了解网络的相关信息1. ip是什么?1.1. 公网IP:1.2. 私有IP:1.2.1. 示例 2. 子网掩码3. 子网掩码的划分网段是什么4. 特殊的回路IP网段(127.0.0.1)5. 端口 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊&#x…

学习C++的第七天!

1.虚函数是在基类中用 virtual 关键字声明的函数,可以在派生类中被重写。纯虚函数是在虚函数的基础上,在基类中被初始化为 0 的函数,含有纯虚函数的类是抽象类,不能被实例化。 2.如果基类的析构函数不是虚函数,当通过…

(done TODO:从频谱到时域要考虑负频波和余弦波?) 傅里叶变换知识补充

参考:https://www.bilibili.com/video/BV1rC4y1E7FD/?vd_source7a1a0bc74158c6993c7355c5490fc600 sinx 和 sin2x sin3x 等整数倍频率的正弦波都是正交的 cosx 和 cos2x cos3x 等整数倍频率的余弦波都是正交的 这成为三角函数系的正交性 up主从分解出来的波恢复成…

buuctf [ACTF2020 新生赛]Include

学习笔记。 开启靶机。 进入靶场: 我们跟进 tips瞅瞅: 额,纯小白,能想到的就是先F12看看,在CTRLu、以及抓包。 得,不会了,看wp呗,不会死磕没脑子0,0? 参考:…

解决 Adobe 盗版弹窗

在这个文件夹下删除 Adobe CCXProcess 然后重装。 Adobe Premiere Pro 2024 (v24.6.1) Multilingual :: Варез от m0nkrusa [Warez by m0nkrus] (monkrus.ws) Adobe Photoshop 2024 (v25.12) Multilingual :: Варез от m0nkrusa [Warez by m0nkrus] (monkrus.…

FastAPI 第五课 -- 基本路由

目录 一. 前言 二. 根路径路由 三. 路径参数 四. 启动应用和测试路由 一. 前言 在 FastAPI 中,基本路由是定义 API 端点的关键。每个路由都映射到应用程序中的一个函数,用于处理特定的 HTTP 请求,并返回相应的响应。 二. 根路径路由 创…

矩阵求逆的几种方法

1. 定义 对于矩阵的运算中定义了加减法、乘法(包含数乘)但未定义矩阵除法,可以简单认为矩阵的逆即为矩阵除法。矩阵求逆是线性代数中的一个重要概念,在很多应用领域都有广泛的应用。对于一个给定的方阵 ( A ),如果存在…

全志A133开发板安卓系统调试串口复用成普通串口方法-触觉智能EVB1309

本文介绍了在开发板/主板串口接口不够的情况下,可将调试串口改为普通串口使用,下面为大家分享修改方法。基于触觉智能EVB1309开发板演示,搭载全志A133芯片,具有高性能超低功耗优势,待机功耗低至15mW。 1、内核配置 源…

FortiGate 无线组网

无线管理与配置 FortiAP 连接 internal 接口之后自动获得 ip 地址:192.168.1.xxx/24在 FortiGate 中创建 SSIDFortiGate 自动发现 FortiAP,将 FortiAP 添加到 FortiGate将 SSID 和 FortiAP 关联创建防火墙策略 下面我们就来一起看看在 FortiGate 中该如…

【HTTP 和 HTTPS详解】3

HTTP 状态代码 HTTP 状态代码是服务器发送给客户端的三位数字,用于指示客户端请求的结果。它们分为五类:信息性(100-199)、成功(200-299)、重定向(300-399)、客户端错误&#xff08…

【java笔记】 5 接口使用举例

// 导入Swing库中的消息对话框组件 import javax.swing.*; // 定义一个Circle类,该类实现了ShapeInterface接口 public class Circle implements ShapeInterface { // 定义一个私有变量radius来保存圆的半径 private double radius; // 默认构造函数,初…

第十一章 Java多线程--阻塞队列--PriorityBlockingQueue

目录 一、PriorityBlockingQueue基础概念 主要特点 常用方法 使用示例 二、PriorityBlockingQueue深入了解 1 PriorityBlockingQueue介绍 2 二叉堆结构介绍 3 PriorityBlockingQueue核心属性 4 PriorityBlockingQueue的写入操作 4.1 offer基本流程 4.2 offer扩容操作…

【伺服】Servo入坑学习记录①

前言 这是一个自我摸索的过程,如果有什么良好的、或严厉的批评和建议,恳请指教, 万分感谢经典控制理论中,有几个重要的概念和工具,用于分析和设计控制系统。以下是对 传递函数、伯德图、奈奎斯特图、稳定裕度 和 带宽 …

【Elasticsearch】-文本向量化

由于使用了QAnything 本地知识库应答平台 内部已集成Embedding 文本向量化服务,因此不在单独部署。 基于 transformers 如果需要单独部署,可以参看 BCEmbedding/README_zh.md at master netease-youdao/BCEmbedding GitHub 从启动脚本中可以看出&am…

脚手架是什么?详细版+通俗易懂版!!!!!!

脚手架(Scaffolding)在软件开发领域,特别是在前端开发和全栈开发环境中,是一个术语,用来描述一个辅助工具或框架,它旨在帮助开发者快速搭建项目的基础结构和开发环境。这些基础结构可能包括项目的目录结构、…

Android Input系统原理一

1. getevent 命令使用 getevent -h getevent -lrt-t 表示事件发生时间 -l label event types and names in plain text 表示把event事件类型名字打出来 -r 显示一下接受事件速率130|console:/ # getevent -lrt could n…

aloam框架laserMapping.cpp源码解读

一、详细源码解读 #include <math.h> #include <vector> #include <aloam_velodyne/common.h> #include <nav_msgs/Odometry.h> #include <nav_msgs/Path.h> #include <geometry_msgs/PoseStamped.h> #include <pcl_conversions/pcl_c…

动手学深度学习8.7. 通过时间反向传播-笔记练习(PyTorch)

本节课程地址&#xff1a;本节无视频 本节教材地址&#xff1a;8.7. 通过时间反向传播 — 动手学深度学习 2.0.0 documentation (d2l.ai) 本节开源代码&#xff1a;...>d2l-zh>pytorch>chapter_multilayer-perceptrons>bptt.ipynb 通过时间反向传播 到目前为止&…