stm32改用内部时钟缺点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32改用内部时钟缺点相关的知识,希望对你有一定的参考价值。

STM32是一款嵌入式微控制器,它通常使用外部时钟源来保证其稳定的运行。但是,在一些特殊的应用场景下,可以考虑将STM32改用内部时钟,以简化设计和降低成本。那么,将STM32改用内部时钟的缺点有以下几个方面:

1. 稳定性较差:内部时钟受到温度、电压等因素的影响较大,相对于外部时钟,稳定性较差。这意味着系统的运行可能会受到时钟抖动的影响,从而导致计时不准确或其他问题。

2. 时钟精度不高:内部时钟的精度通常在1%左右,相对于晶体振荡器的精度要低得多。对于某些需要高精度计时的应用场景,内部时钟可能会不够准确。

3. 可靠性问题:内部时钟通常被视为备用选项,并且并不具备足够的可靠性来支持长期运行。如果系统需要进行长时间运行,使用内部时钟可能会造成不必要的风险。

综上所述,将STM32改用内部时钟的缺点主要包括稳定性较差、时钟精度不高以及可靠性问题。因此,在选择时钟源时,需要根据实际应用需求进行判断和选择。
参考技术A 使用内部时钟的缺点主要有以下几点:
1、内部时钟精度较低,一般在几十秒以内,而外部时钟精度可以达到几秒以下。
2、内部时钟运行速度受环境温度影响较大,随着温度变化可能会出现较大的偏差,而外部时钟受温度影响较小。
3、外部时钟可以保持稳定的时钟频率,而内部时钟受到微处理器速度影响,随着CPU速度的改变会对时钟脉冲产生影响。
4、外部时钟可以用来控制外设,而内部时钟只能用于系统的定时和计算操作。
5、外部时钟可以提供较高的准确性和稳定性,而内部时钟可能会因为电源波动或者其他原因而受到干扰。
参考技术B 使用内部时钟作为STM32系统时钟的主要缺点有:
1.时钟准确度不高:STM32内部时钟的准确度受到温度、湿度和电源电压等外部因素的影响,因此时钟准确度不高,可能会导致系统不稳定或出现故障。
2.时钟速率不稳定:STM32内部时钟的频率因温度、湿度和电源电压等外部因素而变化,因此时钟速率不稳定,可能会导致系统不稳定或出现故障。
3.时钟保持较长时间:STM32内部时钟保持时间较长,这可能会影响系统性能,并影响系统功能的正常运行。
4.系统启动时间较长:由于STM32内部时钟的频率不稳定,因此系统启动时间较长,可能会影响系统的效率。
5.对硬件资源占用较大:STM32内部时钟对硬件资源的占用较大,可能会降低系统的可用性。
参考技术C 内部时钟的缺点是它的时钟精度较低,而且它不能被外部时钟修正,所以它的准确性和稳定性都比外部时钟要低。另外,如果使用内部时钟,系统的稳定性也会受到一定的影响,因为它的时钟源不可靠。此外,内部时钟的时间可能会变得不准确,因为它不能根据外部环境的变化来修正时间。最后,内部时钟的工作温度范围比外部时钟要窄,所以在某些极端环境下,内部时钟可能会出现问题。

STM32 内部时钟

【中文标题】STM32 内部时钟【英文标题】:STM32 internal clocks 【发布时间】:2017-03-06 00:40:42 【问题描述】:

我对我的 STM32F7 设备(来自 STMicroelectronics 的 Cortex-M7 微控制器)上的时钟系统感到困惑。参考手册没有充分阐明这些时钟之间的差异:

SYSCLK HCLK FCLK

参考手册在章节> “RCC 以除以8 的AHB 时钟(HCLK) 馈送Cortex 系统定时器(SysTick) 的外部时钟。” 该声明与 CubeMX 的数据相矛盾。请注意,在 CubeMX 中,我可以选择自己的预分频器从 HCLK 到“Cortex System Timer”。不一定要除以 8。

【问题讨论】:

请注意 SYSCLK != SysTick。 SYSCLK 是“系统时钟”,由系统时钟生成单元 (SCGU) 生成,用于驱动 CPU 和总线。 SysTick 是 ARMv7-M 标准的“系统滴答”计时器,通常用作实时操作系统中的时基。 有趣的@claymation,感谢您的评论:-) 【参考方案1】:

通常HCLKFCLK 之间的唯一区别是:

HCLK 是主 CPU 时钟,也用于 AHB 接口。可以在 CPU 休眠时进行门控(例如 WFI) FCLKHCLK 同步,但在 CPU 进入睡眠状态时不会被门控,因此它可以在中断时唤醒。

【讨论】:

谢谢先生。 “门控”是什么意思? SYSCLK 只是一个中间时钟信号,HCLK 和 FCLK 是从中派生出来的,而不是自己实际使用的吗? 是的,这就是我从图中所理解的;所谓门控,是指在不需要时可以停止时钟以节省电量。 门控意味着它通过一个门。特别是与门,查看 RCC 寄存器中的所有时钟使能位,这些单独的外围设备/逻辑块的各个位基本上与时钟进行与运算(有时反相是与运算)。停止逻辑块上的时钟边沿可以节省大量功率,并且在“微控制器”中很常见。很难将 cortex-m7 称为微控制器,但它确实属于这一类。 注意在复位中保持某些东西并且仍然启用时钟并不一定意味着低功耗或最低功耗,因此时钟门可以防止时钟通过该块级联可能翻转组合门的实现(并消耗功率) )。 谢谢@dwelch,这真的澄清了很多:-)

以上是关于stm32改用内部时钟缺点的主要内容,如果未能解决你的问题,请参考以下文章

STM32内部时钟设置-寄存器版

用stm32设计实时时钟用内部rtc好还是时钟芯片好

STM32F103C8T6使用内部时钟作为系统时钟

stm32为啥要配置系统时钟

STM32F103想用内部时钟HSI做为系统时钟,怎么配置成36M

STM32:SysTick定时器