7、PCF8574 I2C 接口 GPIO 扩展电路

这个电路是基于PCF8574(或兼容型号)的 I2C 接口 GPIO 扩展方案,核心功能是通过 I2C 总线为 MCU 扩展 8 路可配置的 GPIO 口(功能说明中 "10 路" 应为标注简化或扩展多片的场景),适用于 MCU GPIO 资源不足的场景。下面从元件作用工作原理设计要点展开分析:


一、关键元件作用拆解

元件 作用说明
PCF8574(核心芯片) I2C 接口的 8 位 GPIO 扩展器,支持输入 / 输出双向配置,通过 I2C 与 MCU 通信,扩展 8 路 GPIO(图中标注的OUTPUT P0-P7为实际输出,P8-P9为标注简化或多片扩展的预留)。
R17、R18(4.7KΩ) I2C 总线(SDA/SCL)的上拉电阻,保证总线空闲时为高电平,维持 I2C 通信的电气特性,4.7KΩ 是 I2C 总线的典型取值。
C14(10uF/25V) 电源去耦电容,滤除 3.3V 电源的高频噪声,需紧贴芯片 VCC 引脚放置,减少电源波动对 I2C 通信的干扰。
A0/A1/A2(地址引脚) 上拉至 VCC3V3,配置芯片的 I2C 地址为0x27(7 位地址),最多支持 8 片 PCF8574 通过改变 A0/A1/A2 电平扩展到 64 路 GPIO。
INTN(中断引脚) 开漏输出引脚,当输入引脚状态变化时,会拉低电平向 MCU 发送中断信号,避免 MCU 轮询输入状态,提升响应效率。

二、核心工作原理

PCF8574 通过 I2C 总线与 MCU 实现双向通信,核心流程如下:

  1. I2C 初始化 :MCU 通过 I2C 总线发送地址帧,匹配 PCF8574 的地址(0x27),建立通信连接。
  2. GPIO 配置与控制
    • 输出模式:MCU 通过 I2C 写入 8 位数据,直接控制每个 GPIO 引脚的高低电平(如驱动 LED、继电器等外设)。
    • 输入模式 :MCU 通过 I2C 读取 8 位数据,获取外部输入状态(如按键、传感器信号);当输入状态变化时,INTN引脚会产生中断,通知 MCU 及时读取数据。
  3. 中断响应INTN为开漏输出,需 MCU 引脚配置为上拉输入;中断触发时,MCU 通过 I2C 读取输入状态并处理,处理完成后可通过 I2C 写入数据清除中断。

三、设计要点解读

  1. I2C 总线设计

    • 上拉电阻 R17、R18 的阻值(10KΩ)需匹配 I2C 总线的通信速率(最高 100kHz 标准模式),若需高速模式(400kHz),可适当减小阻值(如 4.7KΩ)。
    • 总线长度不宜超过 1 米,否则需增加总线驱动芯片或调整上拉电阻阻值,避免信号衰减。
  2. 地址配置 A0/A1/A2 上拉至 VCC3V3 时,7 位 I2C 地址为0x27(二进制0100111),读写地址分别为0x4E(写)和0x4F(读);若需扩展多片 PCF8574,可将 A0/A1/A2 接地或接 VCC,最多支持 8 片设备(地址范围0x20~0x27)。

  3. 中断引脚处理 INTN为开漏输出,需 MCU 引脚配置为上拉输入模式(内部上拉或外部加 10KΩ 上拉电阻),否则中断信号可能无法被正确检测。

  4. 电源稳定性去耦电容 C14 必须紧贴芯片 VCC 引脚放置,减少电源噪声对 I2C 通信的干扰;若系统电源波动较大,可增加 10uF 低频滤波电容进一步优化。


四、典型应用场景

该电路广泛用于MCU GPIO 资源不足的场景,例如:

  • 工业控制:扩展多路继电器、传感器输入 / 输出接口;
  • 智能家居:控制多路 LED 灯、按键输入、温湿度传感器等外设;
  • 消费电子:为小型 MCU 扩展外设接口,如智能手表、便携设备等。
相关推荐
星马梦缘14 分钟前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动
小刘爱玩单片机36 分钟前
【stm32简单外设篇】- 测速传感器模块(光电)
c语言·stm32·单片机·嵌入式硬件
hateregiste41 分钟前
嵌入式软件开发中常见知识点问答集锦!
c语言·单片机·嵌入式软件
电化学仪器白超43 分钟前
EC20CEHDLG-128-SNNS调试记录
python·单片机·嵌入式硬件·自动化
极客小张43 分钟前
基于STM32的智能水质监测与远程预警系统设计与实现
c语言·python·stm32·单片机·嵌入式硬件·物联网
2501_9181269143 分钟前
stm32最级别的烧录解锁是什么?
stm32·单片机·嵌入式硬件·学习·个人开发
qq_241585611 小时前
jump_to_app
单片机·嵌入式硬件
你好,奋斗者!1 小时前
74HC595芯片原理及代码示例
嵌入式硬件·软件·电路设计
潜创微科技--高清音视频芯片方案开发1 小时前
联阳 ITE IT66122 HDMI 1.3 低功耗发射芯片(兼容 IT66121)
硬件工程
小刘爱玩单片机1 小时前
【stm32简单外设篇】- KY-025 干簧管(磁控)模块
c语言·stm32·单片机·嵌入式硬件