关于STM32的GPIO配置不同输出速度会有什么影响?

发布时间:2024-08-01  

今天有人问:GPIO配置不同输出速度会有什么影响?你知道答案吗?


1写在前面

这个问题看起来比较简单,我相信很多人都能说出答案。

但是,很多人都只是停留在表面,至于深层次的含义,估计很少有人思考。

需要更深理解其中含义,可能需要结合特定场景来说,我自己也是在项目中才深刻体会其中含义。

2GPIO输出速度

不管标准外设库,还是STM32CubeMX配置GPIO输出引脚,都会有速度GPIO_InitStruct.Speed这个选项。

类似如下:

GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

根据不同MCU型号,速度选项,有些有3个,有些有4个。一般定义在xxx_gpio.h文件中。

#define GPIO_Speed_2MHz GPIO_Speed_Level_1 /*!< I/O output speed: Low 2 MHz */#define GPIO_Speed_10MHz GPIO_Speed_Level_2 /*!< I/O output speed: Medium 10 MHz */#define GPIO_Speed_50MHz GPIO_Speed_Level_3 /*!< I/O output speed: High 50 MHz */

#define GPIO_SPEED_FREQ_LOW (0x00000000u) /*!< Low speed */#define GPIO_SPEED_FREQ_MEDIUM (0x00000001u) /*!< Medium speed */#define GPIO_SPEED_FREQ_HIGH (0x00000002u) /*!< High speed */#define GPIO_SPEED_FREQ_VERY_HIGH (0x00000003u) /*!< Very high speed */

对于普通输出GPIO,使用STM32CubeMX配置,默认配置低:


当然,如果配置成其他模式,有可能是中,或高。

比如:配置UART、CAN引脚,速度会是高。

提问:你想过为什么会是低、高吗?

3实验:测量GPIO输出波形

不知道大家用示波器测量过GPIO输出波形没有,特别是在高速(单位M)的时候。

我以前经常测量MCO引脚输出时钟,测量过的人应该都知道,如果输出速度和配置速度不匹配,会明显看到波形不正常。

波形会出现不完整,幅度低等失真现象。

相信不用我说,有一定常识的人都能理解。

4具体原因

速度的配置,就是决定IO口驱动电路的响应速度。

我们需要结合实际情况配置速度,不同速度会有不同的影响。

高低速差异:

配置高速:输出频率高,噪音大,功耗高,电磁干扰强;

配置低速:输出频率低,噪音小,功耗低,电磁干扰弱;提高系统EMI(电磁干扰)性能;


看到差异,相信很多人就能理解了。

实际情况中,比如:低功耗的产品,你会考虑功耗。

环境不好的场合,通信不稳定,你会考虑电磁干扰等。

举例:

如果你使用9600波特率UART通信,建议速度配置为低。

所以,如果你想使产品更加完美,速度配置也是关键的一项。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    度时都可以获得8字型轨迹,轨迹的运动方向相反; 2. 所提出的基于8字型轨迹的超声电机,的正反向输出特性差异小于4%,推动直径为22mm转子运动时最大输出速度为1373rpm; 3. 所提出的基于8......
    件库中,定义如下所示。 LOW速率 Medium速率 High速率 Very High速率 可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。 输出......
    ,&val,1,0xFF);         val = 0x0A;     //数据输出速度为100Hz         HAL_I2C_Mem_Write(&hi2c2......
    外设GPIOF(PF6是外设GPIOF的IO引脚之一)。 将PF6配置为输出模式 将PF6的输出类型配置为推挽输出 配置PF6输出速度为低速(其他速度也可以) 配置PF6的输出数据(点亮/熄灭LED1......
    。 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//最高输出速度为50MHz GPIO_InitStructure.GPIO_Mode......
    一步巩固电子在该领域的技术地位。本文引用地址: 继2022年三星开发出速度为每秒24千兆比特(Gbps)的GDDR6 16Gb之后, 16Gb产品将提供目前为止三星的最高速度32Gbps。同时,集成电路(IC)设计......
    矢量图用时1分30秒;其输出速度与市场销售的同类型打印设备比,并不算较快者,但是已经满足了一般的商务打印要求。 爱普生系列墨仓式打印机最大......
    频率从50Hz改变到25Hz,这时变频器的输出电压就需要从400V改变到约200V   2. 当电机的旋转速度(频率)改变时,其输出转矩会怎样?  变频器驱动时的起动转矩和最大......
    故障和辅助待机状态的可视化指示。GUI和完整的用户手册可用于支持系统开发。 HDL3000-HV系列的工作电压范围为90V至264VAC。当工作电压低于180VAC(低线)时,最大输出功率为2000W......
    GDDR7显存 继2022年三星开发出速度为每秒24千兆比特(Gbps)的GDDR6 16Gb之后,GDDR7 16Gb产品将提供目前为止三星显存的最高速度32Gbps。同时,集成电路(IC)设计......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>