STM32L4xx系列MCU基于ARM Cortex-M4,具有FPU內核、高度靈活性和高級外設集,實現(xiàn)了首屈一指的超低功耗性能。這些器件非常適合電池供電的產(chǎn)品,所需供電電壓可低至1.71V。與一般MCU只有4路時鐘相比,STM32L4xx多提供了一個時鐘源,具有多功能的時鐘管理,5個時鐘源(HSE、LSE、 LSI、HSI、MSI)可通過復位和時鐘控制器(RCC)外設來管理。以下做簡單介紹。
五個時鐘源:HSE、LSE、 LSI、HSI、MSI
通過HSE、LSE兩個外部振蕩器,應用能獲得高精度:
◆ HSE時鐘(4至80MHz的高速外部時鐘),通常用來饋送PLL,并能產(chǎn)生高達80MHz的CPU時鐘頻率,以及USB控制器和音頻時鐘所需的獨立頻率。
◆ LSE(典型的32.768kHz低速外部時鐘)一般用于為實時時鐘提供低功耗時鐘源,不過也能用作LCD時鐘。 對于多種不同的任務,STM32L4xx有3個內部振蕩器可供選擇:
◆ LSI時鐘(32kHz低速內部時鐘)是超低功耗源,能夠饋送實時時鐘(精度有限)、LCD控制器和獨立看門狗
◆ HSI時鐘(16MHz高速內部時鐘)是高速電壓補償振蕩器。
◆ MSI時鐘(100kHz至48MHz多種速率內部時鐘)是振蕩器,具有可調的頻率和低電流消耗。它的工作電流與頻率成比例,以便最小化內部振蕩器在低CPU頻率下的功耗開銷。
配置為PLL模式時,該振蕩器利用LSE自動校準,能夠實現(xiàn)高精度。RC48可用時,利用時鐘恢復系統(tǒng)(HSI48):內部48MHz時鐘源(HSI48)可用于驅動USB、SDMMC或RNG外設。此時鐘可在MCO上輸出。 此外,STM32L4xx微控制器嵌入了三個PLL,每個都具有多達3個獨立輸出,并可由HSI、HSE或MSI饋送。這九個輸出可分別配置為:- 系統(tǒng)時鐘- ADC接口時鐘- USB時鐘- 串行音頻接口SAI1時鐘- 串行音頻接口SAI2時鐘
外設時鐘的選擇 多個其他外設可由非系統(tǒng)時鐘提供時鐘:USARTx(x= 1、2、3、4、5),LPUART,SWPMI和I2Cx(x=1、2、3、4)接收獨立時鐘。 消除外設在系統(tǒng)時鐘上的限制條件,這可降低系統(tǒng)和APB總線頻率,并保持通信外設波特率不變,與系統(tǒng)時鐘頻率獨立。- 在運行和低功耗運行模式下,所有外設時鐘可單獨使能或禁用。- 在睡眠和低功耗睡眠模式下,所有外設時鐘也可單獨使能或禁用。
HSI和LSI的校準 在成本敏感的應用中,晶體振蕩器的價格可能無法忽略。出于這個原因,STM32L4xx提供了多種選擇來測量內部振蕩器。盡管HSI和MSI是工廠修調的,但它們能在運行時間內進一步修調0.5%個單位,以補償因溫度和電壓變化引起的頻率偏移。