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. 硬件写保护功能,增强数据安全性。
相关推荐
一个平凡而乐于分享的小比特12 天前
TPA620 芯片功能详解
iic·adc·tpa620
一个平凡而乐于分享的小比特13 天前
SMBus(System Management Bus,系统管理总线)
iic·smbus
小渔村的拉线工1 个月前
20.IIC通信上拉电阻的计算
嵌入式硬件·iic·硬件知识·上拉电阻
田甲2 个月前
STM32L051实现内部EEPROM读写
stm32·单片机·嵌入式硬件·eeprom
大熊背2 个月前
sensor IIC有误时,写入曝光参数异常出现的常见问题
iic·自动曝光
GUET_一路向前2 个月前
STM32_I2C Timing参数计算方法(I2C speed:120k/240k/400k)
stm32·单片机·嵌入式硬件·iic
喜喜安2 个月前
串口、IIC、SPI通信协议
uart·iic·spi
时光の尘3 个月前
嵌入式面试八股文(十九)·裸机开发与RTOS开发的区别
linux·stm32·单片机·iic·rtos·spi
小曹要微笑3 个月前
I2C总线技术解析(纯文字版)
单片机·嵌入式硬件·esp32·iic