STM32之GPIO四种输出模式——P-MOS和N-MOS管的工作原理——双二极管钳位保护电路——上拉电阻

GPIO

GPIO即general purpose input/output ,中文意识就是通用输入输出。

输入输出是什么?

本质就是:输入输出高低电平 (模拟信号后面再谈)。输入本质是为了获取外设的信息 ,输出本质是控制外设。

获取输入信息示例

按下低电平,松开高电平

输出高低电平控制外设示例

输出低电平,LED灯亮,输出高电平灭。

通用是什么意思?

很简单,就是大家都能用,像串口,IIC,SPI都能复用GPIO用于输入输出高低电平。

GPIO与普通引脚的关系

GPIO可以说就是普通引脚

外设宏 引脚前缀 说明
GPIOA PA PA0 ~ PA15
GPIOB PB PB0 ~ PB15
GPIOC PC PC0 ~ PC15
GPIOD PD PD0 ~ PD15
GPIOE PE PE0 ~ PE15
GPIOF PF PF0 ~ PF15
GPIOG PG PG0 ~ PG15

双二极管钳位保护电路

如图就是双二极管钳位保护电路

原理:利用了二极管的单向导电性,下面我来分析一下,假设导通电压为0.7V,电流想要流入引脚就必须在 -0.7V~+4V,当电压大于4V时达到上部二极管的导通电压,电流从引脚流向VDD,当电压小于-7V时,电流从引脚流向VSS.

GPIO的输出方式

GPIO的输出方式一般有四种

输出模式 英文全称 内部结构 工作原理 特点 典型用途
通用推挽输出 GPIO_Mode_Out_PP PMOS + NMOS 一对互补管 写 1→PMOS 导通输出高电平;写 0→NMOS 导通输出低电平 驱动能力强,主动输出高 / 低电平 LED、继电器、普通 IO 控制
通用开漏输出 GPIO_Mode_Out_OD 仅 NMOS 下拉管 写 0→NMOS 导通拉低;写 1→NMOS 截止,引脚高阻,需外部上拉才能得到高电平 支持 "线与"、电平转换 多设备共享信号线、普通开漏信号
复用推挽输出 GPIO_Mode_AF_PP 互补管,电平由外设接管 引脚不受 ODR 寄存器控制,交给片上外设输出 电气特性为推挽,驱动强 SPI 的 MOSI/MISO、串口 TX、PWM 输出
复用开漏输出 GPIO_Mode_AF_OD NMOS,电平由外设接管 外设接管引脚,电气特性为开漏 只能拉低,高电平靠外部上拉 I2C 的 SDA/SCL(最典型)

P-MOS和N-MOS管

作用

要想了解输出,必须先要了解P-MOS和N-MOS管.我先对这些名词作一些解释 ,P即positive, 积极的 , N,即negative, 消极的, MOS是金属氧化物半导体. 那它是什么?又有什么作用呢?

  • NMOS(N 沟道 MOS 管)
  • 是什么:电压控制开关。
  • 作用:导通时把引脚拉到地(低电平)。
  • PMOS(P 沟道 MOS 管)
  • 是什么:电压控制开关。
  • 作用:导通时把引脚拉到电源(高电平)。

输出原理总图

P-MOS管和N-MOS管详细原理

P-MOS管和N-MOS管的符号

  • S:source,源极,"Source"意为"源头",指这里是载流子(电子或空穴)的来源
  • D:Drain,漏极,"Drain"意为"漏出",指载流子最终从这里流出器件,D当做Destination看貌似也行,但是Destination是目的地的意思,MOS管往往不是目的地,而是一个电流路过的器件,所以官方Drain更好一些。
  • G:Gate,栅极,Gate就是门的意思,预示着开关的开启和关闭由它控制

说明一下,未来,S和D是要接VCC或者GND,G要接一个控制电路,来控制开关的打开和闭合,从而让S和D导通。未来真正的电流,是在S和D之间流动的。

P-MOS的导通过程(抽象)

N-MOS的导通过程(抽象)

P-MOS和N-MOS的链接图

上拉电阻

在开漏输出模式下 , 写0时会输出低电平 ,写1时会输出高阻态. 那么能不能在输出高阻态时输出高电平呢?可以 , 只需要在引脚外面加一个上拉电阻就行.

相关推荐
Zw-awa4 小时前
蜂鸣器为什么会响:有源、无源和低电平触发
stm32
木白CPP7 小时前
SELinux 介绍和基本使用
嵌入式硬件·安卓·安全架构
女神下凡8 小时前
芯参谋(30):EMMC eMCP 软件设计规范
arm开发·单片机·嵌入式硬件·设计规范
xingzhemengyou19 小时前
STM32F427将函数设定在固定位置
stm32·单片机·嵌入式硬件
SKH.10 小时前
ARM-uart
arm开发·单片机
@MMiL11 小时前
为什么-200 mod 4000 等于3800
单片机
殷忆枫14 小时前
基于ESP32 的局域网全双工对讲系统
单片机·嵌入式硬件·esp32·对讲系统
szxinmai主板定制专家15 小时前
工业视觉新思路:FPGA图像预处理+RK NPU推理,实现高速缺陷检测
人工智能·嵌入式硬件·fpga开发·rk3576+codesys
硅基手札15 小时前
ROS2 全面解析 - 从架构到源码
单片机·架构·机器人
Molesidy17 小时前
【Embedded Development】【高级MCU篇】基于野火STM32H750XBH6_Pro开发板的高级MCU开发学习之1点亮led
stm32·单片机·学习