问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32 GPIO的原理、特性、选型和配置

创作时间:
作者:
@小白创作中心

STM32 GPIO的原理、特性、选型和配置

引用
CSDN
1.
https://blog.csdn.net/m0_38106923/article/details/103918647

STM32的GPIO(通用输入/输出端口)是微控制器中非常重要的外设之一,它不仅能够实现基本的输入输出功能,还支持多种模式和配置选项,以满足不同的应用场景需求。本文将详细介绍STM32 GPIO的基本结构、输入模式、输出模式以及如何进行选型和配置。

1. 基本结构

STM32的GPIO端口可以实现输入、输出、驱动、通信等多种功能。每个I/O端口位支持三种最大翻转速度(2MHz、10MHz、50MHz),并且可以自由编程。但是,I/O端口寄存器必须按32位字、半字(16位)或字节(8位)进行访问。

关键器件解析

  • 保护二极管:防止I/O引脚外部过高或过低的电压输入。当引脚电压高于VDDIOx时,上方的二极管导通;当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。
  • 开关:开关为TTL肖特基触发器,将模拟信号转化为0和1的数字信号。但当GPIO作为ADC采集电压通道时,此时信号不再经过触发器进行TTL电平转换。
  • P-MOS、N-MOS:单元电路使得GPIO具有“推挽输出”和“开漏输出”的功能。

2. 4种输入模式

STM32具有浮空输入、上拉输入、下拉输入和模拟输入4种输入模式。

  • 浮空输入模式:I/O端口的电平信号由外部输入决定,电平状态不确定,最终直接进入输入数据寄存器。浮空输入通常用于配置USART的RX引脚。
  • 上拉输入模式:I/O端口悬空(在无信号输入)的情况下,电平状态保持在高电平。当输入低电平时,电平状态是低电平,最终直接进入输入数据寄存器。
  • 下拉输入模式:I/O端口悬空(在无信号输入)的情况下,电平状态保持在低电平。当输入高电平时,电平状态是高电平,最终直接进入输入数据寄存器。
  • 模拟输入模式:I/O端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块等。模拟输入通常应用于ADC模拟输入,或者低功耗下省电等情景。

3. 4种输出模式

STM32有开漏输出、推挽输出、复用功能开漏输出和复用功能推挽输出4种输出模式。

  • 开漏输出模式:通过配置置位/复位寄存器或者输出数据寄存器的值,途经N-MOS管,最终输出到I/O端口。开漏输出只可以输出强低电平,高电平得靠外部电阻拉高,输出端相当于三极管的集电极,适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。
  • 推挽输出模式:通过配置置位/复位寄存器或者输出数据寄存器的值,P-MOS管和N-MOS管,最终输出到I/O端口。推挽输出可以输出强高、低电平,连接数字器件。
  • 复用功能开漏输出模式:原理和开漏输出模式基本一致,只不过输出的高低电平,不是由MCU配置置位/复位寄存器或者输出数据寄存器的值,而是利用片上外设模块的复用功能输出来决定的(通信接口(SPI,UART,I 2 C,USB,CAN,LCD等)、定时器、调试接口等复用)。复用功能开漏输出通常用于TX1、MOSI、MISO等引脚的配置。
  • 复用功能推挽输出模式:原理和推挽输出模式基本一致,只不过输出的高低电平,不是由MCU配置置位/复位寄存器或者输出数据寄存器的值,而是利用片上外设模块的复用功能输出来决定的。复用功能推挽输出通常用于I2C的SCL、SDA。

4. GPIO选型和配置

选择适合其应用开发的GPIO模式和配置需要考虑以下因素:

  • 功能需求:根据具体的应用场景选择输入模式还是输出模式。
  • 电平特性:考虑是否需要上拉或下拉功能。
  • 速度要求:根据信号传输速度选择合适的翻转速度。
  • 功耗考虑:在低功耗应用中,可能需要选择模拟输入模式。
  • 复用功能:如果需要使用片上外设功能,应选择相应的复用功能模式。

通过以上分析,开发者可以根据具体的应用需求,合理选择和配置STM32的GPIO,以实现最佳的系统性能和功能。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号