高阻态:引脚松手后,电压由谁决定?|引脚电路 03

封面为 AI 辅助概念插画;电路工作过程以正文动画为准。

课程插图

把 GPIO 从输出切成输入,有时能让两个设备轮流使用一根线。这背后的关键词是高阻态,也常写作 Z。它究竟是第三种电压,还是另外一回事?

三张 GIF 是输出使能与外部偏置的教学模型,非芯片仿真、非硬件实测。漏电、寄生电容、保护结构和模式切换延迟没有按具体芯片建模;播放已放慢。

Z 不是夹在零和一之间

关闭输出级后,引脚不再主动连接到任一电源轨

在简化的推挽模型中,上下两条主动驱动路径都断开,就是输出级释放了节点。这意味着它对外部电位的约束变弱,不是主动输出“第三档电压”。

此时外部上拉可以把节点带向高,外部下拉可以把节点带向低,别的合法驱动器也可以控制它。若没有任何可靠来源,节点可能受残留电荷、漏电和耦合影响。

因此高阻不等于读数一定随机,也不等于读数一定为零。它甚至可能暂时维持原来电位,但不能把这个偶然现象当成可靠存储功能。

输出关闭,输入未必关闭

同为高阻输出,外部上拉与下拉可以产生不同读数

许多芯片把输出驱动、输入缓冲和上下拉分别配置。输出级没有驱动,不代表所有内部通路都不存在;内部上拉、输入接收器或保护结构可能仍然连接。

具体模式必须看芯片结构。例如某些模拟模式会关闭数字输入缓冲,而普通输入模式仍会把电压判成逻辑状态。不能从一个软件模式名推断所有芯片内部完全相同。

图中先保留外部上拉,再换成外部下拉。输出驱动始终关闭,读数却由高变低。变化的原因是外部电路换了,并非“高阻自己决定输出什么”。

轮流说话,需要交接

先释放旧驱动者,再使能新驱动者,保留交接空隙

如果两个器件的输出都支持三态,线路可以在协议约束下由一个器件驱动、另一个器件释放。切换时先让旧驱动者退出,再让新驱动者接手,避免同时输出相反电平。

交接间隙若没有其他驱动者,电平可能需要合适的偏置来保持确定。间隙多久、偏置多强、读取何时有效,都要依据器件延迟与总线时序,不能照搬动画里的帧数。

也不能依赖软件“几乎同时切换”保证没有冲突。中断、复位、程序异常和上电顺序都可能打破这个假设。可靠设计应在硬件和协议层明确谁拥有线路。

高阻不是隔离开关

即使处于输入或禁用输出状态,引脚仍可能不允许超过电源轨的电压。部分器件在断电时还可能通过保护路径被外部信号反向供电。高阻说明正常工作范围内的驱动特性,不等于物理断线或安全隔离。

看完再猜

把未连接的输入切为高阻,能不能因此保证低功耗?不能一概而论。数字输入停在不合适的电压区域可能增加消耗,具体未用引脚处理应遵循厂商建议。

本课的关键是把两个问题分开:引脚自己有没有驱动能力,以及当前节点电压到底由谁建立。

资料:ST GPIO 入门与输出速度、TI HCMOS 设计考虑。

发现更多好玩的开源项目

专注 Arduino、开源硬件、端侧 AI 和值得收藏的开发者工具。

课程插图

长按二维码关注「GitStar」

所有动画为教学原理示意,非芯片仿真、非硬件实测。网页发布:2026-09-22。