時鐘系統
時鐘樹
在STM32中有3種不同的時鐘源用來驅動系統時鐘(SYSCLK):
- HSI振蕩器時鐘(High Speed Internal oscillator,高速內部時鐘)
- HSE振蕩器時鐘(High Speed External(Oscillator / Clock),高速外部時鐘)
- PLL時鐘(Phase Locked Loop 鎖相環/倍頻器):
還有2種2級時鐘?
- LSI時鐘(Low Speed Internal,低速內部時鐘)
- LSE時鐘(Low Speed External oscillator,低速外部時鐘)
為什么提供這么多的時鐘?
節能!高速設備接高速時鐘,低速設備接低速時鐘,可以最大程度的達到節能效果。
各個時鐘介紹
- HSE時鐘
- 高速外部時鐘是由外部時鐘源提供,目前幾乎所有的STM32單片機的設計都是在外部接一個8MHz的晶振,經過PLL倍頻(9倍頻)后得到一個72MHz的系統時鐘。這個在啟動文件可以看到
- 高速外部時鐘是由外部時鐘源提供,目前幾乎所有的STM32單片機的設計都是在外部接一個8MHz的晶振,經過PLL倍頻(9倍頻)后得到一個72MHz的系統時鐘。這個在啟動文件可以看到
- HSI時鐘
- HSI時鐘信號由內部8MHz的RC振蕩器產生,可直接作為系統時鐘或在2分頻后作為PLL輸入。HSI RC振蕩器能夠在不需要任何外部器件的條件下提供系統時鐘。它的啟動時間比HSE晶體振蕩器短。然而,即使在校準之后它的時鐘頻率精度仍較差
- HSI時鐘信號由內部8MHz的RC振蕩器產生,可直接作為系統時鐘或在2分頻后作為PLL輸入。HSI RC振蕩器能夠在不需要任何外部器件的條件下提供系統時鐘。它的啟動時間比HSE晶體振蕩器短。然而,即使在校準之后它的時鐘頻率精度仍較差
- PLL時鐘
- 內部PLL用來倍頻HSI RC的輸出時鐘或HSE晶體輸出時鐘。PLL的設置必須在其被激活前完成。一旦PLL被激活,這些參數就不能被改動。如果PLL中斷在時鐘中斷寄存器里被允許,當PLL準備就緒時,可產生中斷申請
- PLL時鐘一般都是對外部的8MHz的時鐘信號經過9倍頻后,得到72MHz的時鐘頻率,這是STM32F1系列允許的最高時鐘頻率
- LSE時鐘
- LSE晶體是一個32.768kHz的低速外部晶體或陶瓷諧振器。它為實時時鐘或者其他定時功能提供一個低功耗且精確的時鐘源
- LSE是不能驅動系統時鐘的
- LSI時鐘
- LSI RC擔當一個低功耗時鐘源的角色,它可以在停機和待機模式下保持運行,為獨立看門狗和自動喚醒單元提供時鐘。LSI時鐘頻率大約40kHz(在30kHz和60kHz之間)
- LSI也是不能驅動系統時鐘的