PCF8574用于I2C总线的远程8位I/O扩展器
1 产品特点
低待机电流消耗:10 uA(最大值)
I2C 转并行端口扩展器
漏极开路中断输出
与大多数微控制器兼容
具有大电流驱动能力的闭锁输出,可直接驱动 LED
闩锁性能超过 100 mA,符合 JESD 78 标准,ll 类
2 应用
电信候机亭:滤波单元
服务器
路由器(电信交换设备)
个人电脑
个人电子产品
工业自动化
采用GPIO限制处理器的产品
3 描述
这款用于双线双向总线 (I2C) 的 8 位输入/输出 (I/O) 扩展器专为 2.5V 至 6V Vcc 操作而设计。
PCF8574A器件通过IC接口[串行时钟(SCL)、串行数据(SDA)]为大多数微控制器系列提供通用远程I/O扩展。
该器件具有一个 8 位准双向 I/O 端口 (P0-P7),包括具有高电流驱动能力的锁存输出,可直接驱动 LED。每个准双向 1/O 都可以用作输入或输出,而无需使用数据方向控制信号。通电时,I/O 为高电平。在此模式下,只有 Vcc 的电流源处于活动状态。
5 引脚配置和功能
管脚功能
管脚名称 | 管脚编号 | 管脚类型 | 描述 |
---|---|---|---|
A[0…2] | 1, 2, 3 | I | 地址输入 0 到 2。直接连接到 VCC 或接地。不需要上拉电阻。 |
GND | 8 | — | 地 |
INT | 13 | O | 中断输出。通过上拉电阻连接到 VCC。 |
P[0…7] | 4, 5, 6, 7,9, 10, 11,12 | I/O | P 端口输入/输出。推挽式设计结构。 |
SCL | 14 | I | 串行时钟线。通过上拉电阻器连接到 VCC |
SDA | 15 | I/O | 串行数据线。通过上拉电阻连接到 VCC。 |
VCC | 16 | — | 电源电压 |
8 详细说明
8.1 概述
PCF8574A器件通过 I2C 接口 [串行时钟 (SCL)、串行数据 (SDA)] 为大多数微控制器系列提供通用远程 I/O 扩展。
该器件具有一个 8 位准双向 I/O 端口 (P0–P7),包括具有大电流驱动能力的锁存输出,可直接驱动 LED。每个准双向I/O都可以用作输入或输出,而无需使用数据方向控制信号。通电时,I/O 为高电平。在此模式下,只有 VCC 的电流源处于活动状态。VCC 的额外强上拉允许快速上升沿进入重负载输出。当输出写入高电平并被 SCL 的负边沿关闭时,该器件接通。在用作输入之前,I/O 应为高电平。
PCF8574A器件提供漏极开路输出 (INT),可连接到微控制器的中断输入。在输入模式下,端口输入的任何上升沿或下降沿都会产生中断。经过一段时间后,tiv、INT 有效。当端口上的数据更改为原始设置或从生成中断的端口读取或写入数据时,即可实现重置和重新激活中断电路。复位发生在 SCL 信号上升沿之后的确认位的读取模式下,或在 SCL 信号从高到低转换后的确认位处的写入模式下发生。在确认时钟脉冲期间发生的中断可能会丢失(或非常短),因为在此脉冲期间重置中断。复位后I/O的每一次变化都会被检测到,并在下一个上升的时钟边沿之后,以INT的形式传输。 从另一个器件读取或写入另一个器件不会影响中断电路。
通过在这条线路上发送中断信号,远程 I/O 可以通知微控制器其端口上是否有传入数据,而无需通过 I2C 总线进行通信。因此,PCF8574A设备可以保持简单的从设备。
8.2 功能框图
8.2.1 设备简化框图
8.3 功能说明
8.3.1 I2C接口
与该器件的 I2C 通信由主设备启动,该条件由主发送启动条件启动,即 SCL 输入为高电平时 SDA I/O 上的高低转换。在启动条件之后,首先发送设备地址字节,最高有效位 (MSB),包括数据方向位 (R/W)。此设备不响应常规呼叫地址。在接收到有效的地址字节后,该器件会以确认响应,即在与确认相关的时钟脉冲的高电平期间,SDA I/O上的低电平。从设备的地址输入(A0–A2)不得在启动和停止条件之间更改。
数据字节跟在地址确认之后。如果 R/W 位为高电平,则来自此设备的数据是从 P 端口读取的值。如果R/W位为低电平,则数据来自主站,输出到P端口。数据字节后跟从此设备发送的确认。如果从主设备发送其他数据字节,则在确认之后,此设备将忽略这些数据字节。仅当接收并确认完整字节时,才会输出数据。输出数据将在 SCL 从低到高转换之后的时间 tpv 以及确认的时钟周期内有效。
当SCL输入为高电平时,SDA I/O上的停止条件(即从低到高的转换)由主机发送。
8.3.2 接口定义
BYTE | 7 (MSB) | 6 | 5 | 4 | 3 | 2 | 1 | 0 (LSB) |
---|---|---|---|---|---|---|---|---|
I2C slave address | L | H | H | H | A2 | A1 | A0 | R/W |
I/O data bus | P7 | P6 | P5 | P4 | P3 | P2 | P1 | P0 |
8.3.3 Address Reference
A2 | A1 | A0 | READ ADDRESS | WRITE ADDRESS |
---|---|---|---|---|
L | L | L | 71 (hex) | 70 (hex) |
L | L | H | 73 (hex) | 72 (hex) |
L | H | L | 75 (hex) | 74 (hex) |
L | H | H | 77 (hex) | 76 (hex) |
H | L | L | 79 (hex) | 78 (hex) |
H | L | H | 7B (hex) | 7A (hex) |
H | H | L | 7D (hex) | 7C (hex) |
H | H | H | 7F (hex) | 7E (hex) |
9 应用与实施
9.2.1 设计要求
9.2.1.1 I/O控制LED时最小化ICC
当I/O用于控制LED时,通常通过电阻器连接到VCC,如图27所示。对于配置为输入的 P 端口,ICC 会随着 VI 低于 VCC 而增加。LED 为二极管,阈值电压为 VT,当 P 端口配置为输入时,LED 将熄灭,但 VI 为 VCC 以下的 VT 压降。
对于电池供电应用,当 P 端口配置为输入时,控制 LED 的 P 端口的电压必须大于或等于 VCC,以最大限度地降低电流消耗。图19显示了与LED并联的高值电阻。图 20 显示 VCC 比 LED 电源电压至少小 VT。
这两种方法都将 I/O VI 保持在 VCC 或更高,并防止在 P 端口配置为输入且 LED 熄灭时产生额外的电源电流消耗。