推挽输出与开漏输出

推挽输出与开漏输出


文章目录

  • 推挽输出与开漏输出
  • 前言
  • 一、推挽输出
  • 二、开漏输出
  • 总结


前言

在使用GPIO口时,会遇到两种配置,一种叫推挽输出,一种叫开漏输出,今天就简聊一聊这两种模式的差异和选择。


一、推挽输出

如图所示,以STM32的GPIO输出端口结构为例,开漏与推挽电路主要由一个PMOS和一个NMOS组成,两个MOS相互配合实现推挽电路。
如下图:当Q1导通,Q2截至时,电流经红色路径,将右侧MOS导通,扩音器运作。整个过程电流由内向外,类似将电流推出去。
在这里插入图片描述
如图:当Q2导通,Q1截至时,电流经红色路径,右侧MOS截至,扩音器停止。整个过程通过GND将外部电流拉进来,类似将电流挽回去。
在这里插入图片描述

如上所述,两个过程一推一挽,两种结果,描述了GPIO输出高低电平时电流的一个动作,就是常说推挽。
特点:推挽输出的最大特点是可以真正能真正的输出高电平和低电平,在两种电平下都具有驱动能力

二、开漏输出

简单总结一下Q1和Q2对于GPIO输出状态的影响,其真值表如表:

Q1状态Q2状态GPIO的输出状态
导通导通VCC直接对地短路,烧毁MOS管,错误状态
导通关断输出接VCC,输出高电平
关断导通输出接地,输出低电平
关断关断输出浮空,相对与其它点的电阻无穷大,呈现高阻态

在第3种和第4种情况下Q1均为关断状态,此时可将Q1看成是不存在的,此时Q2的漏极啥也没接,处于浮空状态,我们称之为开漏。
如果此时在右侧给他接一个芯片的EN脚,假设EN脚为低电平失能高电平使能,但是此时的漏极只能是高阻态和低电平,没有对芯片EN使能和失能的功能。
在这里插入图片描述
那么怎么才能使用漏极拥有失能和失能的能力呢?
如果在其中接入一个上拉电阻,这是的情况会如何

在这里插入图片描述
如果Q1导通,GND接入,电流通过红色路径到地,EN等效为GND此时也处于低电平,
如果Q1断开,GND断开,电流通过绿色路径到EN,EN被上拉此时处于高电平状态,
在这里插入图片描述

那么此时就有聪明的小伙伴就要问了,推挽电路可以输出高低电平,直接使用推挽电路直接输出高低电平控制EN,岂不快哉?
我觉得是可以的,但有一个问题就是,GPIO输出的电压基本是恒定的,而不同芯片的EN电压又是不一样的,比如常见的STM32的GPIO输出一般是3.3v,有的MCU的EN使能是5v,有的又是1v。不可能针对每个芯片再转一遍电压吧!这就体现了开漏电路的重要性了,只需根据需要的电压配个上拉电阻就OK了!

特点:开漏输出最主要的特性就是高电平没有驱动能力,需要借助外部上拉电阻才能真正输出高电平,其电平跳转速度也上拉电阻决定

在使用多个GPIO控制EN的话,如果使用推挽电路会出现这样一种情况,如图
当Q1打开,Q2关闭,那么Vout1输出高电平,
当Q3关闭,Q4打开,那么Vout2输出低电平
这种情况下,电路等效为真值表的第一种情况,MOS,VCC通过MOS直接接地MOS烧毁,不能进行“线与”

在这里插入图片描述
如果使用开漏,模式就不会出现这样一种情况,如图
只有当Vout1和Vout2都输出高电平时,EN才会是高电平,处于一种“线与”状态

在这里插入图片描述


总结

推挽输出:真正的高电平有驱动能力,无需上拉电阻,电平跳转快,不可“线与”,不可电平转换

开漏输出:虚假的高电平无驱动能力,需要上拉电阻,电平跳转慢,可以“线与”,可以电平转换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣 1035. 不相交的线

题目来源:https://leetcode.cn/problems/uncrossed-lines/description/ C题解:经过细细一推导,就发现跟力扣 1143. 最长公共子序列-CSDN博客 换汤不换药。 直线不能相交,说明元素顺序不能改变,求可以绘制的最大连线数…

【数据结构与算法】二叉树遍历、判断和 diff 算法

遍历 深度优先遍历 function Node(value) {this.value valuethis.left nullthis.right null }let a new Node(a) let b new Node(b) let c new Node(c) let d new Node(d) let e new Node(e) let f new Node(f) let g new Node(g) a.left c a.right b c.l…

动态规划-最长回文子串

动态规划-最长回文子串 原题描述解答中心移动思想代码实现复杂度分析时间复杂度空间复杂度 动态规划思想代码实现复杂度分析时间复杂度空间复杂度 突然觉得很有必要将学过的内容记录下来,这样后续在需要用到的时候就可以避免从头进行学习,而去看自己之前…

鸿蒙OS开发实例:【ArkTS类库多线程I/O密集型任务开发】

使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。 I/O密集型任务的性能重点通常不在于CPU的处理能力,而在于I/O操作的速度和效率。…

ESP8266 WiFi物联网智能插座—上位机软件实现

1、软件架构 上位机主要作为下位机数据上传服务端以及节点调试的控制端,可以等效认为是专属版本调试工具。针对智能插座协议,对于下位机进行可视化监测和管理。 软件技术架构如下,主要为针对 Windows 的PC 端应用程序,采用WPF以及…

HCIA复习

OSI --开放式系统互联参考模型 --- 7层参考模型 TCP/IP协议栈道 --- 4层或5层 OSI: 应用层 抽象语言 -->编码 表示层 编码-->二进制 表示层以下都是二进制-----data(数据) 会话层 提供应用程序的会话地址 上三层为应用…

七、函数的使用方法

函数的调用 nameinput()#输入参数并赋值name print(name)#d打印name 格式:返回值函数名(参数) def get_sum(n):#形式参数计算累加和:param n::return: sumsum0for i in range(1,n1):sumiprint…

echarts 图表/SVG 图片指定位置截取

echarts 图表/SVG 图片指定位置截取 1.前期准备2.图片截取3.关于drawImage参数 需求&#xff1a;如下图所示&#xff0c;需要固定头部legend信息 1.前期准备 echarts dom渲染容器 <div :id"barchart id" class"charts" ref"barchart">&…

深入探索位图技术:原理及应用

文章目录 一、引言二、位图&#xff08;Bitset&#xff09;基础知识1、位图的概念2、位图的表示3、位图操作 三、位图的应用场景1、数据查找与存储2、数据去重与排序 四、位图的实现 一、引言 位图&#xff0c;以其高效、简洁的特性在数据处理、存储和检索等多个领域发挥着举足…

Mybatis常见面试题

1&#xff1a;Mybatis执行流程 回答&#xff1a; 读取Mybatis配置文件&#xff1a;mybatis-config.xml加载运行环境和映射文件构造会话工厂SqlSessionFactory会话工厂创建SqlSession对象&#xff08;包含了执行SQL语句的所有方法&#xff09;操作数据库的接口&#xff0c;Exec…

简单的链接中心软件yal

什么是 yal &#xff1f; yal(Yet Another Landingpage) 是一个简单的链接中心&#xff0c;用于显示和搜索链接。允许轻松打造品牌&#xff0c;以最少的权限运行并且易于使用。可以设置吉祥物和徽标&#xff08;目前是强制性的&#xff09;。 软件特点 静态生成的站点单个静态…

python通过shapely 的 valid 判断aoi图形是否有效

测试aoi坐标&#xff1a; 116.527712,39.924304;116.527123,39.924353;116.52707,39.923985;116.527685,39.92397;116.527712,39.924304 如图所示是一个有效的坐标&#xff0c;使用python代码判断是否有效&#xff1a; 代码&#xff1a; from shapely.geometry import Polyg…

CAJViewer7.3 下载地址及安装教程

CAJViewer是中国学术期刊&#xff08;CAJ&#xff09;全文数据库的专用阅读软件。CAJViewer是中国知识资源总库&#xff08;CNKI&#xff09;开发的一款软件&#xff0c;旨在方便用户在线阅读和下载CAJ数据库中的学术论文、期刊和会议论文等文献资源。 CAJViewer具有直观的界面…

2024年腾讯云服务器99元一年_老用户优惠续费不涨价

腾讯云99元一年服务器配置为轻量2核2G4M、50GB SSD盘、300GB月流量、4M带宽&#xff0c;新用户和老用户都可以购买&#xff0c;续费不涨价&#xff0c;续费价格也是99元一年。以往腾讯云优惠服务器都是新用户专享的&#xff0c;这款99元服务器老用户也可以购买&#xff0c;这是…

Spring Boot 使用 Redis

1&#xff0c;Spring 是如何集成Redis的&#xff1f; 首先我们要使用jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><gro…

ROS中IMU惯性测量单元

一、IMU惯性测量单元消息包 IMU 是安装在机器人内部的一种传感器模块&#xff0c;用于测量机器人的空间姿态。 IMU的消息包定义在sensor_msgs包中的Imu中。头部是header&#xff0c;记录了消息发送的时间戳和坐标系ID。第二个是角速度。第三个是矢量加速度。三个数据成员都各…

从姿态估计到3D动画

在本文中&#xff0c;我们将尝试通过跟踪 2D 视频中的动作来渲染人物的 3D 动画。 在 3D 图形中制作人物动画需要大量的运动跟踪器来跟踪人物的动作&#xff0c;并且还需要时间手动制作每个肢体的动画。 我们的目标是提供一种节省时间的方法来完成同样的任务。 我们对这个问题…

C++数据类型(一):一文看懂引用的本质

一.引言 函数的参数传递方式主要有传值和传指针。 1.传值 在函数域中为参数分配内存&#xff0c;而把实参的数值传递到新分配的内存中。它的优点是有效避免函数的副作用。 例如&#xff1a; #include <iostream>void swap_val(int x,int y) {int tmp;tmp x;x y;y …

P6学习:Oracle Primavera P6 OBS/责任人解析

前言 Primavera P6 EPPM 责任人用于管理 P6 企业项目组合管理 (EPPM) 系统中的项目所有权和权限。 Primavera P6 EPPM 中的所有项目都至少围绕三个结构进行组织&#xff1a;称为企业项目结构 (EPS) 的用于组织项目的结构、称为工作分解结构 (WBS) 的用于组织项目内活动的结构…

08:HAL---通用定时器功能(输入捕获功能)

前言&#xff1a; 下面的以通用定时器为例&#xff0c;当然高级定时器具有通用定时器的全部功能 ICP1S&#xff1a;上面经过分频后的信号&#xff1b;这里的捕获指的是产生一个捕获事件。 一&#xff1a;输入捕获功能 1:简历 IC&#xff08;Input Capture&#xff09;输入…