`完全正确!就是接两个 GPIO 引脚到 ALERT 引脚。
这在电路设计中是一个非常经典且巧妙的“双重绑定”接法。这两个 GPIO 分工明确:
- GPIO_INT (外部中断输入引脚,比如 P3.2/INT0):
- 方向: 设置为输入(准双向口或带上拉输入)。
- 任务: 纯粹用来监听 ALERT 信号。当 ALERT 变低时,它负责触发单片机中断,通知程序:“硬件已经报警切挡了,请进来改写寄存器。”
- GPIO_CTRL (控制输出引脚,比如 P1.5):
- 方向: 设置为开漏输出(Open-Drain)。
- 任务: 用来强行接管电平。
- 当输出
0时:强行将线拉低,保证即使后续 ALERT 释放了,MOS 也能继续导通。 - 当输出
1(高阻)时:断开拉低,把控制权交还给 ALERT 或者是外部上拉电阻。
🔌 物理接线图
你只需要把这四个点用铜箔/导线拉到一起:
| |
🔄 状态切换时的硬件物理变化
我们可以看看这三个器件在这个节点上是如何相互配合的,这能帮你更直观地理解它的妙处:
初始状态(小电流):
P1.5 输出
1(不拉低),ALERT 此时没有报警也是1(开漏不拉低)。节点被 10k 电阻上拉到高电平 $\rightarrow$ MOS 管关闭(处于大电阻小量程)。
突发大电流(硬件秒切):
INA226 瞬间触发过流,ALERT 内部开关闭合接地(输出
0)。节点电平瞬间被扯到地($0\text{ V}$) $\rightarrow$ MOS 管零延迟开启(大电阻被短路旁路,保护完成!)。
软件跟进(稳定状态):
P3.2 (INT0) 探测到刚才的低电平,进入中断。
单片机执行第一步:将 P1.5 设为
0(强制闭合接地)。单片机通过 I2C 重新配置 INA226 为欠流模式,并读取 06h 解锁 Latch。
关键: 虽然解锁后 ALERT 恢复了高电平(断开接地),但因为 P1.5 还在强行接地,所以节点依然是低电平,MOS 维持导通,完美避开了震荡!`
完全正确!就是接两个 GPIO 引脚到 ALERT 引脚。
这在电路设计中是一个非常经典且巧妙的“双重绑定”接法。这两个 GPIO 分工明确:
- GPIO_INT (外部中断输入引脚,比如 P3.2/INT0):
- 方向: 设置为输入(准双向口或带上拉输入)。
- 任务: 纯粹用来监听 ALERT 信号。当 ALERT 变低时,它负责触发单片机中断,通知程序:“硬件已经报警切挡了,请进来改写寄存器。”
- GPIO_CTRL (控制输出引脚,比如 P1.5):
- 方向: 设置为开漏输出(Open-Drain)。
- 任务: 用来强行接管电平。
- 当输出
0时:强行将线拉低,保证即使后续 ALERT 释放了,MOS 也能继续导通。 - 当输出
1(高阻)时:断开拉低,把控制权交还给 ALERT 或者是外部上拉电阻。
🔌 物理接线图
你只需要把这四个点用铜箔/导线拉到一起:
| |
🔄 状态切换时的硬件物理变化
我们可以看看这三个器件在这个节点上是如何相互配合的,这能帮你更直观地理解它的妙处:
初始状态(小电流):
P1.5 输出
1(不拉低),ALERT 此时没有报警也是1(开漏不拉低)。节点被 10k 电阻上拉到高电平 $\rightarrow$ MOS 管关闭(处于大电阻小量程)。
突发大电流(硬件秒切):
INA226 瞬间触发过流,ALERT 内部开关闭合接地(输出
0)。节点电平瞬间被扯到地($0\text{ V}$) $\rightarrow$ MOS 管零延迟开启(大电阻被短路旁路,保护完成!)。
软件跟进(稳定状态):
P3.2 (INT0) 探测到刚才的低电平,进入中断。
单片机执行第一步:将 P1.5 设为
0(强制闭合接地)。单片机通过 I2C 重新配置 INA226 为欠流模式,并读取 06h 解锁 Latch。
关键: 虽然解锁后 ALERT 恢复了高电平(断开接地),但因为 P1.5 还在强行接地,所以节点依然是低电平,MOS 维持导通,完美避开了震荡!