microcontroller - 为什么人们不会只使用微 Controller 中的最大可用时钟

标签 microcontroller clock stm32

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




这个话题很直接,我承认我在谷歌上找不到太多东西。

最近我开始在 STM32 上编码,对于一个来自 PC 相关应用程序的人来说,设置所有时钟是相当新的。

我想知道为什么开发人员要放弃/避免最大时钟以及在哪种情况下?
说一个微 Controller 可以工作在168Mhz,我为什么要选择84Mhz?

主要是和功耗有关吗?还有其他原因吗?

为什么 STM32 团队(我猜还有微芯片)要费心在 STM32CubeMX 上设置一个非常好的 UI 来选择不同的组合?
如果我可以达到更高的工作频率,为什么我应该直接使用外部振荡器而不是 PLL 路径?

最佳答案

Is it mainly related to power consumption?



是的,主要是。更低的频率意味着更低的消耗。

也可以通过快速完成工作,然后将cpu置于休眠状态来节省电量,从而提高平均功耗,但电源可能不喜欢可变负载,并且准确计时会比较困难。

Are there any other reason?



是的。某些外设在某些频率以上无法工作。一个例子:STM32F429 内核可以运行在 180 MHz,但是没有办法为 USB 生成 48 MHz。为了使用 USB,内核必须以 168 MHz 运行。

Why should i use an external oscillator directly rather than the PLL path if i can achieve higher working frequency?



外部振荡器的精度比内部振荡器高得多,从待机状态唤醒时,PLL 可能需要很长时间才能稳定下来。这取决于应用程序的要求。

关于microcontroller - 为什么人们不会只使用微 Controller 中的最大可用时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43200485/

相关文章:

embedded - 从 USB 虚拟 Com 端口设备检测打开的 PC COM 端口

c - 为什么在 MSP430-GCC 中优先使用 int 而不是 (unsigned) char 作为小整数

qt - 可以停止并发出 qt 中耗时的计时器

c - time(NULL) 在 PIC-IoT WG 开发板上返回 0

android - android 开发者可以访问系统时钟/闹钟应用程序吗?

python - 如何在 Tkinter Python 中删除窗口背景

c - 替代一大组 if 语句?

arm - HAL_GPIO_EXTI_Callback() 中的上升沿和下降沿触发

microcontroller - 启用数据存储器 PIC 18F4550

c - 如何存储 'X' 的输出值