挽输出和开漏输出

news2024/11/20 2:43:40

GPIO口配置为输出时会有两种模式,一种叫推挽输出,一种叫开漏模式

 

三种输出状态

如下图所示为将GPIO配置为输出时的内部示意图:

由上图可以看出,GPIO的输出状态完全取决于两个MOS管Q1和Q2的导通状态:

    Q1导通、Q2关断,此时输出接VCC,输出高电平;
    Q1关断、Q2导通,此时输出接地,输出低电平;
    Q1关断、Q2关断,此时输出浮空,相对与其它点的电阻无穷大,呈现高阻态;
    Q1导通、Q2导通,此时VCC直接对地短路,会烧毁MOS管,所以此状态不会也不允许存在。

所以,将GPIO配置为输出时,其只会处于以上1、2、3三种状态(即高电平、低电平、高阻态)之一。

推挽输出

首先,我们把上文中提到的1、2两种状态(即高电平、低电平)拿出来,组成一个组合。这便是我们对GPIO输出最基本的认知,要么输出高电平,要么输出低电平。

当输出高电平时,电流按下图箭头所示流出去,我们称之为,把电流推出去。

当输出低电平时,电流按下图箭头所示流进来,我们称之为,把电流挽回来。

 

所以,所谓的推挽,其实描述的是GPIO输出高低电平时电流的一个动作而已。

开漏输出

然后我们将上文中的2、3两种状态(即低电平、高阻态)拿出来,组成一个组合。

不难发现,在2、3两种状态中Q1都是关断的,所以可以认为它就是不存在,如下图:

此时,MOS管的漏极等于啥也没接,处于一个开路状态,所以这个模式称之为开漏模式

那开漏模式有什么用呢?

改变高电平的电压
比如说现在想用这个GPIO去控制一个芯片的enable引脚,如下图所示:

后面芯片的enable引脚只支持3.3V输入,但是GPIO输出的高电平却由5V。如果用推挽模式输出5V的话就可能会把后面芯片烧毁。所以我们就需要使用开漏模式,同时外接一个上拉电阻。此时,将Q2关断时(即高阻态),enable引脚就被上拉电阻拉到了3.3V,也就是高电平,如下图所示:

同样的,当Q2导通时,enable引脚就接地被拉到了低电平。
这样便可实现5V单片机对3.3V芯片的控制。

多个GPIO控制同一个输入
如下图所示用两个GPIO去控制一个芯片的enable: 

 

如果用推挽模式的话,当上面的GPIO输出高电平,下面的GPIO输出低电平时,两个GPIO之间就短路了,会烧毁MOS管。
此时,我门将两个GPIO设置为开漏模式,再外接一个上拉电阻,如图:

 

这样的话,只要有任意一个GPIO输出为低电平时,enable都会被拉低。只有当两个GPIO为高阻态时,enable才会被拉高。

所以,开漏输出一般都会配置一颗外部的上拉电阻。

总结

推挽输出:不需要上拉电阻,不可“线与”,不可电平转换

开漏输出:需要上拉电阻,可以进行“线与”,可以电平转换

 

 

 

 

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

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

相关文章

js 数组中和为 0 的三个数

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 …

Makerbase SimpleFOC ESP32 例程10 步进电机开环速度测试

Makerbase SimpleFOC ESP32 例程10 步进电机开环速度测试 第一部分 硬件介绍 1.1 硬件清单 序号品名数量1ESP32 FOC V1.0 主板1235HB27-401A步进电机1312V电源适配器14USB 线1 注意: 35HB27-401A是两相1.8步进电机,对应极对数为50。   硬件清单如下…

[框架]Spring框架

目录 关于Spring框架 Spring框架创建对象 Spring框架创建对象的方式之一--组件扫描 Spring框架创建对象的方式之二--Bean方法 Spring框架创建对象的方式的选取 Spring Bean的名称 Spring Bean的作用域 Spring Bean的生命周期 Spring的自动装配 关于为属性注入值的做法…

stm32或gd32移植libcanard实现UAVCAN协议

一、源码下载 1、git下载 点击我下载 2、csdn下载 自己上传的点击下载 二、源码移植 我自己是使用rt-thread操作系统移植的。但是不局限与操作系统,裸机也可以。 1、首先将源码加入到工程 2、分别实现一个内存的分配与释放函数,他是一个指针函数&…

Keras-深度学习-神经网络-电影评论情感分析模型

目录 模型搭建 模型训练 模型搭建 使用到的数据集为IMDB电影评论情感分类数据集,该数据集包含 50,000 条电影评论,其中 25,000 条用于训练,25,000 条用于测试。每条评论被标记为正面或负面情感,因此该数据集是一个二分类问题。…

AD利用嘉立创的封装

1.首先,打开元件库,搜索元器件 2.点开它的封装(符号) 3.文件-->导出-->Altium Designer 4.然后在AD上面打开这个文件 5.将其复制,粘贴放到PCB库中 6.然后在原理图中的封装管理器中,添加封装&#xf…

ODrive引脚排列

对引脚配置的更改仅在odrv0.save_configuration()和odrv0.reboot()之后生效 如果 GPIO 设置为不支持的模式,它将保持未初始化状态。 当将 GPIO 设置为特殊用途模式(例如GpioMode.UART_A)时,您还必须启用相应的功能(例如<odrv>.config.enable_uart_a)。 数字模式是一…

如何创新玩转元服务开发-趋势、分类与我们实践的方向!

一、软件发展分类与元服务&#xff08;一&#xff09;软件分类发展简要分析 软件总体分为系统软件和应用软件两大类。用户、设备、操作系统系统软件、流量入口、应用形态应用软件关系及发展见下表—— 从表中分析得知&#xff0c;从互联网时期到移动互联网主导的发展&#xff…

前端开发两年半,我裸辞了

☀️ 前言 一晃两年半过去了&#xff0c;我离开了我的第一份前端开发工作&#xff0c;当你看到这篇文章&#xff0c;我已经离职两个月了&#xff0c;目前仍在艰难求职中&#xff0c;想记录分享一下我的经历&#xff0c;感兴趣的可以继续往下看&#xff0c;希望能给大家一些启示…

学Python能做哪些副业?我一般不告诉别人!建议存好

前两天一个朋友找到我吐槽&#xff0c;说工资一发交完房租水电&#xff0c;啥也不剩&#xff0c;搞不懂朋友圈里那些天天吃喝玩乐的同龄人钱都是哪来的&#xff1f;确实如此&#xff0c;刚毕业的大学生工资起薪都很低&#xff0c;在高消费、高租金的城市&#xff0c;别说存钱&a…

C++继承机制下析构和构造函数的执行分析

析构函数在下边3种情况时被调用&#xff1a; 对象生命周期结束&#xff0c;被销毁时&#xff1b;delete指向对象的指针时&#xff0c;或delete指向对象的基类类型指针&#xff0c;而其基类虚构函数是虚函数时&#xff1b;对象i是对象o的成员&#xff0c;o的析构函数被调用时&a…

SRM 供应商管理系统都有哪些模块?

3k字干货&#xff01; SRM必备6大模块&#xff1a;供应商管理、采购需求管理、采购寻源、采购履约、交付结算。下面针对环节中的核心场景进行讲解。 1、供应商全生命周期管理 过去&#xff0c;企业业务简单&#xff0c;对接供应商数量少&#xff0c;需求供给匹配、价格合适就…

如何使用KoodousFinder搜索和分析Android应用程序中的安全威胁

关于KoodousFinder KoodousFinder是一款功能强大的Android应用程序安全工具,在该工具的帮助下,广大研究人员可以轻松对目标Android应用程序执行安全研究和分析任务,并寻找出目标应用程序中潜在的安全威胁和安全漏洞。 账号和API密钥 在使用该工具之前,我们首选需要访问该…

适合初创企业租赁的办公模式-共享办公室

随着共享经济的兴起&#xff0c;共享办公室已经成为越来越多人的选择。共享办公室提供了一个灵活、高效、舒适的工作环境&#xff0c;能够帮助个人和团队提高工作效率和创造力。下面我将从三个角度来介绍共享办公室。 共享办公室的优势 首先&#xff0c;共享办公室具有成本效益…

合肥先进光源束测步进电机及驱动器的选择

大规模电机控制的方案选择-电机和驱动器篇 在上面文档的系统里选择的是免电池带绝对值编码器的步进伺服电机方案&#xff0c;现在有些场合只是普通的步进电机就好了&#xff0c;同样从电机控制的龙头企业鸣志的产品中选择&#xff0c;依然选择现成熟的ethercat总线技术的驱动器…

深度学习模型在图像识别中的应用:CIFAR-10数据集实践与准确率分析

文章目录 前言导入所需的库忽略证书验证下载并加载 CIFAR-10 数据集数据预处理构建深度学习模型编译模型模型训练模型评估进行图片识别测试图片运行效果完整代码完结 前言 深度学习模型在图像识别领域的应用越来越广泛。通过对图像数据进行学习和训练&#xff0c;这些模型可以自…

ChatGPT独家汇总:发现最优秀的人工智能对话体验

欢迎来到我们的 ChatGPT 镜像网站汇总博客&#xff01;在这个令人激动的人工智能时代&#xff0c;ChatGPT 作为一款顶尖的语言模型&#xff0c;已经引起了全球范围内的热议。但是&#xff0c;您是否曾经为了找到最佳的 ChatGPT 使用体验而苦苦搜寻&#xff1f;别担心&#xff0…

(15)第一人称视角视频

文章目录 前言 15.1 推荐的零件 15.2 连接图示 15.3 通过任务计划器最小化OSD设置 15.4 集成式OSD 15.5 用户视频/博客 15.6 与FPV飞行特别相关的安全警告 15.7 政府/地方法规 前言 第一人称视角在飞行时为你提供了真正的飞行员视角&#xff0c;它将视频摄像机和发射器…

梯度下降求函数极小值

梯度下降求函数极小值 Himmelblau 函数表达式 ∫ ( x , y ) ( x 2 y − 11 ) 2 ( x y 2 − 7 ) 2 \int(x,y)(x^{2}y-11)^{2} (xy^{2}-7)^{2} ∫(x,y)(x2y−11)2(xy2−7)2 Himmelblau.py 绘制 import numpy as np import matplotlib.pyplot as plt# from mpl_toolkits.mp…

Redis中的缓存雪崩、击穿、穿透的原因以及解决办法

缓存雪崩、击穿、穿透一旦发生&#xff0c;会导致大量的请求积压到数据库层。如果请求的并发量很大&#xff0c;就会导致数据库宕机或是故障&#xff0c;这就是很严重的生产事故了。 俗话说&#xff0c;知己知彼&#xff0c;百战不殆。了解了问题的成因&#xff0c;我们就能够…