一、GPIO简介
- GPIO,general-purpos IO port,通用输入输出引脚,所有的GPIO引脚都有基本的输入输出功能。
- 最基本的输出功能:STM32控制引脚输出高、低电平,实现开关控制;
- 最基本的输入功能:检测外部输入电平;
- STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制以及数据采集的功能;
- STM32的GPIO被分成很多组(PAx,PBx…),每组有16个引脚;(STM32F103ZET6有GPIOA~GPIOG共7组GPIO,该芯片一共144个引脚,其中GPIO就占了一大部分)
二、GPIO框图剖析
1.保护二极管、上下拉电阻
-
保护二极管
- 在引脚处有两个保护二极管,防止引脚外部过高或过低的电压输入。尽管有这样的保护,并不意味着STM32的引脚能直接外界大功率驱动器件,强制驱动要么电机不转,要么导致芯片烧毁,必须要加大功率及隔离电路驱动。
- 引脚电压高于VDD 时,上方二极管导通;
- 引脚电压低于VSS时,下方二极管导通;
- 在引脚处有两个保护二极管,防止引脚外部过高或过低的电压输入。尽管有这样的保护,并不意味着STM32的引脚能直接外界大功率驱动器件,强制驱动要么电机不转,要么导致芯片烧毁,必须要加大功率及隔离电路驱动。
-
GPIO引脚线经过两个保护二极管后,向上流向“输入模式”结构,向下流向“输出模式”结构;
-
上下拉电阻
- 上拉电阻的作用
- 确定默认电平(高电平),提高抗干扰能力;
- 增强驱动能力;
- 下拉电阻的作用
- 确定默认电平(低电平),提高抗干扰能力;
- 上拉电阻的作用
2. P-MOS管和N-MOS管
- P-MOS和N-MOS管组成的单元电路,使GPIO具有“推挽输出”和“开漏输出”两种模式
- 推挽输出。
- 该结构中输入高电平时—>经过反向—>上方P-MOS导通,下方N-MOS关闭,对外输出高电平;
- 该结构中输入低电平时—>经过反向—>上方P-MOS关闭,下方P-MOS导通,对玩输出低电平;
- 当引脚高低电平切换时,两个管子轮流导通,P管负责灌电流,N管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。推挽输出的低电平为0V,高电平为3.3V;
- 推挽输出。