24LC16芯片介绍

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习

擅长领域:驱动开发,嵌入式软件开发,BSP开发

作者主页:一个平凡而乐于分享的小比特的个人主页

文章收录专栏:硬件知识,本专栏为记录项目中用到的知识点,以及一些硬件常识总结

欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

24LC16芯片介绍

核心摘要

24LC16 是Microchip Technology(微芯科技)生产的一款 16Kbit 的串行电可擦除可编程只读存储器。它使用 I²C 协议进行通信,因其体积小、接口简单、可靠性高而深受嵌入式系统开发者的喜爱。

24LC16芯片datasheet下载地址:24LC16B技术规格书


详细规格与特性

1. 基本参数
  • 容量 : 16 Kbit。注意,这是比特位 ,而不是字节。换算成字节是 16 Kbit / 8 = 2 KByte。也就是 2048 字节
  • 组织架构 : 内部空间被组织为 256个页 ,每个页 8字节。所以总容量是 256 Pages × 8 Bytes/Page = 2048 Bytes。
  • 接口协议I²C。这是一种只需要两根信号线(时钟线 SCL 和数据线 SDA)的串行通信协议,极大地节省了微控制器的IO口资源。
  • 工作电压 : 通常版本支持宽电压范围,如 1.7V 至 5.5V,使其既能用于传统的5V系统,也能用于现代的3.3V甚至更低的低功耗系统。
  • 写周期寿命 : 典型的EEPROM特性,可以承受 1,000,000次 的擦写周期。
  • 数据保存期 : 超过 200年,数据可以长期稳定地保存。
2. 关键特性详解
a) I²C 设备地址与内存地址

这是理解24LC16如何被访问的核心。

  • 设备地址: 由于I²C总线上可以挂载多个设备,每个设备需要一个唯一的地址。24LC16的7位设备地址格式如下:

    1 | 0 | 1 | 0 | A2 | A1 | A0 | R/W

    • 前4位固定为 1010: 这是Microchip为24XX系列EEPROM定义的标识符。
    • A2, A1, A0 : 这三个是芯片选择位 。24LC16的独特之处在于,它内部的2KB内存被划分成了8个独立的"块" ,每个块256字节。这三个地址位实际上用于选择访问这8个块中的哪一个。
      • 块 0: A2=0, A1=0, A0=0
      • 块 1: A2=0, A1=0, A0=1
      • ...
      • 块 7: A2=1, A1=1, A0=1
    • 硬件地址引脚 : 24LC16芯片上没有 物理的A2, A1, A0引脚。这意味着你不能在同一个I²C总线上挂载多片24LC16来扩展容量,因为它们的设备地址是固定的。这三个位完全由内部内存地址的最高三位决定。
    • R/W位: 最后一位是读写控制位。0表示写操作,1表示读操作。
  • 内存地址: 每个块的大小是256字节,所以只需要一个8位的地址(0x00 - 0xFF)就可以寻址一个块内的所有字节。

b) 写操作
  • 字节写: 微控制器先发送设备地址(R/W=0),然后发送一个8位的内存地址(指定在哪个块的哪个位置),最后发送一个字节的数据。24LC16会将该数据写入指定地址。
  • 页写 : 这是EEPROM的高效写入方式。24LC16支持8字节的页写。微控制器在发送起始地址后,可以连续发送最多8个字节的数据。这些数据会被依次写入从起始地址开始的连续位置。如果写入的数据超过8个,地址指针会"回绕"到该页的起始位置,导致之前的数据被覆盖。
c) 读操作
  • 当前地址读: 直接读取地址指针当前指向的位置的数据。
  • 随机读: 微控制器先发送一个"哑"写操作来设定要读取的内存地址,然后重新发起起始条件,并发送设备地址(R/W=1),之后24LC16就会从该地址开始输出数据。
  • 顺序读: 在启动读操作后,微控制器可以持续读取时钟,地址指针会自动递增,从而连续读取多个字节的数据。
d) 写周期时间

在执行一次写操作(字节写或页写)后,EEPROM内部需要大约 5ms 的时间将数据从缓存真正写入到存储单元。在这段时间内,它不会响应I²C总线的请求 (即会发送NACK)。因此,在程序设计中,必须在写操作后加入一个延时,或者通过轮询的方式等待芯片再次响应,否则后续的操作会失败。


引脚定义

以常见的8引脚DIP或SOIC封装为例:

  1. A0, A1, A2 : 在24LC16中,这些引脚没有连接,必须悬空或接地。
  2. VSS: 电源地。
  3. SDA: I²C 串行数据线。
  4. SCL: I²C 串行时钟线。
  5. WP写保护 引脚。
    • 当连接到 VCC(高电平)时,写保护启用。此时,被保护的存储区域(通常是上半部分,即地址 0x0800 - 0x0FFF)变为只读,无法被写入,以防止关键数据被意外修改。
    • 当连接到 VSS(低电平)或悬空时,写保护禁用,整个芯片可读可写。
  6. VCC: 电源正极。

典型应用场景

24LC16非常适合存储那些数据量不大、但需要频繁修改或掉电保存的信息,例如:

  • 设备配置参数: 如网络地址、校准数据、用户设置。
  • 产品信息: 如序列号、生产日期、版本号。
  • 消费类电子产品: 电视、音响的音量、频道等用户偏好设置。
  • 物联网设备: 存储传感器校准值、连接网络的凭证等。
  • 汽车电子: 存储里程、故障码等非实时但重要的数据。
  • Arduino/Raspberry Pi项目: 最常用的外部存储芯片之一,用于扩展微控制器的非易失性存储空间。

与同类芯片的对比

  • vs. 24C02 / 24C04: 24LC16的容量(2KB)比它们(256B/512B)更大。
  • vs. 24LC256: 24LC256的容量(32KB)更大,并且有真正的硬件地址引脚,允许在总线上挂载多达8片,总容量可达256KB。
  • vs. Flash: EEPROM如24LC16支持按字节擦写,而Flash必须按块擦除。对于频繁修改小量数据的场景,EEPROM更合适,寿命也更长。

总结

24LC16 是一款小巧、高效、可靠的 2KB 串行EEPROM存储器。它的核心特点是:

  1. I²C接口,仅需2根线,节省IO。
  2. 内部分为8个块,通过设备地址位选择。
  3. 支持字节写和页写
  4. 写操作后需要等待 约5ms的写入周期。
  5. 硬件写保护功能,增强数据安全性。
相关推荐
时光の尘1 个月前
STM32外设面试速通:UART、I2C、SPI、DMA、RAM/FLASH与ADC/DAC
stm32·dma·iic·adc·flash·spi·ram
然后,是第八天2 个月前
[模块教学]VK16K33_8×16LED矩阵屏的驱动以及技术文档,矩阵屏, 详细配置说明
stm32·单片机·iic·8×16点阵屏
brave and determined5 个月前
国产MCU学习Day6——CW32F030C8T6: I2C功能详解与应用案例
单片机·eeprom·i2c·cw32f030c8t6·cw32·cw32f030·中断读取eeprom
Meraki.Zhang5 个月前
【STM32实践篇】:I2C驱动编写
stm32·单片机·iic·驱动·i2c
忧虑的乌龟蛋6 个月前
嵌入式Linux I2C驱动开发详解
linux·驱动开发·嵌入式·iic·i2c·读数据·写数据
Ronin-Lotus6 个月前
嵌入式硬件篇---IIC
单片机·嵌入式硬件·iic·stm32f103rct6
Hungry_118 个月前
STM32 IIC通信
stm32·单片机·iic·嵌入式软件·通信协议
通信小小昕9 个月前
Verilog IIC驱动| FPGA驱动
fpga开发·iic·状态机·驱动·i2c
集大周杰伦9 个月前
深入解析 I²C 与 SPI 协议:原理、时序及软件实现
单片机·嵌入式硬件·iic·spi·通信协议