当前位置: 首页 > web >正文

详解开漏输出和推挽输出

开漏输出和推挽输出

在这里插入图片描述
以上是 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.xdnf.cn/news/10885.html

相关文章:

  • 【免费】2004-2020年各省电力消费量数据
  • 笔记本电脑推荐简洁版Thunderbolt-250603
  • 51c大模型~合集134
  • 常见的电子元器件字母含义
  • FreeRTOS,其历史争议、兼容性、生态、未来展望
  • 请注意:配电室电压不同,绝缘胶垫的要求也大不相同
  • 【AI论文】空间多模态大型语言模型(Spatial-MLLM):增强基于视觉的空间智能中多模态大型语言模型(MLLM)的能力
  • 后台管理系统八股
  • C#面向对象实践项目--贪吃蛇
  • Delphi字符串操作的常用函数
  • Modbus转ETHERNET IP网关:快速冷却系统的智能化升级密钥
  • uniapp+vue2+uView项目学习知识点记录
  • 实现对deepseek流式返回的json数据,进行逐字解析并实时渲染
  • 优化 Spring Boot API 性能:利用 GZIP 压缩处理大型有效载荷
  • Golang 依赖注入:构建松耦合架构的关键技术
  • Silky-CTF: 0x02靶场
  • 信创时代下的信息化项目验收:企业如何应对国产化挑战?
  • 期货反向跟单运营逻辑推导思路
  • 持续领跑中国异地组网路由器市场,贝锐蒲公英再次登顶销量榜首
  • JSON to Excel 3.0.0 版本发布 - 从Excel插件到Web应用的转变
  • 数据驱动在线教育平台优化:用数据帮你变成“教书匠+数据控”
  • 口碑对比:杭州白塔岭画室和燕壹画室哪个好?
  • 汇编语言基础: 搭建实验环境
  • DMC-E 系列总线控制卡----雷赛板卡介绍(一)
  • 数据安全合规体系构建的“三道防线“
  • P1438 无聊的数列/P1253 扶苏的问题
  • 深度学习与特征交叉:揭秘FNN与SNN在点击率预测中的应用
  • 多线程编程的黄金三角模型
  • [yolov11改进系列]基于yolov11使用图像去雾网络UnfogNet替换backbone的python源码+训练源码
  • pytorch基本运算-导数和f-string