推挽输出与开漏输出

推挽输出与开漏输出


文章目录

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


前言

在使用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才会是高电平,处于一种“线与”状态

在这里插入图片描述


总结

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Lazarus远控组件NukeSped分析

静态信息: 样本md5:9b656f5d7e679b94e7b91fc3c4f313e4 由此可见为假的Adobe Flash Player 的攻击样本 样本分析 通过五个函数,内部调用sub_40159D函数动态获取API函数 利用IDA python解密字符串。。 完整python代码 Python> idc.get_…

扫雷(蓝桥杯)

题目描述 小明最近迷上了一款名为《扫雷》的游戏。其中有一个关卡的任务如下, 在一个二维平面上放置着 n 个炸雷,第 i 个炸雷 (xi , yi ,ri) 表示在坐标 (xi , yi) 处存在一个炸雷,它的爆炸范围是以半径为 ri 的一个圆。 为了顺利通过这片土…

Mac air 个人免费版VMWare Fusion安装及配置教程

Mac air 安装免费版VMWare Fusion教程及问题解决 1、下载VMWare Fusion2、下载wins镜像文件3、开始配置4、出现的问题及解决方法4.1 如何跳过启动时的网络连接4.2 启动后,无法连接网络怎么办4.3 怎么实现将文件拖拽到虚拟机中 当你手上是一台Mac电脑,却需…

【博弈论3——二人博弈的纳什均衡】

1.俾斯麦海之战 2. 零和博弈的定义 零和博弈(Zero-Sum Game)是一种博弈论的基本概念,指的是在博弈过程中,博弈参与者之间的收益和损失之和总是一个常数,特别是总和为零。即博弈一方的收益必然等于另一方的损失&#x…

RCG自条件是如何添加到 Pixel Generator上的?

在自条件的训练过程中,需要将图像经过Pretrained encoder的表征Rep输入进已有的Pixel Generator上,目前RCG是向四种Pixel Generator上加入了自条件,关于它是如何将rep加到Pixel Generator上的,我来总结一下: 一、Pixel…

[SpringCloud] Feign Client 的创建 (一) (四)

文章目录 1.FeignClientsRegistrar2.完成配置注册2.1 registerDefaultConfiguration方法2.2 迭代稳定性2.3 registerFeignClients方法 1.FeignClientsRegistrar FeignClientsRegistrar实现ImportBeanDefinitionRegistrar接口。 2.完成配置注册 public void registerBeanDefinit…

JQ 查看图片的好插件

效果图 插件官网 https://blog.51cto.com/transfer?https://github.com/fengyuanchen/viewer 使用 <!DOCTYPE html> <html lang"en"> <head><meta charset"utf-8"><link rel"stylesheet" href"css/viewer.c…

攻防世界——catfly

这道题我觉得很难&#xff0c;我当初刷题看见这道题&#xff0c;是唯一一道直接跳过的&#xff0c;现在掌握了一点知识才回来重新看 这道题在linux运行下是这样&#xff0c;我首先猜测是和下面这个time有关&#xff0c;判断达到一定次数就会给我flag 但是我找了好久都没找到那…

(九)信息融合方式简介

目录 前言 一、什么是信息融合&#xff1f; 二、集中式信息融合与分布式信息融合 &#xff08;一&#xff09;集中式融合 &#xff08;二&#xff09;分布式融合 1.简单信息融合 2.CI&#xff08;协方差交叉&#xff09;信息融合 3.无反馈的最优分布式融合 4.有反馈的…

反应式编程(一)什么是反应式编程

目录 一、背景二、反应式编程简介2.1 定义2.2 反应式编程的优势2.3 命令式编程 & 反应式编程 三、Reactor 入门3.1 Reactor 的核心类3.2 Reactor 中主要的方法1&#xff09;创建型方法2&#xff09;转化型方法3&#xff09;其他类型方法4&#xff09;举个例子 四、Reactor …

论文笔记:GPT-4 Is Too Smart To Be Safe: Stealthy Chat with LLMs via Cipher

ICLR 2024 reviewer评分 5688 1 论文思路 输入转换为密码&#xff0c;同时附上提示&#xff0c;将加密输入喂给LLMLLM输出加密的输出加密的输出通过解密器解密 ——>这样的步骤成功地绕过了GPT-4的安全对齐【可以回答一些反人类的问题&#xff0c;这些问题如果明文问的话&…

【C++】set和map

set和map就是我们上篇博客说的key模型和keyvalue模型。它们属于是关联式容器&#xff0c;我们之前说过普通容器和容器适配器&#xff0c;这里的关联式容器就是元素之间是有关联的&#xff0c;通过上篇博客的讲解我们也对它们直接的关系有了一定的了解&#xff0c;那么下面我们先…

蓝桥杯-python-常用库归纳

目录 日期和时间 datetime模块 date日期类&#xff0c;time时间类&#xff0c;datetime日期时间类 定义date&#xff08;年&#xff0c;月&#xff0c;日&#xff09; data之间的减法 定义时间&#xff08;时&#xff0c;分&#xff0c;秒&#xff09; 定义datetime&#xf…

42.HarmonyOS鸿蒙系统 App(ArkUI)实现横屏竖屏自适应

HarmonyOS鸿蒙系统 App(ArkUI)实现横屏竖屏自适应 媒体查询作为响应式设计的核心&#xff0c;在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景&#xff1a; 针对设备和应用的属性信息&#xff08;比如显示…

【Linux】进程实践项目 —— 自主shell编写

送给大家一句话&#xff1a; 不管前方的路有多苦&#xff0c;只要走的方向正确&#xff0c;不管多么崎岖不平&#xff0c;都比站在原地更接近幸福。 —— 宫崎骏《千与千寻》 自主shell命令编写 1 前言2 项目实现2.1 创建命令行2.2 获取命令2.3 分割命令2.4 运行命令 3 源代码…

计算机服务器中了rmallox勒索病毒怎么办?rmallox勒索病毒解密数据恢复

网络技术的不断发展与应用&#xff0c;大大提高了企业的生产运营效率&#xff0c;越来越多的企业开始网络开展各项工作业务&#xff0c;网络在为人们提供便利的同时&#xff0c;也会存在潜在威胁。近日&#xff0c;云天数据恢复中心接到多家企业的求助&#xff0c;企业的计算机…

Python内置函数enumerate()

Python的内置函数enumerate()。在学习过程中遇到了一点小问题。记录一下。 enumerate() 是 Python 中常用的内置函数之一&#xff0c;它可以用来同时遍历序列的索引和对应的值。具体来说&#xff0c;enumerate() 接受一个可迭代对象作为参数&#xff0c;返回一个包含索引和值的…

vuees6新语法

vue的学习网站&#xff1a; https://www.runoob.com/vue2/vue-tutorial.html1.Vue的介绍 学习目标 说出什么是Vue能够说出Vue的好处能够说出Vue的特点 内容讲解 【1】Vue介绍 1.vue属于一个前端框架&#xff0c;底层使用原生js编写的。主要用来进行前端和后台服务器之间的…

Holiday Notice

Holiday Notice 放假通知 要是每个公司都能放假放的多&#xff0c;把加班折算放假落实到位&#xff0c;还怕我们不努力干活&#xff0c;巴不得把全年都干完了&#xff0c;然后休息。

HCIP【GRE VPN配置】

目录 实验要求&#xff1a; 实验配置思路&#xff1a; 实验配置过程&#xff1a; 一、按照图式配置所有设备的IP地址 &#xff08;1&#xff09;首先配置每个接口的IP地址 &#xff08;2&#xff09;配置静态路由使公网可通 二、在公网的基础上创建GRE VPN隧道&#xff0…