嵌入式系统 IO 扩展芯片完全指南:原理、功能、选型与实战
一、引言:为什么需要 IO 扩展芯片
在嵌入式系统设计中,主控芯片(MCU/SoC)的 GPIO 引脚资源永远不够用。无论是 STM32、51 单片机还是树莓派,原生 GPIO 数量通常在 8~100 个之间,而实际项目中往往需要连接大量外设:
- 输入类:按键、矩阵键盘、传感器(温湿度、红外)、开关量信号
- 输出类:LED、继电器、蜂鸣器、小型电机、显示屏背光
- 特殊类:I2C/SPI 从设备、中断触发信号
IO 扩展芯片(GPIO Expander) 应运而生,它通过2~4 根通信线(I2C/SPI) 替代大量并行 GPIO,将主控的 1 组总线扩展为8/16/32 个独立可控 IO,完美解决引脚不足、布线复杂、成本过高三大痛点。
本文将从核心定义、工作原理、核心功能、选型参数、主流芯片对比、电路设计要点、驱动代码示例七大维度,带你全面掌握 IO 扩展芯片的工程应用。
二、IO 扩展芯片核心定义与工作原理
2.1 什么是 IO 扩展芯片
IO 扩展芯片(又称 GPIO 扩展器) 是一种专用集成电路(IC),通过标准串行通信总线(I2C/SPI 为主) 与主控连接,将主控的少量通信引脚转换为多个独立可编程的通用输入输出引脚(GPIO),实现 IO 资源的 “以少扩多”。
2.2 核心工作原理
IO 扩展芯片的本质是 **“串行指令→内部寄存器→并行 IO 控制”** 的转换单元,工作流程分 3 步:
- 主控发送指令:通过 I2C(SCL/SDA)或 SPI(SCK/MOSI/MISO/CS)总线,向扩展芯片发送设备地址 + 寄存器地址 + 控制数据;
- 芯片解析指令:内部逻辑电路解析指令,更新方向寄存器(输入 / 输出配置)、数据寄存器(输出电平)、中断寄存器(触发条件);
- IO 端口执行动作:根据寄存器配置,对应 IO 引脚输出高低电平(驱动外设)或读取外部电平状态(采集信号)。
通俗类比:主控是 “大脑”,IO 扩展芯片是 “手脚分身”,大脑只需发 1 条指令(串行),分身就能控制多个动作(并行 IO),大幅节省大脑 “神经”(GPIO)资源。
三、IO 扩展芯片核心功能
3.1 基础功能:IO 数量扩展
- 扩展能力:单芯片可扩展4/8/16/24/32 路 GPIO,支持多芯片级联(如 8 片 16 位芯片扩展 128 路 IO);
- 引脚复用:每个 IO 可独立配置为输入(Input)或输出(Output),无需分组固定,灵活性拉满。
3.2 输入模式核心功能
- 电平读取:读取按键、开关、传感器的高低电平状态(如按键按下 = 低电平);
- 内部上拉 / 下拉:多数芯片内置可配置上拉 / 下拉电阻(10k~100kΩ),无需外部电阻,简化电路;
- 中断触发:支持上升沿 / 下降沿 / 高低电平触发中断,IO 状态变化时主动通知主控,无需轮询,降低主控功耗。
3.3 输出模式核心功能
- 推挽 / 开漏输出:可配置为推挽(强驱动,直接驱 LED / 继电器)或开漏(线与逻辑,多设备共享);
- 大电流驱动:单 IO 灌电流可达20~25mA(如 PCF8574),可直接驱动 LED、蜂鸣器,无需三极管;
- LED 直接驱动:部分芯片(如 HTR3339)内置LED 驱动电路,IO 输出低电平时直接点亮 LED。
3.4 高级功能
- 宽电压兼容:支持1.65V~5.5V宽供电,适配 3.3V(STM32)、5V(51 单片机)系统,无需电平转换;
- 低功耗设计:静态电流低至1μA@3.3V,适合电池供电的低功耗设备(如穿戴设备、物联网终端);
- 电平转换:部分芯片支持双向电平转换,3.3V 主控可控制 5V 外设,反之亦然。
四、IO 扩展芯片关键选型参数(必看)
选型核心原则:先定接口与 IO 数量,再看驱动能力与功耗,最后匹配封装与温度。以下为 10 大核心参数,按优先级排序:
4.1 通信接口(最关键)
决定布线复杂度与主控资源占用,I2C 优先(2 线),SPI 次之(4 线):
- I2C(最常用):2 线(SCL 时钟 + SDA 数据),支持多设备挂载(最多 8 个地址),布线极简,适合低速、多芯片场景;代表芯片:PCF8574、MCP23017、TCA6408;
- SPI:4 线(SCK+MOSI+MISO+CS),速率更高(可达 10MHz),适合高速、单芯片场景;代表芯片:MCP23S17、74HC595;
- 并行总线:8/16 线,占用主控资源多,极少用于现代设计。
4.2 扩展 IO 数量
按需求选择,避免资源浪费:
- 4 位:PCA9536,适合极简扩展(如 2 个按键 + 2 个 LED);
- 8 位(最常用):PCF8574、TCA6408、ET6408,性价比最高,适配多数中小型项目;
- 16 位:MCP23017、PCA9555、ET6416,适合 IO 需求多的场景(如矩阵键盘、多 LED 阵列);
- 32 位 +:级联 16 位芯片或选择专用芯片,适合工业控制、大型设备。
4.3 IO 电气特性
直接决定驱动能力与外设兼容性:
- 输入特性:
- 高 / 低电平阈值:兼容 3.3V/5V(如 VIH≥2V@3.3V);
- 上拉 / 下拉电阻:是否内置(优先内置,省元件);
- 输出特性:
- 驱动方式:推挽(首选)/ 开漏;
- 灌电流(Sink):≥20mA(直接驱 LED / 继电器);
- 拉电流(Source):≥5mA(部分芯片较弱,需外部上拉)。
4.4 供电电压范围
必须与主控、外设电压匹配:
- 窄电压:5V(老款)、3.3V(新款);
- 宽电压(推荐):1.65V~5.5V,适配多电压系统,兼容性强。
4.5 通信速率
影响响应速度,I2C 分 2 档:
- 标准模式:100kHz(默认,足够多数场景);
- 快速模式:400kHz(高速响应,如键盘扫描);
- 高速模式:3.4MHz(极少用)。
4.6 中断支持
必选功能,避免主控轮询浪费资源:
- 中断输出引脚:INT(低电平有效);
- 触发方式:上升沿、下降沿、双边沿、电平触发;
- 中断共享:多芯片可线或连接,共用 1 个主控中断引脚。
4.7 功耗参数
电池供电设备重点关注:
- 静态电流(Iq):≤10μA(越低越好,如 1μA@3.3V);
- 工作电流:IO 翻转时电流(≤1mA)。
4.8 封装形式
决定 PCB 布局空间,优先小封装:
- DIP-16:直插,适合面包板调试、手工焊接;
- TSSOP-16/TSSOP-14:贴片,小尺寸(如 5mm×4.4mm),适合量产、紧凑设计;
- QFN-24:超小贴片,适合穿戴设备、手机。
4.9 工作温度范围
工业 / 车载场景重点关注:
- 商业级:0℃~+70℃(消费电子);
- 工业级:-40℃~+85℃(工业控制、智能家居);
- 汽车级:-40℃~+125℃(车载设备,需 AEC-Q100 认证)。
4.10 国产化替代
供应链安全优先,国产芯片性能对标进口,价格更低:
- 力芯微:ET6408(8 位)、ET6416(16 位),兼容 TCA6408/MCP23017;
- 其他:HTR3339、CH422 等。
五、主流 IO 扩展芯片对比(选型参考)
5.1 I2C 接口主流芯片(最常用)
| 型号 | 厂商 | IO 数 | 电压范围 | 中断 | 驱动能力(灌电流) | 封装 | 典型场景 |
|---|---|---|---|---|---|---|---|
| PCF8574 | NXP | 8 | 2.5V~6V | 否 | 25mA / 口 | DIP-16/TSSOP-16 | 低成本、LED / 按键扩展 |
| MCP23017 | Microchip | 16 | 1.8V~5.5V | 是 | 25mA / 口 | DIP-16/TSSOP-16 | 工业控制、矩阵键盘 |
| TCA6408 | TI | 8 | 1.65V~5.5V | 是 | 20mA / 口 | TSSOP-14 | 低功耗、消费电子 |
| ET6408 | 力芯微 | 8 | 1.65V~5.5V | 是 | 20mA / 口 | TSSOP-14 | 国产替代、兼容 TCA6408 |
| PCA9555 | NXP | 16 | 2.3V~5.5V | 是 | 25mA / 口 | DIP-16/TSSOP-16 | 工业级、高可靠 |
5.2 SPI 接口主流芯片
| 型号 | 厂商 | IO 数 | 电压范围 | 中断 | 特点 |
|---|---|---|---|---|---|
| MCP23S17 | Microchip | 16 | 1.8V~5.5V | 是 | SPI 接口,速率 10MHz,兼容 MCP23017 |
| 74HC595 | NXP / 国产 | 8 | 2V~6V | 否 | 串转并,低成本,仅输出,驱 LED / 继电器阵列 |
5.3 选型快速建议
- 新手 / 低成本:选PCF8574(8 位,无中断),电路简单,驱动易写;
- 工业 / 高可靠:选MCP23017(16 位,有中断)或PCA9555;
- 低功耗 / 电池供电:选TCA6408/ET6408(静态电流 1μA);
- 国产化替代:优先ET6408/ET6416,引脚兼容进口,价格低 30%+。
六、总结
IO 扩展芯片是嵌入式系统低成本、高效解决 GPIO 不足的核心方案,核心价值是 **“2 线扩多 IO、简化布线、降低成本”。选型时优先锁定I2C 接口、8/16 位 IO、宽电压、带中断、小封装 ** 的芯片,工业场景选 MCP23017/PCA9555,消费电子选 TCA6408/ET6408,低成本选 PCF8574。
掌握 IO 扩展芯片的原理、选型与电路设计,能大幅提升嵌入式项目的灵活性与可扩展性,是每个嵌入式工程师必备技能。
更多推荐

所有评论(0)