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的指纹刷卡智能门禁系统设计(RC522 + AS608 + 蓝牙远程开锁 + 断电记忆)
人工智能·stm32·嵌入式硬件·51单片机·语音识别
@嵌入式扫地僧7 小时前
STM32 面试实战:GPIO 配置常用模式
stm32·推挽输出·上拉输入·gpio 配置·stm32 面试
LCG元7 小时前
STM32F103 I2C 驱动 DS3231 高精度 RTC 实战:BCD 码解码陷阱、闹钟状态机整定与日误差实测
stm32·嵌入式硬件·实时音视频
沐欣工作室_lvyiyi7 小时前
基于STM32的生活用水循环净化与浇灌系统(论文+源码)
stm32·软件工程·云平台·单片机毕业设计·单片机仿真·机械电子工程·伊犁师范学院
Brilliantwxx8 小时前
【STM32】 __weak 弱引用、中断标志位、异常处理与 HAL_Delay 优先级
开发语言·stm32·单片机·嵌入式硬件
离凌寒9 小时前
一、关于正点原子stm32mp157上的hdmi显示效果补充演示
stm32·单片机·嵌入式硬件
小程序设计19 小时前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全
新晨单片机设计20 小时前
S008C-基于STM32单片机无线抢答器【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·无线抢答器
Zw-awa20 小时前
Delay_us 与 Delay_ms:用 SysTick 做一把可靠的时间尺
stm32
小程序设计1 天前
基于STM32森林火灾远程监测模块设计
stm32·单片机·嵌入式硬件