开漏输出和推挽输出

在这里插入图片描述
以上是 GPIO 配置为输出时的内部示意图,我们要关注的其实就是这两个 MOS 管的开关状态,可以组合出四种状态:
在这里插入图片描述
两个 MOS 管都关闭时,输出处于一个浮空状态,此时他对其他点的电阻是无穷大的,所以这个状态也被称为高阻态;当两个 MOS 管都打开时,电源直接对地短路,MOS 管就烧毁了,所以这种状态不存在。对于一个 GPIO 来说,配置为输出时,就只能有这三种状态。

推挽输出

把 GPIO 输出的高电平和低电平拿出来,组成一个组合。
在这里插入图片描述
当我们外接一个 MOS 管时,输出高电平,电流流出去给外面的 MOS 管的栅极充电,所以这个过程称为。把电流推出去。

在这里插入图片描述
当 IO 口输出低电平时,电路流进来给外面的 MOS 管的栅极放电,这个过程就是,把电流挽回来。

所以所谓的推挽就是描述了 MOS 管输出高低电平时,电流的一个动作而已。

开漏输出

把 GPIO 输出的低电平和浮空/高阻态拿出来,组成一个组合。
在这里插入图片描述

这种组合下,上面的 MOS 管永远是关闭的,所以这个时候可以把上面当作不存在的。

在这里插入图片描述
下面的 MOS 管的漏极就等于什么都没接,属于一个开路状态,所以这个模式被称为开漏模式。
开漏模式的作用:

  1. 改变高电平的电压;
    举个例子,现在想用这个 GPIO 去控制一个芯片的 enable 引脚,但是这个 GPIO 输出的高电平是 5V。而芯片只支持 3.3V 输入,如果使用推挽模式输出高电平的话,是 5V,可能会把后面的芯片烧毁。
    在这里插入图片描述

    所以需要使用开漏模式,同时需要在外面接一个上拉电阻,这样当 MOS 关闭,也就是 GPIO 处于高阻态时,enable 就会被上拉电阻拉到 3.3V,也就是高电平;当 MOS 管打开时,enable就被 MOS 管拉到了低电平。以上实现了 5V 单片机对 3.3V 芯片的控制。

    在这里插入图片描述

  2. 支持多个 GPIO 来控制一个输入;
    在这里插入图片描述
    上面是使用两个 GPIO 来控制右边芯片的 enable。如果使用的是推挽模式,如果上面的 GPIO 输出的是高电平,下面输出的是低电平,那么左边的通路就会短路,两个 MOS 管会烧毁一个。所以需要把这两个 GPIO 都配置为开漏模式,然后再外接一个上拉电阻。这样只要有任意一个 GPIO 输出低电平时,enable 就是低电平。如果都处于高阻态,enable 就是高电平。

    上面的现象就是“线与”,只要有任意一个或多个 GPIO 输出了低电平,输出的就都是低电平;只有所有 GPIO 都输出高电平,总线才处于高电平。

总结

一个 GPIO 根据内部 MOS 管的开关情况,存在三种输出状态,分别是高电平、低电平和高阻态。
在这里插入图片描述
推挽输出,是通过开关管直接接到正极和负极的,所以是强上拉和强下拉的模式。
开漏输出是去掉强上拉的开关管,输出低电平时,下管导通,是强下拉。输出高电平时,下管断开,但是没有上管了,此时引脚处于浮空状态,也就是高阻态。
开漏输出一般都会配置一颗外部的上拉电阻。通过一个电阻拉到高电平的,属于弱上拉。弱上拉的好处:

  1. 完全杜绝了电源短路现象,保证电路的安全;
  2. 避免了引脚模式的频繁切换;开漏加弱上拉的模式,同时兼具了输入和输出的功能;想要输出,就操作 MOS 管的打开和关闭;想要输入的话,就让 MOS 管处于关闭状态,然后观察电路中的电流就可以。

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

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

相关文章

Matlab实现LSTM-SVM回归预测,作者:机器学习之心

Matlab实现LSTM-SVM回归预测,作者:机器学习之心 目录 Matlab实现LSTM-SVM回归预测,作者:机器学习之心效果一览基本介绍程序设计参考资料 效果一览 基本介绍 代码主要功能 该代码实现了一个LSTM-SVM回归预测模型,核心流…

Leetcode - 周赛 452

目录 一,3566. 等积子集的划分方案二,3567. 子矩阵的最小绝对差三,3568. 清理教室的最少移动四,3569. 分割数组后不同质数的最大数目 一,3566. 等积子集的划分方案 题目列表 本题有两种做法,dfs 选或不选…

【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(5)

1.问题描述: 集成华为一键登录的LoginWithHuaweiIDButton, 但是Button默认名字叫 “华为账号一键登录”,太长无法显示,能否简写成“一键登录”与其他端一致? 解决方案: 问题分两个场景: 一、…

Asp.Net Core SignalR的分布式部署

文章目录 前言一、核心二、解决方案架构三、实现方案1.使用 Azure SignalR Service2.Redis Backplane(Redis 背板方案)3.负载均衡配置粘性会话要求无粘性会话方案(仅WebSockets)完整部署示例(Redis Docker)性能优化技…

L2-054 三点共线 - java

L2-054 三点共线 语言时间限制内存限制代码长度限制栈限制Java (javac)2600 ms512 MB16KB8192 KBPython (python3)2000 ms256 MB16KB8192 KB其他编译器2000 ms64 MB16KB8192 KB 题目描述: 给定平面上 n n n 个点的坐标 ( x _ i , y _ i ) ( i 1 , ⋯ , n ) (x\_i…

【 java 基础知识 第一篇 】

目录 1.概念 1.1.java的特定有哪些? 1.2.java有哪些优势哪些劣势? 1.3.java为什么可以跨平台? 1.4JVM,JDK,JRE它们有什么区别? 1.5.编译型语言与解释型语言的区别? 2.数据类型 2.1.long与int类型可以互转吗&…

高效背诵英语四级范文

以下是结合认知科学和实战验证的 ​​高效背诵英语作文五步法​​,助你在30分钟内牢固记忆一篇作文,特别适配考前冲刺场景: 📝 ​​一、解构作文(5分钟)​​ ​​拆解逻辑框架​​ 用荧光笔标出&#xff…

RHEL7安装教程

RHEL7安装教程 下载RHEL7镜像 通过网盘分享的文件:RHEL 7.zip 链接: https://pan.baidu.com/s/1ExLhdJigj-tcrHJxIca5XA?pwdjrrj 提取码: jrrj --来自百度网盘超级会员v6的分享安装 1.打开VMware,新建虚拟机,选择自定义然后下一步 2.点击…

结构型设计模式之Decorator(装饰器)

结构型设计模式之Decorator(装饰器) 前言: 本案例通过李四举例,不改变源代码的情况下 对“才艺”进行增强。 摘要: 摘要: 装饰器模式是一种结构型设计模式,允许动态地为对象添加功能而不改变其…

Kotlin委托机制使用方式和原理

目录 类委托属性委托简单的实现属性委托Kotlin标准库中提供的几个委托延迟属性LazyLazy委托参数可观察属性Observable委托vetoable委托属性储存在Map中 实践方式双击back退出Fragment/Activity传参ViewBinding和委托 类委托 类委托有点类似于Java中的代理模式 interface Base…

SpringBoot接入Kimi实践记录轻松上手

kimi简单使用 什么是Kimi API 官网:https://platform.moonshot.cn/ Kimi API 并不是一个我所熟知的广泛通用的术语。我的推测是,你可能想问的是关于 API 的一些基础知识。API(Application Programming Interface,应用程序编程接…

书籍在其他数都出现k次的数组中找到只出现一次的数(7)0603

题目 给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了1次,其他的数都出现了k次,请返回只出现了1次的数。 解答: 对此题进行思路转换,可以将此题,转换成k进制数。 k进制的两个数c和d,…

React 项目初始化与搭建指南

React 项目初始化有多种方式,可以选择已有的脚手架工具快速创建项目,也可以自定义项目结构并使用构建工具实现项目的构建打包流程。 1. 脚手架方案 1.1. Vite 通过 Vite 创建 React 项目非常简单,只需一行命令即可完成。Vite 的工程初始化…

大模型模型推理的成本过高,如何进行量化或蒸馏优化

在人工智能的浪潮中,大模型已经成为推动技术革新的核心引擎。从自然语言处理到图像生成,再到复杂的多模态任务,像GPT、BERT、T5这样的庞大模型展现出了惊人的能力。它们在翻译、对话系统、内容生成等领域大放异彩,甚至在医疗、金融等行业中也开始扮演重要角色。可以说,这些…

机器学习在多介质环境中多污染物空间预测的应用研究

机器学习在多介质环境中多污染物空间预测的应用研究 1. 引言 1.1 研究背景与意义 随着工业化和城市化进程加速,环境中多种污染物的共存已成为全球性环境问题。重金属(如铅、汞、镉)、有机污染物(如多环芳烃、农药残留)和新兴污染物(如微塑料、药品残留)在空气、水体、…

图解深度学习 - 激活函数和损失函数

激活函数和损失函数在深度学习中扮演着至关重要的角色。通过选择合适的激活函数和损失函数,可以显著提高神经网络的表达能力和优化效果。 其中激活函数是神经网络中的非线性函数,用于在神经元之间引入非线性关系,从而使模型能够学习和表示复…

影响服务器稳定性的因素都有什么?

服务器的稳定性会影响到业务是否能够持续运行,用户在进行访问网站的过程中是否出现页面卡顿的情况,本文就来了解一下都是哪些因素影响着服务器的稳定性。 服务器中的硬件设备是保证服务器稳定运行的基础,企业选择高性能的处理器和大容量且高速…

TopCode之最大子数组和

题目链接 53. 最大子数组和 - 力扣(LeetCode) 题目解析 算法原理 解法1: 暴力(一个循环用来固定,一个用来找最大的子数组O(n^2),每次往后拓展一个元素就判断是否是最长的),枚举出每一种情况, 然后不断更新最大的 解法二: dp 1> dp的含义: dp[i]记…

深入解析 Flask 命令行工具与 flask run命令的使用

Flask 是一个轻量级的 Python Web 应用框架,其内置的命令行工具(CLI)基于 Click 库,提供了方便的命令行接口,用于管理和运行 Flask 应用程序。本文将详细介绍 Flask 命令行工具的功能,以及如何使用 flask r…

QFramework v1.0 Guide: 工具篇——ViewControllor, ActionKit时序动作执行系统,ResKit资源管理开发解决方案

目录 一、QFramework.Toolkits简介 二、View Controllor 1、作用 2、应用场景 3、示例 三、ActionKit时序动作执行系统 1. 用法 (1)延时回调 (2)序列执行 (3)帧延时 (4)条…