嵌入式硬件杂谈(一)-推挽 开漏 高阻态 上拉电阻

news2024/11/14 19:42:17

引言:对于嵌入式硬件这个庞大的知识体系而言,太多离散的知识点很容易疏漏,因此对于这些容易忘记甚至不明白的知识点做成一个梳理,供大家参考以及学习,本文主要针对推挽、开漏、高阻态、上拉电阻这些知识点的学习。

目录

GPIO基础

GPIIO内部结构简图

推挽的理解

开漏的理解 驱动能力强

推挽和开漏的区别

上拉电阻,到底在拉什么?

上拉电阻应用的场景

上拉电阻如何取值?

漏电流?驱动能力?是什么?


GPIO基础

下图截取的数据手册图,里面包含了GPIO的相关模式的介绍。

MCU输出时会有两种模式,一种叫做推挽模式,一种是开漏模式,对于一个GPIO要么不就是输出高电平不就是输出低电平吗,为什么还要有这两种模式,答案在后文。

GPIIO内部结构简图

如下图所示,我们要关注的也就是mos管的开关状态,枚举一下会有四种情况,如下所示:

Q1Q2OUT
opencloseHigh
closeopenLow
closecloseFloating
openopenShort Circuit

推挽的理解

当 Q1 PMOS 打开,Q2 NMOS 关闭,VCC给负载所在电路的给这颗 NMOS 的栅极供电,也就是推电流出去,输出高电平,当Q1 PMOS 关闭,Q2 NMOS打开时,负载所在的电路的NMOS栅极放电,也就是挽电流回来,这里用的是 NMOS 也就是在此专栏的硬件篇专门讲过为什么是NMOS,应用的场景也有说明,如果还是不懂可以回去看看。

开漏的理解 驱动能力强

开漏模式下不加外部上拉电阻的话如下图所示,这种情况是不能接受的。

因此我们需要加一个外部电阻,上拉电阻。

第一个就是改变高电平的电压,防止主控烧坏相关器件,例如在IIC中,我们想用主控控制一个芯片,但是主控输出的高电平为5V, 芯片引脚只支持3.3V输入 ,因此会造成芯片给烧毁等一系列不确定因素的问题了,因此我们就要使用开漏模式了,同时最主要的就是需要外接一个上拉电阻了,用来将5V拉低成3.3V。

也就是NMOS关闭就是高阻态,高电平由外部提供,打开就是低电平。

第二个作用就是可以让几个GPIO同时控制芯片,但是推挽就会造成短路。

这里补充一下,I2C总线理论上可以连接127个设备(7位地址模式),2^7 (本质就是前7位是地址后一位是方向 )减去一个设备0 就是127.

推挽和开漏的区别

输出状态直接输出高电平和低电平只输出低电平,或通过上拉电阻输出高电平
驱动方式双向驱动(高电平和低电平)只有低电平驱动(高电平由外部提供)
输出能力高驱动能力低驱动能力(需要上拉电阻)
适用场景一般的数字输出、控制信号多设备共享总线、I2C、1-Wire等
优点响应速度快,能提供较大电流支持多设备共享,避免驱动冲突
缺点不适合多个设备共享,功耗较大需要外部上拉电阻,响应速度较慢

上拉电阻,到底在拉什么?

上拉电阻应用的场景

上拉电阻都会伴随着mos管的出现,其实就是工作在开漏模式下的GPIO口,

但是如果例如相关外部芯片集成上拉电阻,我们就不用外部加了,如下图所示:

上拉电阻如何取值?

绝大部分上拉电阻都是 1K-100K 之间,电阻小的话优点就是驱动能力强,电阻大的话漏电流小。

漏电流?驱动能力?是什么?

漏电流就是mos管打开时,会形成通路,如果这个电阻是1K的话,那这边的漏电流就有5mA了,这个电流是白白浪费的,而且还会产生热量。因此阻值当然是越大越好,但是驱动能力会弱。。

何为驱动能力?

也就是低电平向高电平的电平转换的过程,虽然你看到的是一个瞬间的上升沿,但是其实刻度调大之后,低电平到高电平并不是瞬间完成的,也就是之前章节说到的爬升过程了。。也要结合相关芯片负载的硬件选型了,否则会有失真的情况了。

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

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

相关文章

二叉树面试题(C 语言)

目录 1. 单值二叉树2. 相同的树3. 对称二叉树4. 二叉树的前序遍历5. 二叉树的中序遍历6. 二叉树的后序遍历7. 另一颗树的子树8. 通过前序遍历返回中序遍历 1. 单值二叉树 题目描述: 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有…

MFC中Excel的导入以及使用步骤

参考地址 在需要对EXCEL表进行操作的类中添加以下头文件:若出现大量错误将其放入stdafx.h中 #include "resource.h" // 主符号 #include "CWorkbook.h" //单个工作簿 #include "CRange.h" //区域类,对Excel大…

【C++】类中的“默认成员函数“--构造函数、析构函数、拷贝构造、赋值运算符重载

目录 "默认"成员函数 概念引入: 一、构造函数 问题引入: 1)构造函数的概念 2)构造函数实例 3)构造函数的特性 4)关于默认生成的构造函数 (默认构造函数) 默认构造函数未完成初始化工作实例: 二…

LeetCode【0052】N皇后II

本文目录 1 中文题目2 求解方法:位运算回溯法2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 n 皇后问题 研究的是如何将 n 个皇后放置在 n n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问…

C语言-详细讲解-P1009 [NOIP1998 普及组] 高精度阶乘之和

目录 1.题目要求 2.题目解读 3.代码实现 4.一些小细节 1.数组储存大整数方式 2.memset函数介绍 3.digit与sum的关系 1.题目要求 2.题目解读 这道题本质就是高精度乘法高精度加法的结合,我之前有出过 高精度算法-保姆级讲解 希望详细了解的小伙伴可以去…

浅谈:基于三维场景的视频融合方法

视频融合技术的出现可以追溯到 1996 年 , Paul Debevec等 提出了与视点相关的纹理混合方法 。 也就是说 , 现实的漫游效果不是从摄像机的角度来看 , 但其仍然存在很多困难 。基于三维场景的视频融合 , 因其直观等特效在视频监控等相关领域有着…

Qt_day10_程序打包(完结)

目录 1. 设置图标 2. Debug和Release版本 3. 动态链接库 4. 打包 5. 联系项目要求 Qt开发的程序最终都是要给用户使用的,用户的电脑上不可能装一个Qt的开发环境导入项目使用。因此项目项目开发完成后需要打包——制作成安装包,用户直接下载并安装即可使用…

路径规划——RRT-Connect算法

路径规划——RRT-Connect算法 算法原理 RRT-Connect算法是在RRT算法的基础上进行的扩展,引入了双树生长,分别以起点和目标点为树的根节点同时扩展随机树从而实现对状态空间的快速搜索。在此算法中以两棵随机树建立连接为路径规划成功的条件。并且&…

【项目开发 | 跨域认证】JSON Web Token(JWT)

未经许可,不得转载。 文章目录 JWT设计背景:跨域认证JWT 原理JWT 结构JWT 使用方式注意JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理、结构及用法。 JWT设计背景:跨域认证 互联网服务的用户认证流程是现代应用中的核心组成部分,通常的流程…

学习笔记——PLCT:milk-v duo(持续更新)

买板子 官方标配有可能是单板(如下图)无工具包,记得买之前问一下客服。

Kubernetes-ArgoCD篇-01-简介

1、什么是Argo CD Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。 Argo CD官方文档地址:https://argo-cd.readthedocs.io Argo CD源码地址:https://github.com/argoproj/argo-cd 1.1 关于Argo Argo是一个开源的项目,主要是扩…

【Python】轻松实现机器翻译:Transformers库使用教程

轻松实现机器翻译:Transformers库使用教程 近年来,机器翻译技术飞速发展,从传统的基于规则的翻译到统计机器翻译,再到如今流行的神经网络翻译模型,尤其是基于Transformer架构的模型,翻译效果已经有了质的飞…

父子线程间传值问题以及在子线程或者异步情况下使用RequestContextHolder.getRequestAttributes()的注意事项和解决办法

用到的工具类: Slf4j Configuration Lazy(false) public class SpringContextUtil{public static HttpServletRequest getRequest() {ServletRequestAttributes servletRequestAttributes (ServletRequestAttributes) RequestContextHolder.getRequestAttributes()…

FRTC8563实时时钟芯片的作用

FRTC8563是NYFEA徕飞公司推出的一款实时时钟芯片,采用SOP-8封装形式。这种封装形式具有体积小、引脚间距小、便于集成等特点,使得FRTC8563能够方便地应用于各种电子设备中,如:安防摄像机、监控摄像机、行车记录仪、车载电子等。 F…

怎么样绑定域名到AWS(亚马逊云)服务器

1,拿着你买的域名去亚马逊申请一个证书。申请证书分两种,一种是去亚马逊后台填域名手动申请 ,另一种是通过API来申请,类似如下代码: 2、证验证书。有两种方式:一种是通过邮件,另一种去到域名提供…

从0开始深度学习(28)——序列模型

序列模型是指一类特别设计来处理序列数据的神经网络模型。序列数据指的是数据中的每个元素都有先后顺序,比如时间序列数据(股票价格、天气变化等)、自然语言文本(句子中的单词顺序)、语音信号等。 1 统计工具 前面介绍…

边缘计算在工业互联网中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在工业互联网中的应用 边缘计算在工业互联网中的应用 边缘计算在工业互联网中的应用 引言 边缘计算概述 定义与原理 发展…

蓝桥杯——杨辉三角

代码 package day3;public class Demo2 {public static void main(String[] args) {// TODO Auto-generated method stub// for (int i 0; i < 10; i) {// for (int j 0; j < 10; j) {// System.out.print("外&#xff1a;"i"内&#xff1a;&qu…

uniapp中多角色导致tabbar过多的解决方式

由于项目时间较紧张&#xff0c;找了很多却没找到特别合适的方法&#xff0c;最后使用了此方式。 一、自己封装tabbar组件 这里就不介绍怎么封装了&#xff0c;先说一下缺点&#xff1a; 1.跳转会有白屏问题&#xff08;并且搜了好多资料以及查看官网发现没有特别合适的方法…

【JVM】关于JVM的内部原理你到底了解多少(八股文面经知识点)

前言 &#x1f31f;&#x1f31f;本期讲解关于HTTPS的重要的加密原理~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话不…