Web Analytics
知识广场>电子元器件原理>【干货】GPIO八种工作模式讲解,图文结合,一文带你轻松搞懂

【干货】GPIO八种工作模式讲解,图文结合,一文带你轻松搞懂

电子元器件原理发布于 阅读量 2070

   百芯EMA-国内DFM分析工具 :PCB/PCBA 3D仿真+BOM物料管理+PCB/PCBA DFM 可制造性分析

   今天给大家分享的是:GPIO八种工作模式

   GPIO 通用输入/输出端口的简称,这里以 STM32 为例进行说明,其他的单片机功能上都是大同小异,学会 STM32 的 GPIO,就可以触类旁通。GPIO 的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。

一、STM 32 的八种 GPIO 口模式

  • 1) GPIO_Mode_AIN 模拟输入;
  • 2) GPIO_Mode_IN_FLOATING 浮空输入;
  • 3) GPIO_Mode_IPD 下拉输入;
  • 4) GPIO_Mode_IPU 上拉输入;
  • 5) GPIO_Mode_Out_OD 开漏输出;
  • 6) GPIO_Mode_Out_PP 推挽输出;
  • 7) GPIO_Mode_AF_OD 复用开漏输出;
  • 8) GPIO_Mode_AF_PP 复用推挽输出。

二、STM32 普通 GPIO 内部逻辑图

STM32 普通 GPIO 内部逻辑

STM32 普通 GPIO 内部逻辑

1、保护二极管

   1IO引脚上下两边两个二极管用防止引脚外部过高、过低的电压输入。当引脚电压高于VDD时,上方的二极管导通;当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。也叫钳位二极管

2、P-MOS 管和 N-MOS 管

   由P-MOS管和N-MOS管组成的单元电路使得GPIO具有“推挽输出”和“开漏输出”的模式。

3、TTL 肖特基触发器

   信号经过触发器后,模拟信号转化为 0 和 1 的数字信号。但是,当 GPIO 引脚作为 ADC 采集电压的输入通道时,用其“模拟输入”功能,此时信号不再经过触发器进行TTL电平转换。(可以理解为一个比较器,大于某个值是1,小于某个值是0)

   查看《STM32中文参考手册V10》中的GPIO的表格时,会看到有“FT”一列,这代表着这个GPIO口时兼容3.3V和5V的;

   如果没有标注“FT”,就代表着不兼容5V。比如STM32F103VET6的GPIOE口那一组全部兼容5V,其他组是部分兼容5V。

   备注:导通路径为黄色部分。

三、STM 32 GPIO 八种工作模式

1、模拟输入 GPIO_Mode_AIN

   此模式可以检测外部输入的模拟电压,可以检测电压值,只要不高于Vcc即可。

模拟输入 GPIO_Mode_AIN

模拟输入 GPIO_Mode_AIN

2、浮空输入 GPIO_MODE_IN_FLOATIN

   此模式最常用的是检测按键,可以接收高低电平。但容易被干扰。

浮空输入 GPIO_MODE_IN_FLOATIN

浮空输入 GPIO_MODE_IN_FLOATIN

3、下拉输入GPIO_Mode_IPD

   此模式检测到电平默认为低,可以检测到由低到高的电平变化。

下拉输入GPIO_Mode_IPD

下拉输入GPIO_Mode_IPD

4、上拉输入GPIO_Mode_IPU

   此模式检测到电平默认为高,可以检测到由高到低的电平变化。

上拉输入GPIO_Mode_IPU

上拉输入GPIO_Mode_IPU

5、开漏输出GPIO_Mode_Out_OD

   开漏输出用于输出低电平,高电平靠外部上拉电阻电压决定,适用于快速切换电压的外部电路结构。

开漏输出GPIO_Mode_Out_OD

开漏输出GPIO_Mode_Out_OD

6、推挽输出GPIO_Mode_Out_PP

   推挽输出用于输出高低电平,是最常用的模式

推挽输出GPIO_Mode_Out_PP

推挽输出GPIO_Mode_Out_PP

7、复用开漏输出GPIO_Mode_AF_OD

   复用 IIC 时候选择复用开漏输出,因为开漏输出可以“线与”。

复用开漏输出GPIO_Mode_AF_OD

复用开漏输出GPIO_Mode_AF_OD

8、复用推挽输出GPIO_Mode_AF_PP

   其他复用比如 SPI 等可以选择复用推挽输出

复用推挽输出GPIO_Mode_AF_PP

复用推挽输出GPIO_Mode_AF_PP

四、什么是推挽结构和推挽电路?

   推挽结构一般是指两个参数相同的三极管或MOS管分别受两互补信号的控制,总是在一个三极管或MOS管导通的时候另一个截止。高低电平由输出电平决定。

推挽输出和开漏输出

推挽输出和开漏输出

   左侧为推挽输出,可以输出高低电平。右侧为开漏输出,只能输出低电平,高电平靠外部上拉电阻决定。

   图中所示为三极管,也可以叫开集输出(集电极开路输出),开漏输出是当这个管子为MOS管,漏极开路输出,叫开漏输出。

  • 推挽输出:上面三级管导通,输出高电平,下面三极管导通,输出低电平。
  • 开漏输出:三极管导通输出低电平,三极管截止是高阻态,电平由外部上拉电阻决定。

1、推挽输出高电平(向负载推流):

推挽输出高电平(向负载推流)

推挽输出高电平(向负载推流)

2、推挽输出低电平(从负载拉流):

推挽输出低电平(从负载拉流)

推挽输出低电平(从负载拉流)

来源:一点电子(微信公众号)

   以上就是关于 GPIO 八种工作模式,希望大家多多支持我们 EMA。

   关于电子元器件的更多内容,欢迎阅读以下文章:

    运算放大器功耗怎么计算?电路原理分析+设计实例,一文教你搞懂

    什么是积分放大器?积分放大电路教程,公式+原理,几分钟就搞懂

   

声明:文章由网站管理者撰写、整理、发布,转载必须备注来源和原文链接,如有涉及到侵权,联系我们删除。
打开文章列表 | 搜索同类文章