购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 GPIO端口电路

STM32单片机有很多GPIO端口,这些端口的电路可以设置成输入模式,接受外部信号的输入,也可以设置成输出模式,将内部的信号输出。配置和访问GPIO端口可通过操作与其相关的寄存器来实现。

2.3.1 GPIO端口的基本电路结构

STM32F103ZET6单片机有GPIOA~GPIOG 7组端口,每组有16个端口(GPIO x 0~GPIO x 15, x 为A,B,…,G),这些端口的基本电路结构相同。

图2-4是某个GPIO端口的基本电路结构,VD1、VD2为保护二极管,可将GPIO引脚电压限制在 V DD ~ V SS 范围内,防止电压过高或过低。当 A 点电压(即GPIO引脚电压)高于 V DD 时,VD1导通, A 点电压被钳位在 V DD 电压上;当 A 点电压低于 V SS 时,VD2导通, A 点电压被钳位在 V SS 电压上。

2.3.2 输入模式的电路说明

GPIO端口有4种输入模式:浮空输入、上拉输入、下拉输入和模拟输入。

(1)在浮空输入模式时,开关S1、S2均断开,上拉和下接电阻均不起作用,输出驱动器关闭。输入信号途径为:GPIO引脚→ A 点→ B 点→ C 点→施密特触发器→ D 点→存放到输入数据寄存器的某个位,从该位读取的值即为GPIO引脚输入值。

图2-4 某个GPIO端口的基本电路结构

(2)在上拉输入模式时,开关S1闭合、S2断开,输出驱动器关闭,输入信号的途径与浮空输入模式相同,在GPIO引脚浮空时,该脚电压会被上拉电阻上拉到 V DD (高电平)。

(3)在输入下拉模式时,开关S1断开、S2闭合,输出驱动器关闭,输入信号的途径与浮空输入模式相同,在GPIO引脚浮空时,该脚电压会被下拉电阻下拉到 V SS (低电平)。

(4)在模拟输入模式时,开关S1、S2均断开,输出驱动器关闭。模拟输入信号途径为:GPIO引脚→ A 点→ B 点→ C 点→去片上外设的ADC(模数转换器),此模式下施密特触发器关闭,信号不会送到输入数据寄存器。

2.3.3 输出模式的电路说明

GPIO端口有4种输出模式:通用推挽输出、通用开漏输出、复用功能推挽输出和复用功能开漏输出。

(1)在通用推挽输出模式时,输出驱动器的P-MOS管(1表示通,0表示关)和N-MOS管(0表示通,1表示关)轮流工作,开关S1、S2均断开,施密特触发器打开。输出信号途径为:输出数据寄存器某个位值(1或0)→输出驱动器→ E 点→ A 点→分两路,一路到GPIO引脚,另一路经 B C 点→施密特触发器→ D 点→存放到输入数据寄存器的某个位,从该位可读取GPIO引脚的值(IO引脚的状态)。

(2)在通用开漏输出模式时,输出驱动器的P-MOS管关断,仅N-MOS管工作,开关S1、S2均断开,施密特触发器打开。输出信号的途径与通用推挽输出模式相同。

(3)在复用功能推挽输出模式时,输出驱动器的P-MOS管和N-MOS管轮流工作,开关S1、S2均断开,施密特触发器打开。输出信号途径为:某个片上外设的位值(1或0)→输出驱动器→ E 点→ A 点→分两路,一路到GPIO引脚,另一路经 B C 点→施密特触发器→ D 点→分作两路,一路存放到输入数据寄存器的某个位,另一路去其他片上外设作为复用功能输入。

(4)在复用功能开漏输出模式时,输出驱动器的P-MOS管关断,仅N-MOS管工作,开关S1、S2均断开,施密特触发器打开。输出信号的途径与复用功能推挽输出模式相同。 Efe+caGaH9jIyR7SyQysv/c/Ra+g+h1g5w5HAqRS9BTRcSYnfWAXdMRNkp42dPxY

点击中间区域
呼出菜单
上一章
目录
下一章
×