营销型网站建设的选择方式,腐女做喜欢的网站,有域名怎样建设网站,电商网站什么要求高GPIO是general purpose input output,即通用输入输出端口#xff0c;作用是负责外部器件的信息和控制外部器件工作。
GPIO有如下几个特点#xff1a;1.不同型号的IO口数量不同#xff1b;2#xff0c;反转快速#xff0c;每次翻转最快只需要两个时钟周期#xff0c;以ST…GPIO是general purpose input output,即通用输入输出端口作用是负责外部器件的信息和控制外部器件工作。
GPIO有如下几个特点1.不同型号的IO口数量不同2反转快速每次翻转最快只需要两个时钟周期以STM32F1系列为例最快速度可达50MHz3.每个IO口都可以做中断。
接下来介绍GPIO的电气特性1.工作电压范围为[2, 3.3]V 2.识别电压范围(CMOS端口)-0.3V VIL 1.164V , 1.833V VIH 3.6V3.输出电流单个IO口最大25mA。
下图为GPIO的结构图 GPIO的上半部分为输入部分下半部分为输出部分。
接下来简要介绍其工作流程
1.输入信号从IO脚输入经过保护电路后进入GPIO内部然后进入上下拉电路只是在输入状态时候设置因此在芯片处在输出状态时不需要设置上下拉比如我们的LED实验然后兵分两路上面的是模拟输入(ADC/DAC)下面再分为两路上面是复用输入至片上外设下面进入输入寄存器IDRCPU就能读取其中的信号获得信息。
2.输出
i) 执行机构如果需要输出高电平就使PMOS管导通从VDD接进高电平输出3.3V如果需要输出低电平就使NMOS管导通将VSS0V导通至外部。
ii)控制机构上面的是连接输出寄存器ODR可以通过位清除寄存器BSRR对ODR进行读写也可以直接进行读写操作然后进入二选一选择器再进入输出控制器。
接下来介绍几个重要的元件
1.保护二极管当输入过高的电压比如5VPS:必须串联一个电阻不然会烧的时候下面的保护二极管截止上面的保护二极管导通因为保护二极管的压降为0.3VVDD为3.3V所以实际输入的电压为3.6V防止了过高的电压输入如果输入一个过低的电压比如-5V同理要接电阻上面的保护二极管截止下面的保护二极管导通因为VSS为0V所以实际输入的电压为0.3V。
2.内部上下拉电阻内部上下拉电阻值为30~50kOhm当未接入的时候处于高阻态电平由外部状态控制是非稳定的状态。当该器件初始状态是高电平的时候需要一个稳定的高电位来维护这个状态于是我们选用上拉电阻如KEY0当该器件的初始状态是低电平的时候需要一个稳定的低电位来维护这个状态于是我们选用下拉电阻如WAKE_UP_KEY。
3.施密特触发器为一种整形电路可以将非标准波整形成方波。如图施密特触发器有一个正向阈值电压和一个负向阈值电压。当电压高于正向阈值电压输出为高电平当电压低于负向阈值电压的时候输出为低电平当电压处于正向和负向阈值电压之间的时候输出不改变。 4.P/N-MOS管MOS管是压控型元件通过控制栅源电压实现导通或关闭。 G:栅极S:源极D:漏极
对PMOS管来说当Vgs0时导通因为VDD为3.3V所以G极必须低于3.3V即G输出低电平时PMOS管才导通。
对NMOS管来说当Vgs0时导通因为VDD为0V所以G极必须高于3.3V即G输出高电平时NMOS管才导通。
接下来详细介绍八种模式分析
GPIO_MODE_INPUT前三种都属于
1.输入浮空GPIO_NOPULL输入用完全浮空状态不定。
上下拉电阻关闭施密特触发器打开模拟输入关闭双MOS管不导通。空闲时高阻态IO状态不稳定由外部环境决定。
2.输入上拉GPIO_PULLUP输入用用内部上拉默认为高电平。
使用上拉电阻下拉电阻关闭施密特触发器打开模拟输入关闭MOS管不导通。空闲时IO呈现高电平。
3.输入下拉GPIO_PULLDOWN输入用用内部下拉默认为低电平。
使用下拉电阻上拉电阻关闭施密特触发器打开模拟输入关闭MOS管不导通。空闲时IO呈现低电平。
PSGPIO_NOPULLGPIO_PULLUPGPIO_PULLDOWN都是在GPIO_PULL中进行设置的。
4.模拟复用输入GPIO_MODE_AF_INPUTADC/DAC
上下拉电阻关闭施密特触发器关闭模拟输入打开双MOS管不导通。专门用于模拟信号输入。
5.开漏输出GPIO_MODE_OUTPUT_OD软件IIC的SDLSCL等。
上下拉电阻关闭施密特触发器打开PMOS管关闭在ODR对应位写0时NMOS管导通输出低电平写1时不导通不导通时为高阻态。不能输出高电平必须有外部上拉电阻才能输出高电平。
6.推挽输出GPIO_MODE_OUTPUT_PP驱动能力强25mA(MAX)通用输出。
上下拉电阻关闭施密特触发器打开ODR对应位写0时NMOS管导通输出低电平写1则PMOS管导通输出高电平。可输出高低电平驱动能力强。
7.开漏复用输出GPIO_MODE_AF_OD片上外设软件IIC的SDLSCL等
上下拉电阻关闭施密特触发器打开PMOS管关闭在外设复用输出写0时NMOS管导通写1时不导通不导通时为高阻态。不能输出高电平必须有外部上拉电阻才能输出高电平。
8.推挽复用输出GPIO_MODE_AF_PP片上外设SPI的SCK,MISO,MOSI等
上下拉电阻关闭施密特触发器打开外设复用功能写0时NMOS管导通输出低电平写1则PMOS管导通输出高电平。可输出高低电平驱动能力强。
至此对GPIO的简单介绍就完成了。