在嵌入式系统中,STM32时钟的功能越来越强大。通过观察各个系列的时钟树,我们可以发现最早的F1系列时钟功能相对较简单,而后续的H7、G0系列则拥有更为丰富的时钟功能。
在本文中,我将重点介绍其中的PLL环节。PLL(Phase-Locked Loop,锁相环)是一种常见的时钟电路,它可以用来产生稳定的高频时钟信号。PLL环节在STM32中起着重要的作用,它可以将输入时钟信号通过倍频和分频技术来生成所需的时钟频率。
下面,让我们一起来深入探讨STM32中PLL环节的工作原理和应用。
2关于PLL
什么是PLL?
PLL:Phase Locked Loop锁相环。
PLL用于振荡器中的反馈技术,通常需要外部的输入信号与内部的振荡信号同步。
一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,由相应的器件VCO,实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时钟信号。
—来自百度百科
每一块STM32处理器至少都有一个PLL,有的甚至有好几个PLL。
比如,F4有两个PLL:
F7有三个PLL:
当然,每个MCU型号不同,其PLL数量,及功能也有差异,具体需要看相应手册。
3STM32CubeMX配置时钟树
STM32CubeMX配置时钟不用担心出错。
原因很简单,这个工具配置时钟树,如果出错,会有红色警告。
如下图:
具体每一个红色警告错误的原因,将光标移到红色警告过会有相应提示信息。
比如,输出PLLP值超过规定范围:
有这个提示信息,再也不怕配置出错了。
PLL的倍频和分频值
有人觉得前面倍频N值很大(如下图),这样会不会出问题?
答案肯定是不会。但不建议将参数N设置为最大值。
特定时钟频率
有些时候,我们要求有特定时钟频率,比如USB,ETH等。这个时候PLL参数就需要合理才行。
4STM32手册可查看PLL参数范围
STM32的时钟,在之前使用标准库,或者寄存器时,使用的晶振频率不是官方推荐的,很多人就会搞晕。
那么,就只有参看对应手册,手册上是有明确说明的。比如F4手册RCC章节,详细说明的PLL各参数值范围。
本文就写到这里,希望对你有帮助。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !