PLL 的配置 在实际使用中,我们多数情况下需要将时钟源进行倍频,以使系统时钟达到一个较高的频率。倍频使用的器件就是 PLL。HC32F46xx 器件具有两个PLL:
MPLL 由 XTAL 或HRC 振荡器提供时钟信号,并具有三个不同的输出时钟: P 分频器输出用于生成系统时钟(最高达 200 MHz) 三个输出都可用于生成 USBFS、TRNG、ADC 和 I2S 时钟。 UPLL 三个输出亦可用于生成 USBFS、TRNG、ADC 和 I2S 时钟。 使用时注意以下三点:
在 HRC 或 XTAL 振荡器稳定后,再对 PLL 进行配置。 MPLL/UPLL 的分频系数 M、N、P、Q、R 可独立配置(系统时钟框图中 N 在哪?我也不知道!)。由于在 PLL 使能后 PLL 配置参数便不可更改,所以建议先对 PLL 进行配置,然后再使能。 当进入掉电和停止模式后,两个 PLL 将由硬件禁止。 基本就是对应下面的代码(这里只配置了 MPLL,**最后的完整示例里有 UPLL的配置)了:
/* 2. 设置 PLL 的时钟源为 HRC */ CLK_SetPllSource(ClkPllSrcHRC);
/* 3. MPLL config (主晶振 / pllmDiv * plln / PllpDiv = 128M). */ stcMpllCfg.pllmDiv = 16ul; stcMpllCfg.plln = 256ul; stcMpllCfg.PllpDiv = 2ul; stcMpllCfg.PllqDiv = 8ul; stcMpllCfg.PllrDiv = 2ul; CLK_MpllConfig(&stcMpllCfg); /* Enable MPLL. */ CLK_MpllCmd(Enable);
|