目录
一、特征描述
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。此地址指针允许在一次操作期间串行读取整个内存内容。
读写理解图