当前位置:首页 > 问问

stm32中pll是什么意思 STM32中PLL的作用是什么?

1、PLL的概念

PLL是Phase Locked Loop的缩写,翻译过来是“锁相环”,它是一种电路技术,常用于处理时钟信号的同步和频率合成。在STM32中,PLL是一个重要的时钟源。

STM32微控制器通常有两个主要的PLL:系统时钟PLL和48MHz USB时钟PLL。系统时钟PLL可以将外部晶振(HSE)或内部RC振荡器(HSI)的频率倍频,以产生高频的系统时钟。48MHz USB时钟PLL是用于产生与USB 2.0标准匹配的48MHz时钟,以便使用USB OTG(On-The-Go)接口。它们通过将输入时钟与反馈时钟进行比较并调整输出频率来锁定输入时钟和输出时钟的相位和频率。

2、PLL的工作原理

PLL由相位比较器、环路滤波器、控制电压振荡器(VCO)和分频器组成。相位比较器用来比较输入时钟和反馈时钟的相位差,环路滤波器用于滤除噪声和谐波,控制VCO的频率,将其调整到与输入时钟和反馈时钟的频率相等。

在STM32中,PLL的输入时钟可以是外部晶振(HSE)或内部RC振荡器(HSI),VCO产生高频的输出时钟,然后通过分频器将其分频得到系统时钟和48MHz USB时钟。

3、PLL的配置

在STM32中,PLL的配置需要对寄存器进行设置,主要包括RCC_CR和RCC_CFGR寄存器。其中,RCC_CR寄存器用于配置PLL的时钟源和使能PLL,RCC_CFGR寄存器用于配置PLL的倍频系数和分频系数。

具体的配置方法可以参考STM32的官方资料和参考手册,以下是一个配置HSI为输入时钟,倍频系数为4,AHB时钟分频系数为2的代码示例:

```c

RCC->CR |= RCC_CR_HSION; // 开启HSI时钟

while (!(RCC->CR & RCC_CR_HSIRDY)); // 等待HSI稳定

RCC->CR |= RCC_CR_PLLON; // 开启PLL

while (!(RCC->CR & RCC_CR_PLLRDY)); // 等待PLL稳定

RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_PLLMUL) | RCC_CFGR_PLLMUL4; // PLL倍频系数为4

RCC->CFGR |= RCC_CFGR_HPRE_DIV2; // HCLK分频系数为2

RCC->CFGR |= RCC_CFGR_SW_PLL; // 选择PLL作为系统时钟源

while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL); // 等待PLL稳定

```

4、PLL的应用

PLL在STM32中广泛应用于时钟系统和通信接口。通过配置合适的倍频系数和分频系数,可以产生适合各种应用场景的高精度时钟信号,保证系统的稳定性和可靠性。

例如,使用PLL可以通过倍频晶振的方式提供更高频率的系统时钟,从而提高处理器的运行速度。又比如,在使用SPI和I2S接口时,需要提供具有特定时钟频率和占空比的时钟信号,PLL可以用于精确地合成这些时钟信号。

总之,PLL是STM32中重要的时钟源,通过合适的配置和应用,可以提高系统的性能和可靠性。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章