news 2026/7/1 18:43:32

什么时候要用开漏输出(open drain output)?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么时候要用开漏输出(open drain output)?

开漏输出(Open-Drain Output)是一种常见的数字电路输出模式,在微控制器(MCU)和数字系统中应用广泛。简单理解,它只能“主动”输出低电平,而无法“主动”输出高电平。输出高电平需要依赖外部电路的一个电阻“帮忙”拉上去。

那么什么时候需要用开漏输出呢?开漏输出有什么好处呢?

首先看一下开漏输出的工作原理:

可以把开漏输出结构想象成一个简单的开关。

  • 当内部控制逻辑希望输出低电平(0)时,它会闭合内部的N-MOSFET开关。这样输出引脚就直接通过开关连接到地(GND),从而被拉低到低电平。

  • 当内部控制逻辑希望输出高电平(1)时,它会断开内部的N-MOSFET开关。此时输出引脚与地之间的连接是断开的,相当于悬空状态(高阻态)。如果没有任何外部元件,这个引脚的电平是不确定的。因此,必须在外部的输出引脚和电源(VCC)之间连接一个上拉电阻。当内部开关断开时,电流会通过这个上拉电阻将引脚电压“拉”到电源电压,从而输出高电平

开漏输出的常见应用场景

  • 电平转换(Level Shifting):当系统中不同器件工作在不同电压时(如MCU为3.3V,外设为5V),开漏输出可以方便地实现电平转换。只需将开漏引脚的上拉电阻连接到目标设备的电源电压(如5V)即可。推挽输出通常不具备这种灵活性。

  • 多设备共享总线与“线与”逻辑("Wire-AND"):在I²C、SMBus等通信总线中,多个设备的数据线(SDA)和时钟线(SCL)通常直接并联。开漏输出允许任一设备主动将总线拉低,而只有当所有设备都释放总线(输出高阻态)时,总线才被上拉电阻拉高。这种“线与”特性是总线仲裁和多主设备通信的基础。推挽输出直接并联则可能因同时输出高低电平而导致短路。

  • 驱动较大电流负载:开漏输出结构通常吸收电流(sink current)的能力较强**。对于一些需要较大电流的负载,如LED、继电器或蜂鸣器,可以将负载连接在外部电源和开漏输出引脚之间,由开漏引脚控制地的通断来驱动。这种方式有时比直接用推挽输出驱动更灵活,尤其当负载工作电压与控制器电压不同时。

使用开漏输出的注意事项

开漏输出虽然有用,但也有些地方需要留意:

  • 上拉电阻的选择:上拉电阻的阻值需要仔细考量。阻值太小,当输出拉低时电流大,功耗也大;阻值太大,则给线路电容充电慢,会导致信号上升沿变缓,限制最高通信速度。通常需要在速度、功耗和抗干扰能力之间取得平衡。

  • 速度限制:由于输出高电平依赖外部上拉电阻对线路电容的充电,其上升速度通常比推挽输出慢,因而不太适合像SPI这样的高速通信接口。

  • 低电平功耗:输出低电平时,电流会通过上拉电阻到地形成通路,会有一定的静态功耗

如何选择输出模式

选择开漏输出还是推挽输出,主要取决于你的具体需求:

  • 需要电平转换、多设备“线与”(如I²C)、或驱动电压/电流不匹配的负载时,开漏输出更合适。

  • 需要高速信号(如SPI、UART)、强驱动能力或简单的数字输出控制(如直接驱动LED)时,推挽输出通常是更好的选择。

特性

开漏输出 (Open-Drain)

推挽输出 (Push-Pull)

输出能力

只能主动拉低(到GND),高电平为高阻态(悬空),需外部上拉

既能主动输出高电平(到VCC),也能主动输出低电平(到GND)

驱动能力

相对较弱(高电平驱动能力取决于外部上拉电阻)

驱动能力强

电平转换

容易(可通过改变上拉电阻的电源电压实现不同电平转换)

不方便

“线与”功能

支持(多个开漏输出可并联形成“与”逻辑)

不支持(直接并联可能因电平冲突导致短路)

典型应用

I²C、SMBus等总线;电平转换;需要“线与”的场合

GPIO驱动;高速信号(如SPI、UART);直接驱动负载

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 1:36:29

5分钟搞定:用YOLOv9打造智能家居行为感知系统

5分钟搞定:用YOLOv9打造智能家居行为感知系统 【免费下载链接】yolov9 项目地址: https://gitcode.com/GitHub_Trending/yo/yolov9 你是否经历过这样的烦恼:深夜起床需要摸索开关,担心独居老人发生意外无人知晓,或者孩子在…

作者头像 李华
网站建设 2026/7/1 18:53:52

GODEL:微软开源的目标导向对话AI终极指南

GODEL:微软开源的目标导向对话AI终极指南 【免费下载链接】GODEL Large-scale pretrained models for goal-directed dialog 项目地址: https://gitcode.com/gh_mirrors/go/GODEL 你是否曾经遇到过这样的困境:与AI对话时,它要么答非所…

作者头像 李华
网站建设 2026/6/26 20:40:27

14、Python文件与进程操作全解析

Python文件与进程操作全解析 1. 引言 Python 提供了丰富的工具和技术来处理文件和进程。无论是跨平台的操作,还是针对 Windows 系统的特定需求,Python 都能提供有效的解决方案。本文将详细介绍 Python 中文件和进程的操作方法,包括文件的查找、移动、读写,以及进程的启动…

作者头像 李华
网站建设 2026/6/30 3:45:34

22、Python 在 Windows 上的线程编程全解析

Python 在 Windows 上的线程编程全解析 1. 线程编程概述 线程看似简单易懂且易用,但要正确使用却十分困难。经验不足的开发者可能觉得线程很简单,然而有经验的线程程序员却能讲述无数追踪难以复现的线程相关错误的通宵经历。 Python 支持线程编程,通过多个内置模块实现。…

作者头像 李华
网站建设 2026/6/30 3:06:34

Piper开发调试全攻略:告别繁琐安装,拥抱高效迭代

在游戏外设配置工具Piper的开发过程中,传统调试方式往往伴随着繁琐的构建和安装步骤,严重影响了开发效率。本文将为您揭示如何利用Piper开发模式,实现真正的快速迭代开发。 【免费下载链接】piper GTK application to configure gaming devic…

作者头像 李华
网站建设 2026/6/26 11:11:51

33、服务性能优化技术全解析

服务性能优化技术全解析 1. 服务数据签名与配置优化 1.1 数据签名确保完整性 以 Standard Mold 的 Catalog 服务为例,该服务传输的数据既不敏感也不机密,所以在响应服务请求时,从业务需求角度看无需加密目录数据。不过,为保证目录数据准确,架构师认为无需加密,但决定对…

作者头像 李华