锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

STM32中GPIO工作原理详解

时间:2022-11-12 09:00:00 通用三极管pnp

STM32的GPIO介绍

GPIO它是通用输入/输出端口的缩写STM32可控引脚。GPIO引脚与外部硬件设备连接,可实现与外部通信、控制外部硬件或收集外部硬件数据的功能。

STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。一般简称PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。

STM除了当时,32的大部分引脚大多是引脚GPIO除使用外,还可重复用作外设功能引脚(如串口),这部分在【STM32】STM重用32端口和重映射(AFIO辅助功能时钟) 详细介绍。

GPIO基本结构

每个GPIO内部有这样一个电路结构,本文将在下面详细介绍。

电路图分析

二极管保护:IO引脚上下两侧的两个二极管用于防止引脚外部电压输入过高或过低。当引脚电压高于VDD当引脚电压低于引脚电压时,上二极管导通;VSS下二极管导通,防止异常电压引入芯片导致芯片烧毁。但是,大功率器件不能直接外接,需要增加功率和隔离电路驱动,防止芯片烧坏或外接器件正常工作。
P-MOS管和N-MOS管:由P-MOS管和N-MOS由管道组成的单元电路使GPIO具有推拉输出和开漏输出的模式。下面将详细分析这里的电路。
TTL肖特基触发器:信号通过触发器后,模拟信号转换为0和1的数字信号。但是,当GPIO引脚作为ADC采集电压输入通道时,信号不再通过触发器进行TTL电平转换。ADC原始采集的原始模拟信号。
这里需要注意的是,在检查中《STM32中文参考手册V10》中的GPIO在表格中,你会看到FT”一列,这代表着这个GPIO口时兼容3.3V和5V如果没有标注;FT,代表不兼容5V。

STM32的GPIO工作方式

GPIO支持4种输入模式(浮空输入、上拉输入、下拉输入、模拟输入)和4种输出模式(开漏输出、开漏复用输出、推挽输出、推挽复用输出)。同时,GPIO还支持三个最大转速(2)MHz、10MHz、50MHz)。每个I/O但是I/O口寄存器必须按32位字访问。

GPIO八种工作方式

  • 浮空输入模式(浮空输入模式下,I/O端口的电平信号直接输入数据寄存器。I/O电平状态不确定,完全由外部输入决定;如果引脚悬挂(无信号输入),则不确定读取端口的电平。

  • 上拉输入模式(在上拉输入模式下,I/O端口的电平信号直接进入输入数据寄存器。I/O当端口悬挂(无信号输入)时,输入端的电平可以保持在高电平;并且在I/O当端口输入为低电平时,输入端的电平仍然很低。

下拉输入模式(下拉输入模式,I/O端口的电平信号直接进入输入数据寄存器。I/O当端口悬挂(无信号输入)时,输入端的电平可保持在低电平;并且在I/O当端口输入为高电平时,输入端的电平仍然很高。

模拟输入模式(模拟输入模式,I/O端口的模拟信号(电压信号,而不是电平信号)直接模拟输入片上的外设模块,如ADC模块等等。

泄漏输出模式(泄漏输出模式下,通过设置位置设置/清除寄存器或输出数据寄存器的值,通过N-MOS管道,最终输出I/O端口。这里要注意N-MOS当输出值设置为高电平时,N-MOS此时,管道处于关闭状态I/O端口的电平不会由输出的高低电平决定,而是由输出的高低电平决定I/O端口外部的上拉或者下拉决定;当设置输出的值为低电平的时候,N-MOS此时,管道处于开启状态I/O端口电平为低电平。同时,I/O端口的电平也可以通过输入电路读取;注意,I/O端口电平不一定是输出电平。)

开漏复用输出模式(开漏复用输出模式与开漏输出模式非常相似。只是输出高低电平的来源,不允许CPU直接编写输出数据寄存器,取而代之的是片上外设模块的复用功能输出。

推拉输出模式(推拉输出模式下,通过设置位置设置/清除寄存器或输出数据寄存器的值,通过P-MOS管和N-MOS管道,最终输出I/O端口。这里要注意P-MOS管和N-MOS当输出值设置为高电平时,P-MOS管道处于开启状态,N-MOS此时,管道处于关闭状态I/O端口的电平由P-MOS管道决定:高电平;当输出值设置为低电平时,P-MOS管道关闭,N-MOS管道处于开启状态,此时I/O端口的电平由N-MOS管道决定:低电平。同时,I/O端口的电平也可以通过输入电路读取;请注意,此时I/O端口的电平必须是输出的电平。同时,I/O端口的电平也可以通过输入电路读取;请注意,此时I/O端口电平必须是输出电平。

推挽复用的输出模式(推挽复用的输出模式与推挽复用的输出模式非常相似。只是输出高低电平的来源,不允许CPU直接编写输出数据寄存器,取而代之的是片上外设模块的复用功能输出。

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

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

推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务。电路工作时,两个对称的电源开关管每次只有一个导通,导通损耗小,效率高。输出可以向负载灌注电流,也可以从负载中提取电流。推拉输出级不仅提高了电路的负载能力,而且提高了开关速度。

泄漏输出和推拉输出的区别?

泄漏输出:只能输出强低电平,高电平必须由外部电阻提高。输出端相当于三极管的集电极。适用于电流驱动,其吸收电流的能力相对较强(一般为20ma以内);

推拉输出:可输出强高低电平,连接数字设备。

最后用最简单的图形总结推挽输出和开漏输出:

该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP以上三极管截止NPN三极管导通,输出电平VS ;当比较器输出低电时,正好相反。PNP三极管导通,输出与地面相连,电平低。右侧可理解为泄漏输出形式,需要连接拉。

STM32中的I/O模式

学习交流:769843038

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章