地點:南圖
這部分的內容是整個STM32學習知識的核心,不管是什么微控制器處理器,時鍾系統都是其核心類似於人之心臟,因此學好理解這一章節至關重要。
為了便於理解這一系統,將從以下幾個層次來講。(忘了是在哪兒看到的這么一句話,當你能對某人解釋清楚某一部分知識,那么說明你已經完全掌握了它) 。
1、第一個層次:硬件
STM32的時鍾源 可以有以下5個來源:
(1)HSI高速的內部時鍾
8M的RC震盪時鍾,相對於晶體振盪器精確度差些,因此在需要精確頻率或定時的應用時,應選用HSE作為系統時鍾。這個是在STM32內部的,在沒有外接晶體振盪器的時候,系統的時鍾就會用此作為時鍾源。
(2)HSE高速的外部時鍾
允許外接4~16M頻率的晶體振盪器 ,相比於內部的RC晶體振盪器精確度高些。通常最小系統板上接的橢圓形扁平的就是8M的晶體諧振器。
(3)LSI低速的內部時鍾
因為現階段不會用到,所以沒細看。大致功能是作為RTC的時鍾源。
(4)LSE低速外部時鍾
同(3)。
(5)外部的輸入時鍾
可以使用其他單片器或時鍾電路的輸入方波作為時鍾源,接入的引腳是OSC_IN,輸入的必須是占空比為50%的方波或三角波。
2、第二層次:時鍾系統內的時鍾源細分
這部分的分析從源頭出發分析,着重分析系統時鍾SYSCLK的來源。
(1)sysclk的時鍾來源。(SYSCLK允許的最大頻率是72MHZ)
有三個來源:
HSE:提供8MHZ頻率給SYSCLK
HSI:同HSE
PLL :PLL是第二級的時鍾源,他的時鍾來源是HSE(HSE/2、HSE)或HSI(HSI/2),輸出的頻率是倍頻之后的頻率。
這部分的內容重點是SYSCLK的來源,SYSCLK的作用是直接作為外設和AHB總線的時鍾源(這樣表述好像有問題)。
(2) AHB時鍾源(對應時鍾頻率HCLK)
來源是SYSCLK分頻之后,因此頻率最大的情況是1分頻時即72MHz。AHB的作用是作為APB1和APB2的時鍾源,以及8分頻后作為Cortex的外部時鍾(Systick)
(3)APB1低速時鍾總線
APB1低速時鍾總線的作用是作為掛載在上面的外設的時鍾源,最大36MHz。
(4)APB2高速時鍾總線
最大72Mhz。
3、重要外設時鍾源分析
(1)定時器
高級定時器TIM1、TIM8是掛載在APB2上的,其他定時器TIM2~TIM7掛載在APB1上。值得注意的是定時器的時鍾頻率取決於分頻系數,當分頻系數為1時,則其時鍾頻率和相應總線頻率相等,其他分頻系數,時鍾頻率為總線頻率的2倍。