STM32L4xx系列MCU基于ARM Cortex-M4,具有FPU内核、高度灵活性和高级外设集,实现了首屈一指的超低功耗性能。这些器件非常适合电池供电的产品,所需供电电压可低至1.71V。与一般MCU只有4路时钟相比,STM32L4xx多提供了一个时钟源,具有多功能的时钟管理,5个时钟源(HSE、LSE、 LSI、HSI、MSI)可通过复位和时钟控制器(RCC)外设来管理。以下做简单介绍。
五个时钟源:HSE、LSE、 LSI、HSI、MSI
通过HSE、LSE两个外部振荡器,应用能获得高精度:
◆ HSE时钟(4至80MHz的高速外部时钟),通常用来馈送PLL,并能产生高达80MHz的CPU时钟频率,以及USB控制器和音频时钟所需的独立频率。
◆ LSE(典型的32.768kHz低速外部时钟)一般用于为实时时钟提供低功耗时钟源,不过也能用作LCD时钟。 对于多种不同的任务,STM32L4xx有3个内部振荡器可供选择:
◆ LSI时钟(32kHz低速内部时钟)是超低功耗源,能够馈送实时时钟(精度有限)、LCD控制器和独立看门狗
◆ HSI时钟(16MHz高速内部时钟)是高速电压补偿振荡器。
◆ MSI时钟(100kHz至48MHz多种速率内部时钟)是振荡器,具有可调的频率和低电流消耗。它的工作电流与频率成比例,以便最小化内部振荡器在低CPU频率下的功耗开销。
配置为PLL模式时,该振荡器利用LSE自动校准,能够实现高精度。RC48可用时,利用时钟恢复系统(HSI48):内部48MHz时钟源(HSI48)可用于驱动USB、SDMMC或RNG外设。此时钟可在MCO上输出。 此外,STM32L4xx微控制器嵌入了三个PLL,每个都具有多达3个独立输出,并可由HSI、HSE或MSI馈送。这九个输出可分别配置为:- 系统时钟- ADC接口时钟- USB时钟- 串行音频接口SAI1时钟- 串行音频接口SAI2时钟
外设时钟的选择 多个其他外设可由非系统时钟提供时钟:USARTx(x= 1、2、3、4、5),LPUART,SWPMI和I2Cx(x=1、2、3、4)接收独立时钟。 消除外设在系统时钟上的限制条件,这可降低系统和APB总线频率,并保持通信外设波特率不变,与系统时钟频率独立。- 在运行和低功耗运行模式下,所有外设时钟可单独使能或禁用。- 在睡眠和低功耗睡眠模式下,所有外设时钟也可单独使能或禁用。
HSI和LSI的校准 在成本敏感的应用中,晶体振荡器的价格可能无法忽略。出于这个原因,STM32L4xx提供了多种选择来测量内部振荡器。尽管HSI和MSI是工厂修调的,但它们能在运行时间内进一步修调0.5%个单位,以补偿因温度和电压变化引起的频率偏移。