整理笔记——推挽输出、开漏输出

news2024/9/23 3:13:36

        在使用MCU时,常看到配置IO口为推挽输出、开漏输出,以STM32为例,IO口有一下集中模式,单片机的内部电路简化图如下:

        1.推挽输出

        2.开漏输出

        3.复用推挽输出

        4.复用开漏输出

一、推挽输出

推挽电路的示意图:

        当IN输入低电平时,P-MOS导通,N-MOS截止,此时OUT输出的电压是VDD,高电平;

        当IN输入高电平时,N-MOS导通,P-MOS截止,此时OUT输出的电压是VSS,低电平;

        用推挽输出模式,可以得到一个明确的高电平或者低电平,可以实现高低电平的快速切换。在实际使用时,经常用IO口的高低电平去驱动一个LED或者是蜂鸣器,使用的就是MCU的推挽输出模式。

        推挽输出驱动LED时,LED接地,此时电流的方向是从MCU往外输出,这个电流称为拉电流

     

          反之,推挽输出驱动LED时,LED接电源,此时电流的方向是从外往MCU输入,这个电流成为灌电流

        不管是灌电流还是拉电流,都是针对IO口作为输出模式而言的,它们是衡量电路驱动能力的重要参数,数据手册上可以看到这个两个参数,在实际设计电路时使用的上拉电阻或者是下拉电阻,要根据这两个参数选择阻值,从而匹配电路的输出能力

        再以实际的STM32 为例,推挽输出模式,如果MCU的IO口要输出高电平,则P-mos导通,N-mos截止,此时IO引脚上的电压就是VDD高电平。

        如果MCU的IO口要输出低电平,则N-mos导通,P-mos截止,此时IO引脚可以看做直接接了GND,所以是低电平。

        

二、开漏输出

开漏电路的示意图:

        开漏指的是场效应管的“漏极”,开漏输出就是把场效应管的漏极直接引出来作为输出引脚。

        

        开漏输出最重要的作用是:电平匹配在设计电路时不论是单片机还是外设芯片或是负载,每个个体的逻辑电平可能是不一样的,这种情况时就需要作电平的匹配,就用到了开漏输出模式。

        开漏输出模式,因为场效应管的漏极直接引出,是需要加一个外置电源的,我们可以通过外接电源的方式得到想要的电平。因为外接电源的方式,从MCU的角度来说,减轻了MCU的负担。

        例如在使用MCU自带的IIC模块时,就要求配置想要的管脚为开漏输出模式, 多个开漏输出被接在了同一个线上,下图中如果其中的某个引脚的漏极为低电平,则整个总线上都是低电平,这是“与逻辑”,所以被成为“线与”。因为IIC总线可以接很多个设备,MCU就是通过这种方式判断当前总线的状态。

        再以STM32为例:

       

        当N-MOS与P-MOS都截止时,此时的引脚就相当于连接了一个无穷大的电阻,所有IO引脚对外呈现的是高阻态,当MCU供电为3.3V,开漏输出引脚上接外部5V电源时,因为N-MOS的阻值无穷大,所以此时IO引脚上的电压就接近与5V电压。

        开漏的线与特性:当多个开漏输出链接到一起,当它们全部都输出高电平时,总线上才是高电平,但凡有一个开漏输出引脚上是低电平,总线就会被拉低。

三、复用输出模式 

        复用模式输出连接的是MCU的内部外设,例如PWM、USART、IIC。具体用复用开漏输出还是复用推挽输出,这个就要根据外设需求来设置,例如IIC在使用时需要用到线与特性,就必须在程序里配置IO引脚为复用开漏输出;像UART或者PWM功能,需要IO口高速变化确定的高低电平,则必须配置为复用推挽输出。

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

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

相关文章

Linux系统常用指令篇---(完)

Linux系统常用指令篇—(完) 1.时间相关的指令 date显示 date 指定格式显示时间: date %Y:%m:%d date 用法: date [OPTION]… [FORMAT] 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其…

【AI】深度学习——前馈神经网络——全连接前馈神经网络

文章目录 1.1 全连接前馈神经网络1.1.1 符号说明超参数参数活性值 1.1.2 信息传播公式通用近似定理 1.1.3 神经网络与机器学习结合二分类问题多分类问题 1.1.4 参数学习矩阵求导链式法则更为高效的参数学习反向传播算法目标计算 ∂ z ( l ) ∂ w i j ( l ) \frac{\partial z^{…

ubuntu安装Chrome浏览器

切换暂存路径(具体根据自己) cd 下载/下载Chrome安装包 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb安装Chrome浏览器 sudo dpkg -i google-chrome-stable_current_amd64.deb更新包 非必须 sudo apt-get -f install 启动Chrome浏览器 …

FLIP动画做拖拽排序效果

先来看效果 index.html文件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content&quo…

系统架构设计:1论软件系统建模方法及其应用(试读)

目录 一 软件系统建模方法 1结构化建模 2信息工程建模 3面向对象建模 4功能分解法 5基于构件的开发方法 一 软件系统建模方法 软件建模体现了软件设计的思想&#xff0c;是连接需求和实现的桥梁&#xff0c;用于指导软件的具体实现。软件模型不是软件系统的完备表示&…

【Pytorch模型可视化】Netron可视化pytorch框架下的模型

文章目录 1. 下载Netron2. pth/pt转onnx3. 可视化实现 1. 下载Netron github 下载链接&#xff1a;https://github.com/lutzroeder/Netron 打开上面网页&#xff0c;显示界面中的 Windows&#xff1a;Download 处点击直接下载 .exe 可执行文件。 如果觉得下载麻烦&#xff0c…

常见的通用型项目管理软件推荐

常用项目管理软件有很多。按适合的行业来分&#xff0c;有针对各种垂直行业定制的&#xff0c;也有全行业通用的。从厂商来看&#xff0c;有国外研发的&#xff0c;也有国内厂商的&#xff0c;体现在软件的设计思路不同&#xff0c;上手的手感也很不一样。从体量来看&#xff0…

dom-to-image库是如何将html转换成图片的

dom-to-image库可以帮你把dom节点转换为图片&#xff0c;它的核心原理很简单&#xff0c;就是利用svg的foreignObject标签能嵌入html的特性&#xff0c;然后通过img标签加载svg&#xff0c;最后再通过canvas绘制img实现导出&#xff0c;好了&#xff0c;本文到此结束。 另一个…

SpringBoot之使用Redis和注解实现接口幂等性

文章目录 1 接口幂等性1.1 概念1.2 实现思路1.3 代码实现1.3.1 pom1.3.2 JedisUtil1.3.3 自定义注解ApiIdempotent1.3.4 ApiIdempotentInterceptor拦截器1.3.5 TokenServiceImpl1.3.6 TestApplication 1.4 测试验证1.4.1 获取token的控制器TokenController1.4.2 TestController…

[ICCV-23] DeformToon3D: Deformable Neural Radiance Fields for 3D Toonification

pdf | code 将3D人脸风格化问题拆分为几何风格化与纹理风格化。提出StyleField&#xff0c;学习以风格/ID为控制信号的几何形变残差&#xff0c;实现几何风格化。通过对超分网络引入AdaIN&#xff0c;实现纹理风格化。由于没有修改3D GAN空间&#xff0c;因此可以便捷实现Edit…

Matlab导入log(或txt)文件,提取数据或其他信息

导入log&#xff08;或txt)文件 先上代码&#xff1a; clc; clear; %数据导入 file1fullfile(文件路径, test1.log); % 导入文件test1.log f1fopen(file1); dt1textscan(f1,%s); %采用textscan 读取数据 %得到的dt1是元胞数组格式比如&#xff1a;有如下内容文件 导入…

java案例20:库存管理系统

思路&#xff1a; 像商场、超市这样的地方&#xff0c;都需要有自己的库房&#xff0c;并且库房商品的库存变化有专人记录&#xff0c;这样才能保证商城和超市正常运转编写程序&#xff0c;模拟库存管理系统 该系统主要包括系统首页、商品入库、商品显示和删除商品功能 每个功…

spark-03

RDD是抽象概念&#xff0c;分区是物理概念

区分 关系代数中的笛卡尔积、等值连接、自然连接(图文界面)

目录 前言1. 笛卡尔积2. 等值连接3. 自然连接 前言 深度卷积的笛卡尔积、软考高级等常出现类似这种知识点 归根到底是关系代数的数学知识 今天就专门区分一下 概念定义笛卡尔积两个关系R和S进行操作&#xff0c;产生的关系中元组个数为两个关系中元组个数之积等值联接&#…

C++QT-day3

#include <iostream> /*设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、* 指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;* 类中包含私有成员:成绩、Per类对象p1&#xff0c;* 设计这两个类的构造函数、析构函数和拷贝构造函数。*/ using namespac…

机器学习1:k 近邻算法

k近邻算法&#xff08;k-Nearest Neighbors, k-NN&#xff09;是一种常用的分类和回归算法。它基于一个简单的假设&#xff1a;如果一个样本的k个最近邻居中大多数属于某一类别&#xff0c;那么该样本也很可能属于这个类别。 k近邻算法的步骤如下&#xff1a; 输入&#xff1a…

设计模式 - 行为型模式考点篇:模板方法模式(概念 | 案例实现 | 优缺点 | 使用场景)

目录 一、行为型模式 1.1、模板方法模式 1.1.1、概念 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 一句话概括行为型模式 行为型模式&#xff1a;类或对象间如何交互、如何划分职责&#xff0c;从而更好的完成任务. 1.1、模板方法模式 1.1.1、概念 …

COCI 2021-2022 #1 - Volontiranje 题解

题目大意 让你求最多有多少个不相交的最长上升子序列。 思路 我们可以将数 a i a_i ai​ 看成一个点 ( i , a [ i ] ) (i,a[i]) (i,a[i])&#xff0c;于是我们可以按照 x x x 递增 y y y 递减考虑分层。 分层的方法就是从 1 1 1 到当前点的 LIS 即为其所在层数。 此时…

Spring源码解析——IOC之bean 的初始化

正文 一个 bean 经历了 createBeanInstance() 被创建出来&#xff0c;然后又经过一番属性注入&#xff0c;依赖处理&#xff0c;历经千辛万苦&#xff0c;千锤百炼&#xff0c;终于有点儿 bean 实例的样子&#xff0c;能堪大任了&#xff0c;只需要经历最后一步就破茧成蝶了。…

Git 学习笔记 | Git 分支

Git 学习笔记 | Git 分支 Git 学习笔记 | Git 分支分支的概念为什么要使用分支&#xff1f;常用指令 Git 学习笔记 | Git 分支 分支的概念 几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来&#xff0c;避免影响开发主线。…