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

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

目录

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.xdnf.cn/news/13974.html

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

相关文章

RCAgent:云故障根因分析的自主智能体工具增强型大模型

人工智能咨询培训老师叶梓 转载标明出处 由于云上计算部署的不断扩展,手动在线异常RCA工作流程,如创建故障排除工具,常常使网站可靠性工程师(SRE)应接不暇。为了提高云服务可靠性效率,一系列人工智能运维&…

PET-文件包含-FINISHED

include发生错误报warning,继续执行。require发生错误直接error,不继续执行 无视扩展名,只要能解析,就能当可执行文件执行,哪怕文件后缀或没后缀 1 条件竞争 pass17 只需要知道tmp的路径。把xieshell.jpg上传&…

基于Java+SpringBoot+Vue前后端分离课程管理系统

一、作品包含 源码数据库设计文档全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据库&…

学术界的秘密武器:Zotero7大插件推荐

还在为海量文献管理头疼吗?还在为找不到合适的插件犯愁吗?别急,今天我就要带你解锁Zotero的终极武器 - 那些让你爱不释手的必备插件! 作为一个从小白到文献管理达人的过来人,我可以负责任地说:没有这些插件,你的Zotero只能发挥一半功力!安装了这些插件,你的效率绝对能飙升! …

Linux·进程信号

信号是一种用户、OS、其他进程,向目标进程发送异步事件的一种方式。 在系统中信号是OS出场时程序员就内置好了的,因此任何进程都认识所有信号,信号产生之前,信号的处理方案就已经设定好了,一般有三种 1. 默认行为 2.…

BizDevOps:从理念到实践,贯通企业全链路协同

👆 点击蓝字 关注我们 引言 BizDevOps的概念由DevOps发展和进化而来,其目标超越了开发和运维的协同,进一步实现业务、研发和运维的全链条协作,让业务作为价值的起点及核心目标。 BizDevOps的核心驱动力在于解决效率和正确性上的割…

工厂方法模式和抽象工厂模式

序 本文主要是记录学习设计模式当中的工厂方法和抽象工厂时碰到的疑惑和对答案的探讨 刚接触时的工厂方法模式和抽象工厂模式 工厂方法模式 类图 代码 //工厂public interface TVFactory {TV produce(); }public class TclTVFactory implements TVFactory{Overridepublic T…

NVR小程序接入平台EasyNVR多品牌NVR管理工具/设备:RTMP协议摄像头的接入

随着安防技术的不断进步,越来越多的摄像头开始支持RTMP(Real Time Messaging Protocol)协议,这种协议使得视频流的实时传输和分发变得更加高效和便捷。NVR小程序接入平台EasyNVR作为一款功能强大的流媒体服务器,支持多…

硬件基础20 数模转换器D/A DAC

目录 一、DAC基本原理 二、倒T形电阻网络D/A转换器 三、权电流型D/A转换器 四、重要技术指标与参数 1、分辨率/位数 2、转换精度 (1)、比例系数误差 (2)、失调误差 3、转换速度 4、温度系数 五、DAC的应用 1、数字式可…

Memory consistency model 梳理目录

(图片来源:https://mp.weixin.qq.com/s/uz4fZgJSRNm-MIRdXgBMmw) 闲聊内存模型(Memory Model)https://blog.csdn.net/zhangshangjie1/article/details/143743250?sharetypeblogdetail&sharerId143743250&sharereferPC&sharesourcezhangshangjie1&…

WPF Prism框架

Prism 是一个开源框架,专门用于开发可扩展、模块化和可测试的企业级 XAML 应用程序,适用于 WPF(Windows Presentation Foundation)和 Xamarin Forms 等平台。它基于 MVVM(Model-View-ViewModel)设计模式&am…

智能零售柜商品识别

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

SSH远程连接工具详解

SSH远程连接工具指的是基于SSH(Secure Shell)协议进行远程连接和管理的工具。SSH是一种加密的网络协议,用于在不安全的网络环境中安全地传输数据,并实现远程访问和管理。以下是对远程SSH工具的详细解释: 一、SSH协议概…

卷积层的堆叠、Stacking堆叠法

3个3x3的卷积层串联的效果则相当于1个7x7的卷积层。那为什么选择使用3个3x3的卷积层而不是使用1个7x7的卷积层呢? (1)3个串联的3x3的卷积层,拥有比1个7x7的卷积层更少的参数,参数量是后者的(3x3x3 ) /&…

【模块一】kubernetes容器编排进阶实战之containerd安装及nerdctl客户端⼯具

安装containerd apt/yum安装 #验证仓库版本 [rootk8s-node3 ~]#apt-cache madison containerd containerd | 1.7.12-0ubuntu2~22.04.1 | https://mirrors.aliyun.com/ubuntu jammy-updates/main amd64 Packages containerd | 1.6.12-0ubuntu1~22.04.3 | https://mirrors.aliy…

公司电脑加全屏水印怎么加(怎么打水印满屏)?4个方法精选!包教包会!

在企业管理中,为了保护公司机密信息的安全,给公司电脑添加全屏水印已成为一种常见的安全措施。 全屏水印不仅可以震慑潜在的窥探者,还能在信息不慎泄露时提供追溯线索。 那么,如何给公司电脑添加全屏水印呢? 以下是4…

public or static包下的 html 丢了(404)? 你快回来! 我一人承受不来

没想到吧,我把html还是放到了jar包中~ 环境: Spring Boot 版本 2.XJava 版本 1.8.0 及以上 问题: public or static包下的 html 丢了(404)? 话不多说先上图 我的目录结构是这样的 src └─…

使用多种机器学习调参模型进行二分类建模的全流程,代做分析辅导

使用多种机器学习调参模型进行二分类建模的全流程教程 机器学习全流程分析各个模块用到的总的参数文件 0. 分析参数文件 参数文件名称:total_analysis_params_demo.xlsx ,很多分析模块都是这个总的参数文件,我的这个总的参数文件如果有更新…

国家博物馆数据的爬取(包括xlsx文件、csv文件、图片爬取)

1、请求html数据 右键检查这里静态的数据被注释掉了,只能读取一条数据 import json import pandas as pd import requests from bs4 import BeautifulSoup import csv from urllib.parse import quote # 起始网址 header={User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; …

云技术基础介绍

云技术介绍 一、云技术历史 二、云服务 三、公有云服务商 四、云分类 1. 服务层级 IaaS (基础设施即服务) PaaS (平台即服务) SaaS (软件即服务) 2. 云部署模式的分类 公有云 (Public Cloud) 私有云 (Private Cloud) 混合云 (Hybrid Cloud) 社区云 (Community Clo…