GPIO配置-PIN_Speed的理解

在使用STM32的GPIO 口配置时,经常会疑惑应该选用什么样的配置模式,本文谈谈对pin_speed的理解。

根据数据手册可得,STM32提供10MHz,2MHz和50MHz三种输出速度的配置,三种配置的应用场景是怎么样的?。

1.为什么要配置引脚速度?

STM32在芯片内部的IO输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路,通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的,

当响应速度越快,功耗也就越高,同样,引脚反转的速度过快,所带来的噪声也越强了。

2.输出速度如何影响信号的噪音

信号反转频率多了功耗多很好理解,那反转速度是如何影响信号的噪音呢?

这里需要引入一个知识点
波特率 :波特率是对信号传输速率的一种度量,是线路状态更改的次数,在信息传输通道中,带数据信息的信号单元叫码元,单位时间内通过信道传输的码元数称为码元传输速率,简称波特率。

简而言之,为了提高通信的速度,则需要提高单位时间内能够传输的码元数量,而在单片机信号传输过程中,GPIO是以高低电平作为信号01的表征方式的,所以反转速度越快,单位时间能够传输的码元数量就更多了。

但是在IO口的翻转过程中,并不是瞬时反转的,电平的转换有一定的延迟,对比2MHz和10MHz可以看到不同功耗表现下,GPIO的上升时间和下降时间存在很大的不同。

如果说输出应用的信号频率为10MHz,而在IO口配置中配置了2MHz的带宽,由于存在延迟的电平转换,2MHz比10MHz能够保持在高电平的时间小了很多。

这种电平在后续信号接收中是会形成很大干扰的,接收方以10MHz的波特率去读取2MHz的信号时,很可能会读取到一个在0和1之间的电压,因为此时2MHz还没有到达高电平并保持,这种电平对于接收方是无法识别和计算的。这就是噪音产生的原因。

因此,选用适当的IO口速度配置,在功耗和需求之间平衡就显得十分重要了

比如:

2MHz:适用于低频应用,如简单的LED驱动和按键检测,能够有效降低功耗和噪声。

10MHz:中等速度设置,适合一般的数字信号处理,如USART、I2C通信。

50MHz:适用于高频信号处理,如SPI通信。此设置提供最高输出频率,但也带来较大的噪声和功耗。

相关推荐
东小东博客4 小时前
STM32 WS2812 Proteus仿真 汉字显示 SPI控制
stm32·嵌入式硬件·proteus
Jonathan_LF12 小时前
DMA使用心得-STM32
stm32·单片机·嵌入式硬件
嵌入式小站13 小时前
STM32 零基础可移植教程 07:USART 串口打印,从 CubeMX 配置到 printf 输出
stm32·单片机·嵌入式硬件
都在酒里13 小时前
STM32矩阵按键详解——4×4行列扫描与非阻塞消抖(硬件总结六)
stm32·嵌入式硬件·矩阵
都在酒里14 小时前
STM32有限状态机(FSM)详解,综合应用总结(二)
stm32·单片机·嵌入式硬件·状态机
CPETW15 小时前
RS-232 Sniffer 嗅探器 ---- UNI-T电子负载通讯协议抓取-A
网络·科技·stm32·单片机·嵌入式硬件·电子
wotaifuzao15 小时前
指针和中断不是魔法:用第一性原理看穿嵌入式底层(万字解析)
stm32·嵌入式开发·内存模型·c语言指针·arm架构·中断机制·rtos内核
m0_3771081415 小时前
stm32时钟
stm32·单片机·嵌入式硬件
星夜夏空9916 小时前
STM32单片机学习(24) —— 硬件I2C和软件I2C
stm32·单片机·学习
资深流水灯工程师16 小时前
嵌入式系统中的环形缓冲区:原理、应用与 STM32 实现
网络·stm32·嵌入式硬件