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 扩展外设接口,如智能手表、便携设备等。
相关推荐
qq_401700412 小时前
单片机调试进阶:IDE中的Register与Memory窗口以及断点与观察点 (Watchpoint)
单片机
繁星丶992 小时前
串口通信、TCP/UDP 通信和 MQTT 通信的概念与调试工具应用
单片机·tcp/ip·udp
傻童:CPU2 小时前
STM320F28377D的时钟配置
stm32·单片机·嵌入式硬件
小龙报2 小时前
【51单片机】串口通讯从入门到精通:原理拆解 + 参数详解 + 51 单片机实战指南
c语言·驱动开发·stm32·单片机·嵌入式硬件·物联网·51单片机
2023自学中3 小时前
imx6ull , 4.3寸800*480屏幕,触摸芯片型号 gt9147,显示触摸点的坐标数据
linux·嵌入式硬件
仰望星空的凡人3 小时前
探秘MCU最小系统中的晶振部分是如何工作的?
单片机·嵌入式硬件
羽获飞3 小时前
从零开始学嵌入式之STM32——8.流水灯
stm32·单片机·嵌入式硬件
蓬荜生灰11 小时前
STM32(13)-- 位带操作
stm32·单片机·嵌入式硬件
哎呦 你干嘛~13 小时前
plc单片机485通讯
单片机·嵌入式硬件