当前位置:网站首页>硬件之OC、OD、推挽解释
硬件之OC、OD、推挽解释
2022-07-06 19:32:00 【ltqshs】
梳理清楚推挽、开漏、OC、OD
推挽输出
推挽输出(Push-Pull Output)是由两个MOS或者三极管受到互补控制信号的控制,两个管子始终处在一个导通另一个截止的状态,如图1所示:
图1 推挽输出结构
推挽输出的最大特点是可以真正的输出高电平和低电平,而且在两种电平下都具有驱动能力。
补充说明:
所谓的驱动能力,就是指输出电流的能力。对于驱动大负载(即负载内阻越小,负载越大)时,例如IO输出为5V,驱动的负载内阻为10ohm,于是根据欧姆定律可以正常情况下负载上的电流为0.5A(推算出功率为2.5W)。显然一般的IO不可能有这么大的驱动能力,也就是没有办法输出这么大的电流。于是造成的结果就是输出电压会被拉下来,达不到标称的5V。当然如果只是数字信号的传递,下一级的输入阻抗理论上最好是高阻,也就是只需要传电压,基本没有电流,也就没有功率,于是就不需要很大的驱动能力。
对于推挽输出,输出高、低电平时电流的流向如图2所示。所以相比于后面介绍的开漏输出,输出高电平时的驱动能力强很多。
图2 灌电流与拉电流
缺点
但推挽输出的一个缺点是,如果当两个推挽输出结构相连在一起,一个输出高电平,即上面的MOS导通,下面的MOS闭合时;同时另一个输出低电平,即上面的MOS闭合,下面的MOS导通时。电流会从第一个引脚的VCC通过上端MOS再经过第二个引脚的下端MOS直接流向GND。整个通路上电阻很小,会发生短路,进而可能造成端口的损害。这也是为什么推挽输出不能实现" 线与"的原因。
开漏输出
常说的与推挽输出相对的就是开漏输出(Open Drain Output),对于开漏输出和推挽输出的区别最普遍的说法就是开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动。关于上下拉电阻可以参考此文:通俗理解STM32中的上/下拉电阻。
下面就从内部结构和原理上说明为什么开漏输出输出高电平时没有驱动能力,以及进一步比较与推挽输出的区别。
首先需要介绍一些开漏输出(OD)和开集输出(OC)。这两种输出的原理和特性基本是类似的,区别如下:
开漏使用MOS管,其中的"漏"指的就是MOS管的漏极
开集使用三极管,其中的"集"指的就是三极管的集电极
这两者其实都是和推挽输出相对应的输出模式,由于使用MOS管的情况较多,很多时候就用"开漏输出"这个词代替了开漏输出和开集输出。
OC
介绍就先从开集输出开始,其原理电路结构如图3所示。
图3 OC
图3左边电路是开集(OC)输出最基本的电路,当输入为高电平时,NPN三极管导通,Output被拉到GND,输出为低电平;当输入为低电平时,NPN三极管闭合,Output相当于开路(输出高阻)。高电平时输出高阻(高阻、三态以及floating说的都是一个意思),此时对外没有任何的驱动能力。这就是开漏和开集输出最大的特点,如何利用该特点完成各种功能稍后介绍。这个电路虽然完成了开集输出的功能,但是会出现input为高,输出为低;input为低,输出为高的情况。
图3右边的电路中多使用了一个三极管完成了"反相"。当输入为高电平时,第一个三极管导通,此时第二个三极管的输入端会被拉到GND,于是第二个三极管闭合,输出高阻;当输入为低电平时,第一个三极管闭合,此时第二个三极管的输入端会被上拉电阻拉到高电平,于是第二个三极管导通,输出被拉到GND。这样,这个电路的输入与输出是同相的了。
OD
接下来介绍开漏输出的电路,如图4所示。原理与开集输出基本相同,只是将三极管换成了MOS而已。
图4 OD
特点及应用
接着说说开漏、开集输出的特点以及应用,由于两者相似,后文中若无特殊说明,则用开漏表示开漏和开集两种输出电路。
开漏输出最主要的特性就是高电平没有驱动能力,需要借助外部上拉电阻才能真正输出高电平,其电路如图5所示。
图5 OD门上拉
当MOS管闭合时,开漏输出电路输出高电平,且连接着负载时,电流流向是从外部电源,流经上拉电阻RPU,流进负载,最后进入GND。
开漏输出的这一特性一个明显的优势就是可以很方便的调节输出的电平,因为输出电平完全由上拉电阻连接的电源电平决定。所以在需要进行电平转换的地方,非常适合使用开漏输出。
开漏输出的这一特性另一个好处在于可以实现"线与"功能,所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。而推挽输出就不行,如果高电平和低电平连在一起,会出现电流倒灌,损坏器件。
推挽、开漏对比
关于推挽输出、开漏输出在STM32中的应用,请移步此文:STM32中GPIO工作原理详解。理清楚了推挽、开漏之后,可以更好的理解GPIO工作原理。
声明:版权归原作者所有,如有侵权请联系小编删除。参考原文1:《硬件电路设计之“OC/OD输出”》,参考原文2:《梳理清楚推挽、开漏、OC、OD》。
边栏推荐
- 6-6 vulnerability exploitation SSH security defense
- Detailed explanation of 19 dimensional integrated navigation module sinsgps in psins (initial assignment part)
- 哈希表及完整注释
- 牛客编程题--必刷101之双指针篇
- What are the applications and benefits of MES management system
- Read fast RCNN in one article
- 知识图谱构建全流程
- wireshark安装
- Leetcode:minimum_ depth_ of_ binary_ Tree solutions
- Redis introduction complete tutorial: replication principle
猜你喜欢
Qt蓝牙:QBluetoothDeviceInfo
MySQL --- 常用函数 - 字符串函数
Redis入门完整教程:客户端管理
MySQL - common functions - string functions
Apifox, is your API interface document rolled up like this?
基于ensp防火墙双击热备二层网络规划与设计
Five reasons for clothing enterprises to deploy MES management system
Unity使用MaskableGraphic画一条带箭头的线
Unity custom webgl packaging template
运维管理系统有哪些特色
随机推荐
PSINS中19维组合导航模块sinsgps详解(初始赋值部分)
Detailed explanation of 19 dimensional integrated navigation module sinsgps in psins (time synchronization part)
Code debugging core step memory
Work of safety inspection
INS/GPS组合导航类型简介
数字滚动增加效果
A complete tutorial for getting started with redis: AOF persistence
简单冒泡排序
centerX: 用中国特色社会主义的方式打开centernet
Leetcode 77: combination
Software testing -- common assertions of JMeter interface testing
Es6中Promise的使用
widerperson数据集转化为YOLO格式
服装企业部署MES管理系统的五个原因
Dotconnect for DB2 Data Provider
2022年信息安全工程师考试大纲
Redis入门完整教程:复制拓扑
Number theory --- fast power, fast power inverse element
【2022国赛模拟】多边形——计算几何、二分答案、倍增
LeetCode 77:组合