【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍

翻开《STM32G4系列微控制器编程手册》 第351页
单片机通过引脚与外部设备物理连接从而进行信息的传递与交换,而这些引脚中,除了少数特定功能的引脚外,大部分属于通用输入输出端口,也就是GPIO。

1.GPIO全名通用输入输出接口(General-purpose I/Os )

2.输出状态有:

1)开漏输出和推挽输出两种模式

2)输出数据的来源可以是输出数据寄存器或者是特殊复用功能

3)I/O接口的速度可供选择

【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第1张图片

3.stm32G4系列的I/O有两种电路:

下面两图是stm32GPIO输出控制电路的内部示意图,后面的两个二极管主要是起到保护作用,单片机主要就是由控制电路图中的两个MOS管和一对上下拉电阻来实现信号的传输。
1)基础I/O电路结构(所能允许的最大电压是3.3V)
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第2张图片
2)基础I/O电路结构(所能允许的最大电压是5V)【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第3张图片

4.下面具体分析其中的输出电路部分

单片机主要通过
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第4张图片
最左边的write部分是我们通过程序去配置的部分,当write部分的内容被传送到寄存器时, 寄存器又会将字符传入< Output data register > 寄存器,然后< Output data register > 寄存器将数据通过传输线路传到复选框中(梯形位置是一个复选功能,既可以接收从< Output data register >寄存器传入的数据,也可以接收从< Alternate function output> 部分传入的数据,但此次单说通用输出功能,因此默认下边没有输入数据,则传入< Output control> 的数据只有< Output data register > 寄存器过来的数据),< Output control> 接收后会将其进行按位取反,之后分两路交给P-MOS管和N-MOS管。
【举例说明】
假设wirte部分输入的数据为“1”,则一路通过两个寄存器最终到达< Output control> 之后被按位取反为“0”,交给P-MOS管和N-MOS管,而N-MOS管是高电平导通,低电平断开,P-MOS管反之。数据流动示意图如下:
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第5张图片

当选择推挽输出模式时,此时收到“0”电平的P-MOS管导通,N-MOS管截止,所以会将P-MOS管一端的高电平推给通用I/O口,此时通用I/O口被置为高电平。电压导通路线如下:
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第6张图片
当选择开漏输出模式时,仅使用N-MOS管,此时N-MOS管为低电平截止,所以I/O口既不能连接到高电平,也无法连接到低电平,所以必须使用外部的上拉电阻或下拉电阻来确定I/O口的电平高低:
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第7张图片
如上图打开上拉电阻开关之后则可将I/O口的电平赋值为高电平,反之则为低电平。

5.推挽输出和开漏输出分别是什么:

1)推挽输出会同时使用P-MOS管和N-MOS管,根据输入数据的不同确定哪个管子导通,从而确定通用I/O口的电平。
优点:

  • 输出高低电平与电源电压基本没有压差。
  • 高低电平驱动能力较强,一般数字芯片推完输出IO口驱动电流最大可到20mA。
  • 电平切换速度快。

缺点:

  • 不支持线与

为什么推挽输出不支持线与呢:
参考下图,当上面的I/O输出1,也就是N-MOS导通,下面的I/O输出0,也就是P-MOS导通的时候,中间线与连接,由于mos管导通电阻非常小,所以几乎接近导线的作用,完全把右边的输出端口短路,电压会直接从上端的VCC流到下端N-MOS处的GND,当电流过大时,会将mos管烧毁,且同时右端的I/O口也不会接收到电平。
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第8张图片

2)开漏输出
主要使用N-MOS管,当N-MOS管导通时,输出的I/O状态是低电平;而当N-MOS管截止时,其本身相当于一个阻值无限大的电阻,所以输出的是高阻态,此时I/O是不确定的电平状态,它本身不具备高电平的输出能力。所以开漏输出一般都会在外部加上拉电阻,使其具有高电平的输出能力。常用的开漏输出电阻有1K和4.7K,开漏输出高电平的驱动能力取决于上拉电阻阻值。阻值越小,驱动能力越强。所以上下拉电阻就是将不确定的信号通过一个电阻拉到高电平或低电平,同时这个电阻还可以限制电流的大小。
优点:

  • 可以实现电平转换,输出电平取决于上拉电阻电源

  • 可以实现I/O的线与
    缺点:

  • 高电平驱动能力差,取决于外部上拉电阻

  • 电平切换速率取决于外部上拉电阻,电阻越小速度越快

为何可以实现线与功能:
参考下图,只有当上下两部分的MOS管都关断时输出才是VCC,而有一个MOS管导通时才是低电平。
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第9张图片

6.二极管的钳位功能与电压保护电路的实现

【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第10张图片
当A点的电压Va>Vf+VDD时,二极管导通,并且导通之后我们知道VDD值不会变,而二极管导通电压Vf也不会变,所以从VDD到二极管后边,直到B处,压降一直是稳定不变的,都是VDD+Vf。所以导通之后,不论A点电压再如何变大,B点的电压都会被钳位到一个固定值。
而当Va<-Vf时,下面的二极管就会导通,同样的道理会使得B点的电压一直维持在-Vf。
所以这个电路中B点的电压一直被限制在-Vf~VDD+Vf这个范围内,对B点起到很好的电压保护作用,这也电路图最后这部分的作用。
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第11张图片

7.对于电路图中的各种表示符号如何得知其含义

具体符号含义可以查阅《STM32G431RB数据手册》
从下表可以看到;
FT代表five voltage tolerant,表示5V的最大电压值
TT代表3.6V最大电压 等等
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第12张图片
也可以查阅到每一个I/O管脚的电气特性与功能。
【蓝桥杯】【嵌入式组别】第二节:stm32G4系列GPIO输出功能介绍_第13张图片

你可能感兴趣的:(蓝桥杯(嵌入式),stm32,蓝桥杯,单片机,c语言,嵌入式硬件)