STM32单片机学习笔记1——GPIO结构解析

GPIO(general purpose intput output) 是通用输入输出端口的简称, 可以通过软件来控制其输入和输出。 STM32 芯片的 GPIO 引脚与外部设备连接起来,可以实现与外部通讯、 控制以及数据采集的功能。
结构框图如下:

在这里插入图片描述
①保护二极管
引脚内部加上这两个保护二级管可以防止引脚外部过高或过低的电压输入从而对芯片造成伤害。由于二极管有单向导通的特性,当引脚电压高于 VDD 时,上方的二极管导通吸收这个高电压, 当引脚电压低于 VSS 时, 下方的二极管导通, 防止不正常电压引入芯片导致芯片烧毁。尽管 STM32 芯片内部有这样的保护, 但并不意味着 STM32 的引脚就无所不能, 如果直接将引脚连接大功率器件, 比如电机, 那么要么电机不转, 要么烧坏芯片。

②内部上下拉电阻
从结构图可以看出,内部的上下拉电阻分别由一个开关控制,通过配置内部寄存器控制上下拉电阻开关,就可以控制引脚的默认状态电平,从而消除引脚不定状态的影响。当上拉和下拉开关都关断时,引脚处于浮空模式,此时,引脚的电压是不确定的,所以一般情况下我们都会给引脚设置成上拉或者下拉模式, 使它有一个默认状态。

③P-MOS 和 N-MOS 管
由结构图可知,输出控制单元输出状态给P-MOS 和 N-MOS 管,再将状态输出给I/O引脚。这种电路结构就让GPIO引脚具有了推挽和开漏两种输出模式。为了简化结构,我们将可 P-MOS 当作 NPN三极管, N-MOS 当作 PNP 三极管来分析。
推挽输出模式: 当输出控制单元输出高电平时, P-MOS 管导通,N-MOS管截止,I/O口输出高电平;当输出控制单元输出低电平时, P-MOS 管截止,N-MOS管导通,I/O口输出低电平。如果当不断转换输入高低电平时,两个MOS管将轮流导通,一个负责灌电流(电流输出到负载),一个负责拉电流(负载电流流向芯片),使其负载能力和开关速度都比普通的方式有很大的提高。
开漏输出模式: P-MOS管始终处于关闭状态。当输出控制单元输出低电平时,N-MOS管导通,I/O端口输出低电平;当输出控制单元输出高电平时,N-MOS管截止,I/O端口输出既不是高电平也不是低电平,我们称之为高阻态。要想I/O口输出高电平,必须外加上拉电阻。开漏模式还有一个特点就是引脚具有“线与”关系,当很多个开漏输出模式的引脚接在一起的时候,只要有一个引脚为低电平,则所有的引脚都为低电平。开漏输出模式一般应用在 I2C、 SMBUS 通讯等需要“线与” 功能的总线电路中。

④输出数据寄存器
芯片内部的输出数据寄存器。双MOS管的输入信号,即进入输出控制单元的信号就是通过输出数据寄存器来进行设定的。

⑤复用功能输出
由于 STM32 的 GPIO 引脚具有第二功能, 因此当使用复用功能的时候, 也就是通过其他外设复用功能输出信号与 GPIO 数据寄存器一起连接到输出控制单元结构, 其中梯形结构是用来选择使用复用功能还是普通 IO 口功能。

⑥输入数据寄存器
输入数据寄存器内的数据是由 IO 口经过上下拉电阻、 施密特触发器引入。 当信号经过触发器, 模拟信号将变为数字信号 0 或 1, 然后存储在输入数据寄存器中, 通过读取输入数据寄存器 GPIOx_IDR 就可以知道 IO 口的电平状态。

⑦复用功能输入
与复用功能输出相似,在复用功能输入模式时, GPIO 引脚的信号传输到 STM32 其他片上外设, 由该外设读取引脚的状态。

⑧模拟输入输出
当 GPIO 引脚用于 ADC 采集电压的输入通道时, 用作“模拟输入” 功能,此时信号是不经过施密特触发器的, 因为经过施密特触发器后信号只有 0、 1 两种状态, ADC 外设要采集到原始的模拟信号, 信号源输入必须在施密特触发器之前。 类似地, 当 GPIO 引脚用于 DAC 作为模拟电压输出通道时, 此时作为“模拟输出” 功能, DAC 的模拟信号输出就不经过双 MOS 管结构了, 模拟信号直接通过管脚输出。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值