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 扩展外设接口,如智能手表、便携设备等。
相关推荐
fie888919 小时前
基于51单片机的航模遥控器6通道接收机程序
单片机·嵌入式硬件·51单片机
bu_shuo19 小时前
嵌入式硬件工程师VS单板硬件工程师
嵌入式硬件·电子工程师·单板硬件
llilian_1619 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
Yyq1302086968220 小时前
MH2457,‌国产 32 位屏驱 MCU‌芯片,支持‌1080P 高清显示‌与‌以太网通信‌,广泛应用于两轮车仪表盘及工控屏等领域
单片机·嵌入式硬件
爱吃程序猿的喵21 小时前
南邮计科电工电子实验B《RLC串联谐振电路》实验报告
单片机·嵌入式硬件
独小乐21 小时前
009.中断实践之实现按键测试|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·arm
XINVRY-FPGA21 小时前
XC7VX690T-2FFG1157I Xilinx AMD Virtex-7 FPGA
arm开发·人工智能·嵌入式硬件·深度学习·fpga开发·硬件工程·fpga
bubiyoushang8881 天前
利用STM32实现Modbus通信(RTU从机方案)
stm32·单片机·嵌入式硬件
cmpxr_1 天前
【单片机】常用设计模式
单片机·嵌入式硬件·设计模式
杰杰桀桀桀1 天前
4*4无时延矩阵键盘(非阻塞)--附代码链接
stm32·单片机·嵌入式硬件·矩阵·计算机外设·无时延矩阵键盘