在这里插入图片描述
VDD
:D=device 表示芯片内部工作电源(一般VDD
VSS
:S=series 表示公共连接,通常指电路公共接地端电压。
TTL肖特基触发器即为用肖特基管构成的施密特触发器,施密特触发器利用门阀电压将引脚模拟信号变成矩形信号,进行转化为0/1数字信号存入输入数据寄存器。
当引脚电压高于VDD 时,上方的二极管导通,当引脚电压低于VSS 时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。(虽有这样的保护,但不能驱动大功率器件,如直接驱动电机,电机堵转的反向电流会烧毁芯片)
- 推挽输出
PMOS栅极低电平导通,NMOS栅极高电平导通。一般PMOS源极接VDD,NMOS源极接GND。
MOS管中寄生二极管作用是防止VDD过压的情况下,烧坏mos管。
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载拉取电流。下面分析电路:
当输入为高电平时,经过反向后输出到MOS管栅极为低电平,PMOS的SD导通,OUT输出为高电平VDD
;当输如为低时,NMOS导通,OUT输出为低电平
。当引脚高低电平切换时,两个管子轮流导通,P 管负责灌电流,N 管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。
- 开漏输出
- 开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。
- 上拉电阻的阻值决定了逻辑电平转换的沿的速度 :阻值越大,速度越低,功耗越小;所以负载电阻的选择要兼顾功耗和速度。一般会带来上升沿的延时,因为上升沿是通过外接上拉电路对负载供电,所以若对延时有要求,建议用下降沿输出。
- 开漏输出可以实现线与功能,可以将多个开漏输出的Pin,经上拉电阻连接到一条总线上,实现与逻辑,主要用于IIC、SMBus总线。
线与:当在很多个开漏引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于短路接地,所以外电路逻辑电平便为0;只有当所有引脚均输出高阻态时,才由上拉电阻提供高电平,即为逻辑1。
2 GPIO模块电路结构
在这里插入图片描述
2.1 输入模式
在这里插入图片描述
- 输出驱动器关闭(N/PMOS关闭)
- 施密特触发器打开,可以获取引脚状态
- 通过寄存器使能上/下拉电阻配置输入模式下的三种状态
- 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器
- 引脚电平状态将存入输入数据寄存器
浮空输入
:上下拉电阻全断开
上拉输入
:上拉电阻打开,下拉电阻关闭
下拉输入
:下拉电阻打开,上拉电阻关闭
注意 :
- 设计按键电路时可以利用芯片内部弱上拉和下拉电阻,这样省去了外接的电阻。
- 浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定。
2.2 输出模式
在这里插入图片描述
- 输出驱动器打开
- 施密特触发器打开
- 弱上拉和下拉电阻被禁止
- 在每个APB2时钟周期,出现在I/O脚上的数据被采样到输入数据寄存器
- 在开漏模式时,对输入数据寄存器的读访问可得到I/O状态;在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。
通用推挽输出
:
- 当输出数据寄存器相应位为1时,同相端输出为1,但经过反相器(小圆圈)后,到PMOS栅极输出为0,反相端反相后输出为1,此时PMOS导通;NMOS截止,引脚输出
高电平
。( 推-灌电流 )
- 当输出数据寄存器相应位为0时,PMOS截止,NMOS导通,引脚输出
低电平
。( 挽-拉电流 )
通用开漏输出
:
开漏输出时,PMOS关闭(输出数据寄存器的1将端口置于 高阻态 ),只有NMOS工作,但是此时只能输出低电平,要输出高电平必须外加上拉电阻。
上图为加了上拉电阻的开漏输出(需用户外接):当输出数据寄存器相应位为1时,反相端输出0,此时NMOS截止,由外加的上拉电阻提供高电平
。当输出数据寄存器相应位为0时,NMOS导通,引脚输出低电平
。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
/Gather DMA模式IN端点1进行操作 寄存器的地址偏移分别是 0x900+i*0x20 0x908+i*0x20 0x910+i*0x20
发表于 07-16 16:42
•1642次阅读
STM32F4工程--IO口--GPIO寄存器详解 ----芯片:STM32F429IGT6----参考资料:正点原子视频一、基础知识1、每组IO口包含10个
发表于 01-18 06:53
DSP2812寄存器详解DSP2812寄存器详DSP2812寄存器详解解
发表于 01-08 14:17
•8次下载
STM32 GPIO寄存器ODR BSRR BRR详细介绍
发表于 07-29 10:27
•2次下载
51寄存器的所有寄存器名称,(包括寄存器每一位的作用及用法)资源详解
发表于 10-16 13:04
•14次下载
STM32的每个GPIO端口都有两个特别的寄存器,GPIOx_BSRR和GPIOx_BRR寄存器,通过这两个寄存器可以直接对对应的GPIOx端口置1
发表于 11-26 11:50
•1次下载
GPIO即通用输入/输出 (General Purpose Input Output)
包括:
两个32位的配置寄存器 GPIOx->CRL,GPIOx->CRH
两个32位的数据
发表于 01-11 09:03
•1.3w次阅读
对于GPIO端口,每个端口有16个引脚,每个引脚的模式由寄存器的四个位控制,每四位又分为两位控制引脚配置(CNFy[1:0]),两位控制引脚的模式
发表于 12-04 14:54
•1.3w次阅读
本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置三步骤(时钟配置、输入输出模式设置、最大速率设置)。
发表于 12-04 12:06
•11次下载
文章目录一、STM32F103系列芯片的地址映射和寄存器映射原理1.寄存器2.地址映射和寄存器映射原理二、GPIO端口的初始化
发表于 12-05 14:21
•10次下载
,一般高16位保留BSRR寄存器32位分为低16位BSRRL和高16位BSRRH,BSRRL配置一组IO口的16个IO口的状态(1),BSRRH配置复位状态(0)。每组GPIO端口的寄存器
发表于 12-08 17:06
•5次下载
配置寄存器使STM32最小系统板上的LED灯点亮根据原理图,要使D2点亮,需要将PC13拉低,分为以下步骤:使能GPIO的时钟配置GPIO13为输出模式配置
发表于 12-08 17:21
•3次下载
GPIO工作模式1、浮空输入模式 GPIO_Mode_IN_FLOATING引脚状态不确定,引
发表于 12-08 17:21
•7次下载
、4个 32 位配置寄存器1、GPIOx_MODER——用于选择 I/O 方向(输入、输出、AF(复用)、模拟)。2、GPIOx_OTYPER——用于选择输出类型(推挽或开漏)(IO口设置为输入时不用设置此寄存器)3、GPIOx
发表于 12-28 19:26
•0次下载
1. GPIO相关寄存器1.1 配置寄存器(CRL、CRH)1.2 数据寄存器(IDR、ODR)1.3 位设置/清除
发表于 01-17 09:33
•2次下载
评论