STM32 IO口内部电路
STM32 IO口内部电路
好的,STM32 微控制器的每个 GPIO(通用输入/输出)引脚内部都包含一个相当复杂的电路结构,用于实现多种功能和控制模式。以下是其内部电路的主要组成部分和功能的中文解释:
-
核心保护二极管:
- 钳位二极管 (Clamping Diode): 这是至关重要的保护元件。通常有两个:
- 上钳位二极管: 阳极连接到引脚,阴极连接到
VDD(或VDDIOx,取决于引脚所在的 GPIO Bank)。 - 下钳位二极管: 阴极连接到引脚,阳极连接到
VSS(地)。
- 上钳位二极管: 阳极连接到引脚,阴极连接到
- 作用: 当引脚上的电压意外地高于
VDD + 约 0.3V或低于VSS - 约 0.3V时(比如静电放电或接线错误),相应的二极管会正向导通,将电压钳位在VDD + VD或VSS - VD(VD 是二极管正向压降,约 0.3-0.7V),从而吸收瞬间的尖峰电流,保护内部敏感的 CMOS 晶体管不被击穿。注意: 这些二极管只能承受有限的电流(通常在数据手册的“绝对最大额定值”部分规定,如 ±5mA),超过这个电流可能会永久损坏二极管或引脚。
- 钳位二极管 (Clamping Diode): 这是至关重要的保护元件。通常有两个:
-
可编程上拉/下拉电阻:
- 通常包含一个上拉电阻(连接到
VDD)和一个下拉电阻(连接到VSS)。 - 作用: 通过配置 GPIO 寄存器,可以独立地启用或禁用内部上拉电阻或下拉电阻。
- 上拉使能: 当引脚配置为输入模式且外部没有驱动时,将引脚拉至高电平 (
VDD)。 - 下拉使能: 当引脚配置为输入模式且外部没有驱动时,将引脚拉至低电平 (
VSS)。 - 两者都不使能: 引脚处于浮空 (
Hi-Z) 状态(开漏输出模式下也可能用到)。
- 上拉使能: 当引脚配置为输入模式且外部没有驱动时,将引脚拉至高电平 (
- 典型值: 阻值通常在 20KΩ 到 50KΩ 之间(具体值参考数据手册),精度不高,主要用于确定默认状态,不适合做精确的模拟电路(如分压)。
- 通常包含一个上拉电阻(连接到
-
施密特触发器输入 (Schmitt Trigger Input):
- 通常是一个带有滞回特性的 CMOS 反相器或缓冲器。
- 作用:
- 整形: 将缓慢变化或带有噪声的输入信号整形成干净、陡峭的数字信号(方波)。
- 抗噪: 具有滞回电压 (
Vhys),即高电平检测阈值 (VIH) 高于低电平检测阈值 (VIL)。输入电压必须超过VIH才被识别为高,必须低于VIL才被识别为低。位于VIL和VIH之间的电压不会引起输出跳变,从而有效抑制噪声干扰。
- 关键参数:
VIL,VIH,Vhys(滞回电压)。这些值在数据手册的“电气特性”部分给出,与VDD电压有关。
-
输出驱动器:
- 这是实现输出功能的核心部分,由一个 P-channel MOSFET (PMOS) 和一个 N-channel MOSFET (NMOS) 组成,连接成一个典型的 CMOS 反相推挽输出级。
- 工作模式 (通过 GPIO 寄存器配置):
- 推挽输出模式 (Push-Pull):
- 输出高电平: PMOS 导通(栅极低电平),NMOS 截止。引脚通过 PMOS 强力拉向
VDD。 - 输出低电平: NMOS 导通(栅极高电平),PMOS 截止。引脚通过 NMOS 强力拉向
VSS。 - 特点: 能主动提供和吸收电流(驱动能力强),高低电平转换快(边沿陡峭),是数字输出最常用的模式。
- 输出高电平: PMOS 导通(栅极低电平),NMOS 截止。引脚通过 PMOS 强力拉向
- 开漏输出模式 (Open-Drain):
- 内部 PMOS 始终禁用或断开。
- 输出高电平: NMOS 截止。引脚处于高阻态 (Hi-Z)。需要外部上拉电阻 才能将引脚拉至高电平。
- 输出低电平: NMOS 导通。引脚通过 NMOS 拉向
VSS。 - 特点:
- 实现“线与”逻辑(多个开漏输出可直接连接在一起,共用一个上拉电阻)。
- 允许输出引脚驱动高于
VDD的电压(只要在安全范围内),用于电平转换或驱动如 I²C 总线等。 - 输出电平转换速度(尤其是上升沿)取决于外部上拉电阻和负载电容。
- 推挽输出模式 (Push-Pull):
- 输出速度控制: GPIO 寄存器通常允许配置输出驱动器的压摆率(Slew Rate),可选低速、中速、高速或最高速。高速模式下边沿更陡峭(交流性能好),但产生的 EMI(电磁干扰)也更大;低速模式边沿平缓,有助于减小 EMI。
-
模拟开关:
- 用于将引脚内部的模拟信号连接到 ADC、DAC 或比较器等模拟外设的输入端。
- 作用: 当 GPIO 配置为模拟输入模式或模拟输出模式(如果有 DAC)时,数字输入路径(施密特触发器)和输出驱动器会被断开,模拟开关闭合,使引脚信号直接连接到模拟外设。这是获得准确模拟信号的关键,避免了数字电路部分的干扰。
-
输入数据寄存器:
- 一个存储器(通常是触发器),锁存经过施密特触发器整形后的输入信号电平。
- 作用: CPU 或外设(如 DMA)通过读取这个寄存器的值(
GPIOx->IDR)来获取引脚当前的逻辑状态(0 或 1)。
-
输出数据寄存器:
- 一个存储器(通常是触发器),存储 CPU 或外设写入的输出值。
- 作用: 写入到这个寄存器(
GPIOx->ODR)的值决定了输出驱动器在推挽模式下的输出电平(高或低),或者在开漏模式下 NMOS 的开关状态(导通输出低,截止输出高阻)。
-
复用功能选择器:
- 一个多路复用器(MUX)。
- 作用: 决定引脚信号的来源和去向。
- 输入方向: 可以选择信号是来自引脚本身(普通 GPIO 输入),还是来自复用功能输入(来自片上外设,如 USART_RX, SPI_MISO)。
- 输出方向: 可以选择输出驱动器的数据源来自于输出数据寄存器(普通 GPIO 输出),还是来自于复用功能输出(来自片上外设,如 USART_TX, SPI_MOSI)。
-
附加功能:
- 备用功能寄存器 (
GPIOx->AFR): 控制复用功能选择器具体选择哪个复用功能信号源。 - 配置寄存器 (
GPIOx->MODER,GPIOx->OTYPER,GPIOx->OSPEEDR,GPIOx->PUPDR): 分别控制引脚的模式(输入/输出/复用/模拟)、输出类型(推挽/开漏)、输出速度、上拉/下拉电阻。 - 位设置/清除寄存器 (
GPIOx->BSRR): 提供一种原子操作(不会被中断打断)方式来单独设置 (BSRR[15:0]) 或清除 (BSRR[31:16]) ODR 的某个位,避免读-修改-写操作可能带来的风险。
- 备用功能寄存器 (
总结一下关键点:
- 保护是首要的: 钳位二极管是防止过压损坏的第一道防线(但电流有限)。
- 输入需整形抗噪: 施密特触发器确保数字输入的稳定性。
- 输出有模式可选: 推挽模式驱动能力强,开漏模式用于线与和电平转换。
- 速度可控: 输出压摆率可调以平衡速度和 EMI。
- 上下拉可配置: 确定引脚在没有外部驱动时的状态。
- 复用功能是核心: 通过 MUX 将引脚连接到丰富的片上外设。
- 模拟路径独立: 模拟模式下,数字电路被断开,信号直通 ADC/DAC/COMP。
- 寄存器配置一切: 所有模式、功能、状态都通过访问 GPIO 寄存器来控制。
理解这些内部电路对于正确配置和使用 STM32 GPIO、设计可靠的接口电路、进行电平转换以及调试硬件问题至关重要。务必查阅你所使用的具体 STM32 芯片型号的数据手册(Datasheet) 和 参考手册(Reference Manual),获取精确的电气参数(电压阈值、驱动能力、钳位电流等)、寄存器位域定义和配置细节。
电路中对该输出信号做了10K的下拉,IO口的输出高电平为3.3V,外部的下拉是否会对IO口的输出状态造成影响?
我的一个处理器IO口内部有22K的弱上拉,我的电路中对该输出信号做了10K的下拉,I
GPIO内部电路的原理
前言 笔者近日在B站刷到了一个视频,使我对GPIO的I/O口内部基本结构以及工作原理有了恍然大明白的理解,现在对此做一个总结,并为大家推荐该视频Keysking 【STM32】GPIO
2024-11-20 09:24:19
汇编MCS-51IO口内部结构
与非门、一个与门及场效应管驱动电路构成。有一定的数电基础可以分析得到:当Vgs大于一定值,场效应管导通。先分析内部结构:1.输入缓冲器:在P0口中,有两个三态的缓冲器。三态门有三个状态,即在其的输出端可以是高电平、低
资料下载
佚名
2021-11-24 15:51:06
在STM32中选用IO模式资料下载
电子发烧友网为你提供在STM32中选用IO模式资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户
资料下载
hxjq
2021-04-02 08:50:29
STM32 GPIO的工作模式
在之前围绕STM32的GPIO的基本结构进行了介绍,图1为STM32的5V容忍的GPIO口内部基本结构图,图2为GPIO的基本结构中各个模块部分
2023-04-14 10:40:14
stm32中的io函数 STM32中的IO操作
STM32系列单片机芯片的库函数有很多种,而负责IO操作的库函数是GPIO,GPIO函数在STM32单片机头文件
2021-07-22 15:29:36
浅析单片机IO口工作在高阻态的输入模式是什么状态
我们都知道单片机的双向IO口既能输入也能做输出,推挽输出时IO口能通过内部上下MOS管开关切换能输出高低电平,高阻态输入时,
2021-04-28 16:54:48
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机