STM32之RCC原理
1、時(shí)鐘源
在?STM32?中,一共有?5?個(gè)時(shí)鐘源,分別是?HSI?、?HSE?、?LSI?、?LSE?、?PLL?。
?①HSI?是高速內(nèi)部時(shí)鐘,?RC?振蕩器,頻率為?8MHz?;
?②HSE?是高速外部時(shí)鐘,可接石英?/?陶瓷諧振器,或者接外部時(shí)鐘源,頻率范圍是?4MHz – 16MHz?;
?③LSI?是低速內(nèi)部時(shí)鐘,?RC?振蕩器,頻率為?40KHz?;
?④LSE?是低速外部時(shí)鐘,接頻率為?32.768KHz?的石英晶體;
?⑤PLL?為鎖相環(huán)倍頻輸出,嚴(yán)格的來說并不算一個(gè)獨(dú)立的時(shí)鐘源,?PLL?的輸入可以接?HSI/2?、?HSE?或者?HSE/2?。PLL倍頻可選擇為?2 – 16?倍,但是其輸出頻率最大不得超過?72MHz?。
其中,?40kHz?的?LSI?供獨(dú)立看門狗?IWDG?使用,另外它還可以被選擇為實(shí)時(shí)時(shí)鐘?RTC?的時(shí)鐘源。另外,實(shí)時(shí)時(shí)鐘?RTC?的時(shí)鐘源還可以選擇LSE?,或者是?HSE?的?128?分頻。
STM32?中有一個(gè)全速功能的?USB?模塊,其串行接口引擎需要一個(gè)頻率為?48MHz?的時(shí)鐘源。該時(shí)鐘源只能從?PLL?端獲取,可以選擇為?1.5?分頻或者?1?分頻,也就是,當(dāng)需使用到?USB?模塊時(shí),?PLL?必須使能,并且時(shí)鐘配置為?48MHz?或?72MHz?。
另外?STM32?還可以選擇一個(gè)時(shí)鐘信號(hào)輸出到?MCO?腳?(PA.8)?上,可以選擇為?PLL?輸出的?2?分頻、?HSI?、?HSE?或者系統(tǒng)時(shí)鐘。
系統(tǒng)時(shí)鐘?SYSCLK?,它是提供?STM32?中絕大部分部件工作的時(shí)鐘源。系統(tǒng)時(shí)鐘可以選擇為?PLL?輸出、?HSI?、?HSE?。系系統(tǒng)時(shí)鐘最大頻率為72MHz?,它通過?AHB?分頻器分頻后送給各個(gè)模塊使用,?AHB?分頻器可以選擇?1?、?2?、?4?、?8?、?16?、?64?、?128?、?256?、?512?分頻,AHB分頻器輸出的時(shí)鐘送給?5?大模塊使用:
???????①送給?AHB?總線、內(nèi)核、內(nèi)存和?DMA?使用的?HCLK?時(shí)鐘;
???????②通過?8?分頻后送給?Cortex?的系統(tǒng)定時(shí)器時(shí)鐘STCLK;
???????③直接送給?Cortex?的空閑運(yùn)行時(shí)鐘?FCLK?;
???????④送給?APB1?分頻器。?APB1?分頻器可以選擇?1?、?2?、?4?、?8?、?16?分頻,其輸出一路供?APB1?外設(shè)使用(?PCLK1?,最大頻率?36MHz),另一路送給定時(shí)器?(Timer)2?、?3?、?4?倍頻器使用。該倍頻器根據(jù)PCLK1的分頻值自動(dòng)選擇?1?或者?2?倍頻,時(shí)鐘輸出供定時(shí)器?2?、3?、?4?使用。
???????⑤送給?APB2?分頻器。?APB2?分頻器可以選擇?1?、?2?、?4?、?8?、?16?分頻,其輸出一路供?APB2?外設(shè)使用(?PCLK2?,最大頻率?72MHz),另外一路送給定時(shí)器?(Timer)1?倍頻使用。該倍頻器根據(jù)PCLK2的分頻值自動(dòng)選擇1?或?2?倍頻,時(shí)鐘輸出供定時(shí)器?1?使用。另外?APB2分頻器還有一路輸出供?ADC?分頻器使用,分頻后送給?ADC?模塊使用。?ADC?分頻器可選擇為?2?、?4?、?6?、?8?分頻。
需要注意的是定時(shí)器的倍頻器,當(dāng)?APB?的分頻為?1?時(shí),它的倍頻值為?1?,否則它的倍頻值就為?2?。
?
2、APB1和APB2連接的模塊
①連接在?APB1(?低速外設(shè)?)?上的設(shè)備有:電源接口、備份接口、?CAN?、?USB?、?I2C1?、?I2C2?、?UART2?、?UART3?、?SPI2?、窗口看門狗、?Timer2?、?Timer3?、?Timer4?。?注意?USB?模塊雖然需要一個(gè)單獨(dú)的?48MHz?的時(shí)鐘信號(hào),但是它應(yīng)該不是供?USB?模塊工作的時(shí)鐘,而只是提供給串行接口引擎?(SIE)?使用的時(shí)鐘。?USB?模塊的工作時(shí)鐘應(yīng)該是由?APB1?提供的。
②連接在?APB2?(高速外設(shè))上的設(shè)備有:?UART1?、?SPI1?、?Timer1?、?ADC1?、?ADC2?、?GPIOx(PA~PE)?、第二功能?IO?口。
?
總結(jié)
以上是生活随笔為你收集整理的STM32之RCC原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 入门 | 使用 SQL 构建一个关系数据
- 下一篇: 春招快到了,送你一份数据分析常见面试题