日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文結(jié)合網(wǎng)上的兩篇時(shí)鐘分析文章,并結(jié)合本人的理解來(lái)分析STM32的時(shí)鐘系統(tǒng)。眾所周知,一個(gè)微控制器或處理器的運(yùn)行必須要依賴(lài)周期性的時(shí)鐘脈沖來(lái)驅(qū)動(dòng),通常是通過(guò)外接晶振來(lái)實(shí)現(xiàn)的。在學(xué)習(xí)單片機(jī)(51系列,AVR系列,

本文結(jié)合網(wǎng)上的兩篇時(shí)鐘分析文章,并結(jié)合本人的理解來(lái)分析STM32的時(shí)鐘系統(tǒng)。

眾所周知,一個(gè)微控制器或處理器的運(yùn)行必須要依賴(lài)周期性的時(shí)鐘脈沖來(lái)驅(qū)動(dòng),通常是通過(guò)外接晶振來(lái)實(shí)現(xiàn)的。在學(xué)習(xí)單片機(jī)(51系列,AVR系列,PIC系列)的過(guò)程中,只要設(shè)定了外接晶振,我們就只關(guān)心的時(shí)序圖,無(wú)需再進(jìn)行時(shí)鐘的配置,而STM32微控制器的時(shí)鐘樹(shù)則是可配置的,其時(shí)鐘輸入源與最終達(dá)到外設(shè)處的時(shí)鐘速率不再有固定的關(guān)系,本文將來(lái)詳細(xì)解析STM32微控制器的時(shí)鐘樹(shù)。

在官方提供的STM32參考手冊(cè)或數(shù)據(jù)手冊(cè)中,提供了如下的時(shí)鐘樹(shù)結(jié)構(gòu)圖:

為了方便分析,簡(jiǎn)化為如下的時(shí)鐘樹(shù),


由圖可知:STM32主要有5個(gè)時(shí)鐘源,分別為HSI、HSE、LSI、LSE、PLL,如灰藍(lán)色如示,而PLL是由鎖相環(huán)電路倍頻得到PLL時(shí)鐘。從上到下分析,分別 為:

HSI是高速內(nèi)部時(shí)鐘,內(nèi)置RC振蕩器,頻率為8MHz;

HSE是高速外部時(shí)鐘,可接石英/陶瓷諧振器,或者接外部時(shí)鐘源,頻率范圍為4MHz~16MHz,一般接8MHz石英晶振;

LSE是低速外部時(shí)鐘,接頻率為32.768kHz的石英晶體,主要提供一個(gè)精確的時(shí)鐘源一般作為RTC時(shí)鐘使用;

LSI是低速內(nèi)部時(shí)鐘,RC振蕩器,頻率為40kHz。它供獨(dú)立看門(mén)狗IWDG使用,另外它還可以被選擇為實(shí)時(shí)時(shí)鐘RTC的時(shí)鐘源。另外,實(shí)時(shí)時(shí)鐘RTC的時(shí)鐘源還可以選擇LSE,或者是HSE的128分頻。RTC的時(shí)鐘源通過(guò)RTCSEL[1:0]來(lái)選擇;

PLL為鎖相環(huán)倍頻輸出,其時(shí)鐘輸入源可選擇為HSI/2、HSE或者HSE/2,倍頻可選擇為2~16倍,但是其輸出頻率最大不得超過(guò)72MHz。


系統(tǒng)時(shí)鐘SYSCLK,它是供STM32中絕大部分部件工作的時(shí)鐘源。系統(tǒng)時(shí)鐘可選擇為PLL輸出、HSI或者HSE。系統(tǒng)時(shí)鐘最大頻率為72MHz,它通過(guò)AHB分頻器分頻后送給各模塊使用,AHB分頻器可選擇1、2、4、8、16、64、128、256、512分頻。其中AHB分頻器輸出的時(shí)鐘送給5大模塊使用:


送給AHB總線、內(nèi)核、內(nèi)存和DMA使用的HCLK時(shí)鐘;

通過(guò)8分頻后送給Cortex的系統(tǒng)定時(shí)器時(shí)鐘;

直接送給Cortex的空閑運(yùn)行時(shí)鐘FCLK;

送給APB1分頻器。APB1分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB1外設(shè)使用(PCLK1,最大頻率36MHz),另一路送給定時(shí)器(Timer)2、3、4倍頻器使用。該倍頻器可選擇1或者2倍頻,時(shí)鐘輸出供定時(shí)器2、3、4使用;

送給APB2分頻器。APB2分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB2外設(shè)使用(PCLK2,最大頻率72MHz),另一路送給定時(shí)器(Timer)1倍頻器使用。該倍頻器可選擇1或者2倍頻,時(shí)鐘輸出供定時(shí)器1使用。另外,APB2分頻器還有一路輸出供ADC分頻器使用,分頻后送給ADC模塊使用。ADC分頻器可選擇為2、4、6、8分頻。


另外:

(1)STM32中有一個(gè)全速功能的USB模塊,其串行接口引擎需要一個(gè)頻率為48MHz的時(shí)鐘源。該時(shí)鐘源只能從PLL輸出端獲取,可以選擇為1.5分頻或者1分頻,也就是,當(dāng)需要使用USB模塊時(shí),PLL必須使能,并且時(shí)鐘頻率配置為48MHz或72MHz。
(2)STM32還可以選擇一個(gè)時(shí)鐘信號(hào)輸出到MCO腳(PA8)上,可以選擇為PLL輸出的2分頻、HSI、HSE、或者系統(tǒng)時(shí)鐘。

在STM32處理器,對(duì)應(yīng)每一模塊,都需要為其配置時(shí)鐘源,我們將官方提供的時(shí)鐘樹(shù)再進(jìn)行細(xì)化,就得到如下的時(shí)鐘樹(shù),其中圖中的標(biāo)號(hào)分別為:1:內(nèi)部低速振蕩器(LSI,40Khz);2:外部低速振蕩器(LSE,32.768Khz);3:外部高速振蕩器(HSE,3-25MHz);4:內(nèi)部高速振蕩器(HIS,8MHz);5:PLL輸入選擇位;6:RTC時(shí)鐘選擇位;7:PLL1分頻數(shù)寄存器;8:PLL1倍頻寄存器;9:系統(tǒng)時(shí)鐘選擇位;10:USB分頻寄存器;11:AHB分頻寄存器;12:APB1分頻寄存器;13:AHB總線;14:APB1外設(shè)總線;15:APB2分頻寄存器;16:APB2外設(shè)總線;17:ADC預(yù)分頻寄存器;18:ADC外設(shè);19:PLL2分頻數(shù)寄存器;20:PLL2倍頻寄存器;21:PLL時(shí)鐘源選擇寄存器;22:獨(dú)立看門(mén)狗設(shè)備;23:RTC設(shè)備



假設(shè)我們要設(shè)置位于APB2控制的GPIO外設(shè)時(shí)鐘,則我們得到的時(shí)鐘軌跡應(yīng)該是:3-->5-->7-->21-->8-->9-->11-->15-->16。即:首先(3)是外部的3-25MHz(前文已假設(shè)為8MHz)輸入;通過(guò)(5)PLL選擇位預(yù)先選擇后續(xù)PLL分支的輸入時(shí)鐘(假設(shè)選擇外部晶振);設(shè)置(7)外部晶振的分頻數(shù)(假設(shè)1分頻);選擇(21)PLL倍頻的時(shí)鐘源(假設(shè)選擇經(jīng)過(guò)分頻后的外部晶振時(shí)鐘);對(duì)于8,設(shè)置(8)PLL倍頻數(shù)(假設(shè)9倍頻);選擇(9)系統(tǒng)時(shí)鐘源(假設(shè)選擇經(jīng)過(guò)PLL倍頻所輸出的時(shí)鐘);設(shè)置(11)AHB總線分頻數(shù)(假設(shè)1分頻);設(shè)置(15)APB2總線分頻數(shù)(假設(shè)1分頻);時(shí)鐘到達(dá)APB2總線(16)。

GPIO設(shè)備的最大驅(qū)動(dòng)時(shí)鐘速率(各個(gè)條件已在上述要點(diǎn)中假設(shè)):

1) 由3所知晶振輸入為8MHz,由5——21知PLL的時(shí)鐘源為經(jīng)過(guò)分頻后的外部晶振時(shí)鐘,并且此分頻數(shù)為1分頻,因此首先得出PLL的時(shí)鐘源為:8MHz / 1 = 8MHz。

2) 由8、9知PLL倍頻數(shù)為9,且將PLL倍頻后的時(shí)鐘輸出選擇為系統(tǒng)時(shí)鐘,則得出系統(tǒng)時(shí)鐘為 8MHz * 9 = 72MHz。

3) 時(shí)鐘到達(dá)AHB預(yù)分頻器,由11知時(shí)鐘經(jīng)過(guò)AHB預(yù)分頻器之后的速率仍為72MHz。

4) 時(shí)鐘到達(dá)APB2預(yù)分頻器,由15經(jīng)過(guò)APB2預(yù)分頻器后速率仍為72MHz。

5) 時(shí)鐘到達(dá)APB2總線外設(shè)。

因此STM32的APB2總線外設(shè),所能達(dá)到的最大速率為72MHz。


接下來(lái)從程序的角度分析時(shí)鐘樹(shù)的設(shè)置,程序清單如下:

[cpp]view plaincopy

voidRCC_Configuration(void)

{

ErrorStatusHSEStartUpStatus;(1)

RCC_DeInit();(2)

RCC_HSEConfig(RCC_HSE_ON);(3)

HSEStartUpStatus=RCC_WaitForHSEStartUp();(4)

if(HSEStartUpStatus==SUCCESS)(5)

{

RCC_HCLKConfig(RCC_SYSCLK_Div1);(6)

RCC_PCLK2Config(RCC_HCLK_Div1); (7)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在嵌入式開(kāi)發(fā)中,STM32的時(shí)鐘系統(tǒng)因其靈活性和復(fù)雜性成為開(kāi)發(fā)者關(guān)注的焦點(diǎn)。然而,看似簡(jiǎn)單的時(shí)鐘配置背后,隱藏著諸多易被忽視的陷阱,輕則導(dǎo)致系統(tǒng)不穩(wěn)定,重則引發(fā)硬件損壞。本文從時(shí)鐘源選擇、PLL配置、總線時(shí)鐘分配等關(guān)鍵環(huán)...

關(guān)鍵字: STM32 時(shí)鐘系統(tǒng)

在嵌入式系統(tǒng)開(kāi)發(fā)中,STM32系列微控制器的內(nèi)部溫度傳感器因其低成本、高集成度特性,廣泛應(yīng)用于設(shè)備自檢、環(huán)境監(jiān)測(cè)等場(chǎng)景。然而,受芯片工藝差異和電源噪聲影響,其原始數(shù)據(jù)存在±1.5℃的固有誤差。本文從硬件配置、校準(zhǔn)算法、軟...

關(guān)鍵字: STM32 溫度傳感器

在能源效率與智能化需求雙重驅(qū)動(dòng)下,AC-DC轉(zhuǎn)換器的數(shù)字控制技術(shù)正經(jīng)歷從傳統(tǒng)模擬方案向全數(shù)字架構(gòu)的深刻變革?;赟TM32微控制器的PFM(脈沖頻率調(diào)制)+PWM(脈沖寬度調(diào)制)混合調(diào)制策略,結(jié)合動(dòng)態(tài)電壓調(diào)整(Dynam...

關(guān)鍵字: AC-DC STM32

當(dāng)前智能家居產(chǎn)品需求不斷增長(zhǎng) ,在這一背景下 ,對(duì)現(xiàn)有澆花裝置缺陷進(jìn)行了改進(jìn) ,設(shè)計(jì)出基于STM32單片機(jī)的全 自動(dòng)家用澆花機(jī)器人。該設(shè)計(jì)主要由機(jī)械結(jié)構(gòu)和控制系統(tǒng)構(gòu)成 ,機(jī)械結(jié)構(gòu)通過(guò)麥克納姆輪底盤(pán)與噴灑裝置的結(jié)合實(shí)現(xiàn)機(jī)器...

關(guān)鍵字: STM32 麥克納姆輪 安全可靠 通過(guò)性強(qiáng)

用c++編程似乎是讓你的Arduino項(xiàng)目起步的障礙嗎?您想要一種更直觀的微控制器編程方式嗎?那你需要了解一下Visuino!這個(gè)圖形化編程平臺(tái)將復(fù)雜電子項(xiàng)目的創(chuàng)建變成了拖動(dòng)和連接塊的簡(jiǎn)單任務(wù)。在本文中,我們將帶您完成使...

關(guān)鍵字: Visuino Arduino ESP32 STM32

基于STM32與LoRa技術(shù)的無(wú)線傳感網(wǎng)絡(luò)憑借其低功耗、廣覆蓋、抗干擾等特性,成為環(huán)境監(jiān)測(cè)、工業(yè)自動(dòng)化等場(chǎng)景的核心解決方案。然而,如何在復(fù)雜電磁環(huán)境中實(shí)現(xiàn)高效休眠調(diào)度與動(dòng)態(tài)信道優(yōu)化,成為提升網(wǎng)絡(luò)能效與可靠性的關(guān)鍵挑戰(zhàn)。本...

關(guān)鍵字: STM32 LoRa

在實(shí)時(shí)控制系統(tǒng)、高速通信協(xié)議處理及高精度數(shù)據(jù)采集等對(duì)時(shí)間敏感的應(yīng)用場(chǎng)景中,中斷響應(yīng)延遲的優(yōu)化直接決定了系統(tǒng)的可靠性與性能上限。STM32系列微控制器憑借其靈活的嵌套向量中斷控制器(NVIC)、多通道直接內(nèi)存訪問(wèn)(DMA)...

關(guān)鍵字: STM32 DMA

數(shù)字電源技術(shù)向高功率密度、高效率與高動(dòng)態(tài)響應(yīng)方向加速演進(jìn),STM32微控制器憑借其基于DSP庫(kù)的算法加速能力與對(duì)LLC諧振變換器的精準(zhǔn)控制架構(gòu),成為優(yōu)化電源動(dòng)態(tài)性能的核心平臺(tái)。相較于傳統(tǒng)模擬控制或通用型數(shù)字控制器,STM...

關(guān)鍵字: STM32 數(shù)字電源

STM32微控制器憑借其針對(duì)電機(jī)控制場(chǎng)景的深度優(yōu)化,成為高精度、高可靠性驅(qū)動(dòng)系統(tǒng)的核心選擇。相較于通用型MCU,STM32在電機(jī)控制領(lǐng)域的核心優(yōu)勢(shì)集中體現(xiàn)在FOC(磁場(chǎng)定向控制)算法的硬件加速引擎與PWM死區(qū)時(shí)間的動(dòng)態(tài)補(bǔ)...

關(guān)鍵字: STM32 電機(jī)控制

無(wú)線充電技術(shù)加速滲透消費(fèi)電子與汽車(chē)電子領(lǐng)域,基于Qi協(xié)議的無(wú)線充電發(fā)射端開(kāi)發(fā)成為智能設(shè)備能量補(bǔ)給的核心課題。傳統(tǒng)模擬控制方案存在響應(yīng)滯后、參數(shù)調(diào)整困難等問(wèn)題,而基于STM32的數(shù)字PID控制結(jié)合FOD(Foreign O...

關(guān)鍵字: STM32 無(wú)線充電
關(guān)閉