STM32 I/O端口的基本结构理解
文章主要依照如下红框5部分讲解。
I/O结构图如下:
①.保护二级管
当I/O引脚存在过低的电压,保护二极管会从VSS到I/O给予一个保护电压。
当I/O引脚存在过高的电压,保护二极管会从I/O将高电压引到VDD。
虽然有此保护电路但是其保护范围也是有限的,详情请见对应芯片的参考手册中的电气特性章节。
②.上下拉输入开关
编程配置控制,当驱动能力不够或者设置I/O引脚初始状态时使用程序配置。
例如程序初始引脚需要高电平,则配置打开拉高的开关。此时可配置引脚输入低电平时则将会输入低电平状态,否则一直将保持拉高状态。
③.TTL肖特基触发器
肖特基触发器作用将输入的连续信号转换为离散信号。可以从图中找到模拟信号会在该器件之前引出。
④.输出MOS管组合
可组成三种工作状态
开漏、推挽、关闭。
- List item
关闭:
关闭只需要将量个MOS管中间的out线关闭(程序配置disenable)即可。
- List item
推挽:
推挽输出下两个MOS管等价于如下电路(NPN上与下PNP管拼接)
当IN线为高电平则OUT为VDD。
当IN输出为低电平则OUT输出为低电平。
- List item
开漏输出:
由图可以看出开漏输出下常态为上拉状态即为高电平。
其实开漏输出的精华就在这个4.7k的上拉电阻上如果没有上拉电路开漏输出电路将失去输出高电平的能力。当IN准备来高电平输出时则会因为IN引脚为高电平则造成三极管截止,无法使内部高电平导出。
当想要输出低电平时只需要IN端设置为低电平即可让三极管导通接地。
⑤.控制桥
抉择数据输出的源
- List item
从通用的内部输出数据寄存器。
- List item
从复用功能的外设的寄存器。