0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

推挽、开漏、OC、OD一文解析

STM32嵌入式开发 来源:知乎 2023-01-29 13:41 次阅读

与推挽输出相对的是开漏输出,而开漏输出分为OC、OD两种,下文分别详细介绍。

推挽输出

推挽输出(Push-Pull Output)是由两个MOS或者三极管受到互补控制信号的控制,两个管子始终处在一个导通另一个截止的状态,如图1所示:

6b841f82-9f1c-11ed-bfe3-dac502259ad0.png

图1 推挽输出结构 推挽输出的最大特点是可以真正的输出高电平和低电平,而且在两种电平下都具有驱动能力。

补充说明

所谓的驱动能力,就是指输出电流的能力。对于驱动大负载(即负载内阻越小,负载越大)时,例如IO输出为5V,驱动的负载内阻为10ohm,于是根据欧姆定律可以正常情况下负载上的电流为0.5A(推算出功率为2.5W)。显然一般的IO不可能有这么大的驱动能力,也就是没有办法输出这么大的电流。于是造成的结果就是输出电压会被拉下来,达不到标称的5V。当然如果只是数字信号的传递,下一级的输入阻抗理论上最好是高阻,也就是只需要传电压,基本没有电流,也就没有功率,于是就不需要很大的驱动能力。 对于推挽输出,输出高、低电平时电流的流向如图2所示。所以相比于后面介绍的开漏输出,输出高电平时的驱动能力强很多。

6b910ecc-9f1c-11ed-bfe3-dac502259ad0.jpg

图2 灌电流与拉电流

缺点

但推挽输出的一个缺点是,如果当两个推挽输出结构相连在一起,一个输出高电平,即上面的MOS导通,下面的MOS闭合时;同时另一个输出低电平,即上面的MOS闭合,下面的MOS导通时。电流会从第一个引脚的VCC通过上端MOS再经过第二个引脚的下端MOS直接流向GND。整个通路上电阻很小,会发生短路,进而可能造成端口的损害。这也是为什么推挽输出不能实现" 线与"的原因。

开漏输出

常说的与推挽输出相对的就是开漏输出(Open Drain Output),对于开漏输出和推挽输出的区别最普遍的说法就是开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动。关于上下拉电阻可以参考此文:通俗理解STM32中的上/下拉电阻。 下面就从内部结构和原理上说明为什么开漏输出输出高电平时没有驱动能力,以及进一步比较与推挽输出的区别。 首先需要介绍一些开漏输出(OD)和开集输出(OC)。这两种输出的原理和特性基本是类似的,区别如下:

开漏使用MOS管,其中的"漏"指的就是MOS管的漏极

开集使用三极管,其中的"集"指的就是三极管的集电极

这两者其实都是和推挽输出相对应的输出模式,由于使用MOS管的情况较多,很多时候就用"开漏输出"这个词代替了开漏输出和开集输出。 OC 介绍就先从开集输出开始,其原理电路结构如图3所示。

6ba15e6c-9f1c-11ed-bfe3-dac502259ad0.jpg

图3 OC

图3左边电路是开集(OC)输出最基本的电路,当输入为高电平时,NPN三极管导通,Output被拉到GND,输出为低电平;当输入为低电平时,NPN三极管闭合,Output相当于开路(输出高阻)。高电平时输出高阻(高阻、三态以及floating说的都是一个意思),此时对外没有任何的驱动能力。这就是开漏和开集输出最大的特点,如何利用该特点完成各种功能稍后介绍。这个电路虽然完成了开集输出的功能,但是会出现input为高,输出为低;input为低,输出为高的情况。 图3右边的电路中多使用了一个三极管完成了"反相"。当输入为高电平时,第一个三极管导通,此时第二个三极管的输入端会被拉到GND,于是第二个三极管闭合,输出高阻;当输入为低电平时,第一个三极管闭合,此时第二个三极管的输入端会被上拉电阻拉到高电平,于是第二个三极管导通,输出被拉到GND。这样,这个电路的输入与输出是同相的了。 OD 接下来介绍开漏输出的电路,如图4所示。原理与开集输出基本相同,只是将三极管换成了MOS而已。 6bac7914-9f1c-11ed-bfe3-dac502259ad0.png 图4 OD

特点及应用

接着说说开漏、开集输出的特点以及应用,由于两者相似,后文中若无特殊说明,则用开漏表示开漏和开集两种输出电路。 开漏输出最主要的特性就是高电平没有驱动能力,需要借助外部上拉电阻才能真正输出高电平,其电路如图5所示。

6bb85d60-9f1c-11ed-bfe3-dac502259ad0.jpg

图5 OD门上拉 当MOS管闭合时,开漏输出电路输出高电平,且连接着负载时,电流流向是从外部电源,流经上拉电阻RPU,流进负载,最后进入GND。

开漏输出的这一特性一个明显的优势就是可以很方便的调节输出的电平,因为输出电平完全由上拉电阻连接的电源电平决定。所以在需要进行电平转换的地方,非常适合使用开漏输出。

开漏输出的这一特性另一个好处在于可以实现"线与"功能,所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。而推挽输出就不行,如果高电平和低电平连在一起,会出现电流倒灌,损坏器件。

推挽、开漏对比

6bc35e36-9f1c-11ed-bfe3-dac502259ad0.jpg

关于推挽输出、开漏输出在STM32中的应用,请移步此文:STM32中GPIO工作原理详解。理清楚了推挽、开漏之后,可以更好的理解GPIO工作原理。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 三极管
    +关注

    关注

    141

    文章

    3493

    浏览量

    119106
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348744
  • MOS
    MOS
    +关注

    关注

    29

    文章

    1127

    浏览量

    91464

原文标题:梳理清楚推挽、开漏、OC、OD

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    理一理 OC/OD 门、开漏输出、推挽输出等一些相关概念

    电子设计基础知识,讲一讲OC/OD门,开漏/推挽输出,以及图腾柱 ... 矜辰所致
    的头像 发表于 05-24 10:49 2276次阅读
    理一理 <b class='flag-5'>OC</b>/<b class='flag-5'>OD</b> 门、开漏输出、<b class='flag-5'>推挽</b>输出等一些相关概念

    推挽输出与输出

    推挽输出与输出的区别 推挽输出:可以输出高,低电平,连接数字器件;输出:输出端相当于三极
    发表于 11-18 22:05

    MCU引脚输出模式中推挽输出与输出电路原理区别

    来源 中国电子网输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(般20ma以内).推挽结构
    发表于 06-29 11:11

    MCU引脚输出模式中推挽输出与输出电路原理区别

    断开,而对于P0口来说,就是高阻态了。对于极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了极,OC就变成了
    发表于 03-21 09:20

    MCU引脚输出模式中,“推挽输出”与“输出”电路原理究竟有啥区别

    即可。这样集电极就变成了极,OC就变成了OD,原理分析是样的。另种输出结构是推挽输出。
    发表于 10-12 10:41

    MCU引脚输出模式中,“推挽输出”与“输出”电路原理究竟有啥区别

    来源 网络输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(般20ma以内)。 推挽结构
    发表于 03-20 16:19

    请问单片机I/O口的输出及推挽输出区别是什么?

    推挽输出:可以输出高,低电平,连接数字器件; 输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(般20ma以内
    发表于 06-28 10:32

    如何使用IO口的推挽输出?

    IO口的推挽输出如何使用?
    发表于 09-08 23:40

    推挽输出与输出的区别是什么?

    推挽输出与输出的区别是什么?STM32 UART怎么使用?
    发表于 12-10 07:37

    什么是上拉下拉、什么是输出和推挽输出

    1、什么是上拉下拉、什么是输出和推挽输出?其实很简单。推挽输出就是你想输出1就输出1,想输出0就输出0。但是对于你没有用到的IO口,它处于悬空,他要是处于电磁干扰咋办,可能不小心感
    发表于 01-17 07:44

    输出和推挽输出的区别

    1.输出和推挽输出的区别开输出只能输出低电平,需要上拉电阻才能输出高电平;推挽输出既能输出低电平又能输出高电平。(点击查看:上拉电阻和
    发表于 01-25 06:31

    推挽输出和输出有何差异

    1.推挽输出使GPIO口输出高电平或者低电平主要寄存器为端口配置地寄存器和端口配置高寄存器,每四个位控制个GPIO.2 推挽输出和输出
    发表于 02-24 07:20

    GPIO实现推挽输出和输出的关键是什么

    以STM32参考手册中的GPIO输出配置图为例:看到输出驱动器虚线框中的内容,输出驱动器中的P-MOS和N-MOS两个MOS管就是实现推挽输出和输出的关键。推挽输出模式下,P-MO
    发表于 02-28 06:48

    STM32的GPIO知识点:输出和推挽输出

    GPIO_Mode_Out_PP 推挽输出 GPIO_Mode_AF_OD 复用输出 GPIO_Mode_AF_PP 复用推挽输出 下
    发表于 12-22 18:10

    一文看懂推挽、开漏、OCOD的特点与应用

    推挽输出相对的是开漏输出,而开漏输出分为OCOD两种,下文分别详细介绍。
    的头像 发表于 03-11 10:57 7072次阅读