0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解STM32時(shí)鐘體系結(jié)構(gòu)分析

貿(mào)澤電子 ? 來(lái)源:djl ? 作者:貿(mào)澤電子 ? 2019-08-19 16:40 ? 次閱讀

STM32時(shí)鐘體系可以直接以圖概括(摘自STM32F10X參考手冊(cè))

詳解STM32時(shí)鐘體系結(jié)構(gòu)分析


下面就此圖做分析

1. STM32輸入時(shí)鐘源

1.1 時(shí)鐘源的作用

無(wú)論是小型單片機(jī)還是像STM32這樣高級(jí)單片機(jī),它們工作的核心都是大規(guī)模的時(shí)序邏輯電路,而驅(qū)動(dòng)時(shí)序邏輯電路的關(guān)鍵則是準(zhǔn)確而又穩(wěn)定的時(shí)鐘源。它的作用就像小學(xué)在操場(chǎng)上做廣播體操時(shí)候播放的背景音樂(lè),用于協(xié)調(diào)和同步各單元運(yùn)行,為時(shí)序電路提供基本的脈沖信號(hào)。

1.2 STM32時(shí)鐘源的設(shè)計(jì)

51單片機(jī)中,一般都外接一個(gè)11.0592MHz的晶振,注意,提供時(shí)鐘的不是晶振,而是RC時(shí)鐘電路,而晶振只是時(shí)鐘電路的元件之一。同理,在STM32中,時(shí)鐘源也是由RC時(shí)鐘電路產(chǎn)生,與51單片機(jī)的區(qū)別是區(qū)別在于,RC電路的位置。根據(jù)RC電路的位置,可以將STM32的時(shí)鐘源分為內(nèi)部時(shí)鐘電路和外部時(shí)鐘、內(nèi)外部時(shí)鐘電路。

(1)內(nèi)部時(shí)鐘電路:

晶體振蕩器和RC時(shí)鐘電路都在STM32芯片內(nèi)部,如圖中標(biāo)注1、標(biāo)注4。

標(biāo)注1處是產(chǎn)生8MHz的時(shí)鐘源,稱(chēng)為HSI,高速內(nèi)部時(shí)鐘源(H意為高速,S意為源,I意為內(nèi)部);

標(biāo)注4處是產(chǎn)生32KHz的時(shí)鐘源,稱(chēng)為L(zhǎng)SI,低速內(nèi)部時(shí)鐘源;

(2)內(nèi)外部時(shí)鐘電路:

晶體振蕩器在STM32芯片外部,RC時(shí)鐘電路在STM32芯片內(nèi)部,如圖中標(biāo)注2、標(biāo)注3。

標(biāo)注2處是產(chǎn)生4-16MHz的時(shí)鐘源,稱(chēng)為HSE,高速外部時(shí)鐘源;

標(biāo)注3是產(chǎn)生32.768KHz的時(shí)鐘源,稱(chēng)為L(zhǎng)SE,低速外部時(shí)鐘源;

OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN分別接晶振的兩個(gè)引腳。前者一般接8MHz晶振;后者一定接32.768KHz,因?yàn)檫@個(gè)時(shí)鐘源是供給RTC實(shí)時(shí)時(shí)鐘使用的。在51單片機(jī)中沒(méi)有集成RTC模塊,在做電子時(shí)鐘時(shí)用到的DS1302集成芯片時(shí),也是為其提供的也是32.768KHz的晶振。

(3)外部時(shí)鐘電路

晶體振蕩電路和RC時(shí)鐘電路都在STM32芯片外部。如圖中標(biāo)注2、標(biāo)注3。

OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN除了分別接晶振的兩個(gè)引腳,對(duì)于OSC_IN和OSC32_IN引腳,還可以接入外部的RC時(shí)鐘電路,其時(shí)鐘源直接由外部供給,不過(guò)這種方案少見(jiàn)。

綜上所述,STM32的時(shí)鐘源有4個(gè): HSI、HSE和LSI、LSE。

HSI時(shí)鐘源,它是在由STM32在內(nèi)部用RC振蕩電路實(shí)現(xiàn)的高速內(nèi)部時(shí)鐘源。HIS RC振蕩器能夠在不需要任何外部期間的條件下提供系統(tǒng)時(shí)鐘,它的啟動(dòng)時(shí)間比HSE晶體振蕩器短,但是不精準(zhǔn),即使在校準(zhǔn)之后它的時(shí)鐘頻率精度仍較差。在手冊(cè)中還明確說(shuō),當(dāng)HSI被用作PLL時(shí)鐘輸入時(shí),系統(tǒng)時(shí)鐘能得到的最大頻率是61MHz,這顯然不能發(fā)揮STM32最極致的性能。

1.3 時(shí)鐘信號(hào)通道選擇

雖然HSI不精準(zhǔn),但是鑒于啟動(dòng)速度原因考慮,STM32上電復(fù)位,默認(rèn)是采用HSI時(shí)鐘源的,當(dāng)然開(kāi)發(fā)者可以不修改這個(gè)時(shí)鐘源,那么系統(tǒng)將一直工作在一個(gè)時(shí)鐘源不穩(wěn)定不精準(zhǔn)的環(huán)境下。


然而一般做法是改變時(shí)鐘源,將時(shí)鐘源改為HSE。改變時(shí)鐘源的通道是在相關(guān)寄存器設(shè)置的,在圖中的PLLSRC可以實(shí)現(xiàn)對(duì)這兩個(gè)頻率的切換。

詳解STM32時(shí)鐘體系結(jié)構(gòu)分析

1.4 鎖相環(huán)倍頻器PLL/預(yù)分頻器Prescaler

STM32的cpu的工作常規(guī)頻率是72MHZ(超過(guò)72MHz工作稱(chēng)為超頻工作,CPU耗電加劇,且會(huì)發(fā)燙),但是我們接入的晶振是8MHz,這就需要一個(gè)對(duì)頻率加倍的操作,即倍頻。如圖中的PLLMUL,PLLMULL實(shí)現(xiàn)對(duì)接入時(shí)鐘源的倍頻,如x2、x3、x4…倍頻后的時(shí)鐘源為PLLCLK。

預(yù)分頻器是實(shí)現(xiàn)對(duì)頻率削減作用的。倍頻器將HSE倍頻之后提供給cpu,但是除了cpu之外,其他片內(nèi)外設(shè),如SPI控制模塊、IIC控制模塊等的工作同樣需要時(shí)鐘源,這些外設(shè)的時(shí)鐘源肯定是低于cpu運(yùn)行時(shí)鐘的,例如USB通訊才需要48MHz,所以需要對(duì)倍頻后的時(shí)鐘源進(jìn)行分頻。一般芯片的分頻做法都是對(duì)一個(gè)時(shí)鐘源倍頻后供給某些部件,其他低于此倍頻后的時(shí)鐘都是基于此時(shí)鐘源來(lái)分頻的。用戶可通過(guò)多個(gè)預(yù)分頻器配置AHB,高速APB(APB2)和低速APB(APB1)域的頻率。AHB和APB2域的最大頻率是72MHz。APB1域的最大允許頻率是36MHz。SDIO接口的時(shí)鐘頻率固定在HCLK / 2。

經(jīng)過(guò)時(shí)鐘源的選擇、分頻/倍頻,就可以到HCLK(高性能總線AHB用)、FCLK(供給cpu內(nèi)核的用,常說(shuō)的cpu主頻)、PCLK(高性能外設(shè)總線APB)、USBCLK、TIMXCLK、TIM1CLK、RTCCLK等,外設(shè)是掛載STM32的總線上的,具體哪個(gè)外設(shè)掛載哪個(gè)總線,看下圖:

詳解STM32時(shí)鐘體系結(jié)構(gòu)分析

在軟件開(kāi)發(fā)中,我們要做的也無(wú)非設(shè)置門(mén)電路以選擇時(shí)鐘源輸入、倍頻/分頻系數(shù)和打開(kāi)/關(guān)閉對(duì)應(yīng)外設(shè)所在總線的時(shí)鐘。

2. STM32輸出時(shí)鐘源

圖中的MCO功能模塊,可以將PLLCLK / 2、HSI、HSE、SYSCLK輸出,供給其他系統(tǒng)作為輸入時(shí)鐘源,對(duì)這一功能模塊也是又相應(yīng)的寄存器,圖中以MCO標(biāo)注。

詳解STM32時(shí)鐘體系結(jié)構(gòu)分析

3. 系統(tǒng)滴答Systick

Systick就是一個(gè)定時(shí)器而已,只是它放在了NVIC中,主要的目的是為了給操作系統(tǒng)提供一個(gè)硬件上的中斷,稱(chēng)之為滴答中斷操作系統(tǒng)進(jìn)行運(yùn)轉(zhuǎn)的時(shí)候,也會(huì)有時(shí)間節(jié)拍。它會(huì)根據(jù)節(jié)拍來(lái)工作,把整個(gè)時(shí)間段分成很多小小的時(shí)間片,而每個(gè)任務(wù)每次只能運(yùn)行一個(gè)時(shí)間片的時(shí)間長(zhǎng)度,超時(shí)就退出給別的任務(wù)運(yùn)行,這樣可以確保任何一個(gè)任務(wù)都不會(huì)霸占操作系統(tǒng)提供的各種定時(shí)功能,都與這個(gè)滴答定時(shí)器有關(guān)。因此,需要一個(gè)定時(shí)器來(lái)產(chǎn)生周期性的中斷,而且最好還讓用戶程序不能隨意訪問(wèn)它的寄存器,以維持操作系統(tǒng)的節(jié)拍。只要不把它在SysTick控制及狀態(tài)寄存器中的使能位清除,就一直執(zhí)行。

RCC(復(fù)位與時(shí)鐘控制器)通過(guò)AHB時(shí)鐘(HCLK)8分頻后作為Cortex系統(tǒng)定時(shí)器(SysTick)的外部時(shí)鐘。通過(guò)對(duì)SysTick控制與狀態(tài)寄存器的設(shè)置,可選擇上述時(shí)鐘或Cortex(HCLK)時(shí)鐘作為SysTick時(shí)鐘(后者圖中沒(méi)畫(huà)出)。另外,還有其他時(shí)鐘,如USB時(shí)鐘,ADC時(shí)鐘、獨(dú)立看門(mén)狗時(shí)鐘等,它們各自的時(shí)鐘源通過(guò)前面學(xué)習(xí),也可以輕易分析出來(lái),這里不再贅述。

4. 時(shí)鐘相關(guān)的寄存器

時(shí)鐘體系涉及到的寄存器有:

詳解STM32時(shí)鐘體系結(jié)構(gòu)分析

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電路
    +關(guān)注

    關(guān)注

    172

    文章

    5828

    瀏覽量

    171811
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5301

    瀏覽量

    119866
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1716

    瀏覽量

    131293
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無(wú)線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)分析

    本文對(duì)無(wú)線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)進(jìn)行了較為深入的研究,從物理體系結(jié)構(gòu)、軟件體系結(jié)構(gòu)和通信體系結(jié)構(gòu)三個(gè)層面進(jìn)行了分析。
    發(fā)表于 11-03 16:24 ?8804次閱讀
    無(wú)線傳感器網(wǎng)絡(luò)的<b class='flag-5'>體系結(jié)構(gòu)</b><b class='flag-5'>分析</b>

    S3C2440時(shí)鐘體系結(jié)構(gòu)

    這些文章不太懂,建議購(gòu)買(mǎi)視頻進(jìn)一步學(xué)習(xí)。購(gòu)買(mǎi)地址:http://t.elecfans.com/topic/20.html?elecfans_trackid=xybanner第001節(jié)_S3C2440時(shí)鐘體系結(jié)構(gòu)
    發(fā)表于 05-08 11:34

    時(shí)鐘體系疑問(wèn)

    老師講時(shí)鐘體系時(shí),F(xiàn)CLK=400MHz,HCLK=100MHz,PLCK=50MHz,為啥說(shuō)FCLK:HCLK:PLCK=1:4:8,不是應(yīng)該是400 : 100 : 50 = 8 : 4 : 1嗎?
    發(fā)表于 05-06 02:28

    PSoC 5體系結(jié)構(gòu)中是否存在時(shí)鐘鎖定?

    寄存器TRM提到USB時(shí)鐘鎖定,但沒(méi)有指定UBSYLID位的位置。PSoC 5體系結(jié)構(gòu)中是否存在時(shí)鐘鎖定?這在架構(gòu)TRM中沒(méi)有提到,但那并不是第一個(gè)遺漏。-) 以上來(lái)自于百度翻譯 以下為原文
    發(fā)表于 05-16 11:25

    STM32的存儲(chǔ)器、電源和時(shí)鐘體系

    STM32的存儲(chǔ)器、電源和時(shí)鐘體系-第3季第2部分視頻課程 互聯(lián)網(wǎng)課程品牌《...
    發(fā)表于 08-03 06:55

    為什么要了解時(shí)鐘體系

    stm32時(shí)鐘系統(tǒng)基于stm32f407zgt6芯片給單片機(jī)提供一個(gè)時(shí)鐘信號(hào)(一個(gè)非常穩(wěn)定的頻率信號(hào)),使單片機(jī)各內(nèi)部組件同步工作,并且在和外部設(shè)備通信時(shí)是也能達(dá)到同步。為什么要了解
    發(fā)表于 08-10 08:10

    STM32時(shí)鐘體系介紹

    STM32時(shí)鐘體系可以直接以圖概括(摘自STM32F10X參考手冊(cè))下面就此圖做分析1. STM32輸入
    發(fā)表于 08-19 06:10

    S3C2440芯片的時(shí)鐘體系是怎樣的

    ARM嵌入式系統(tǒng)中S3C2440芯片的時(shí)鐘體系
    發(fā)表于 12-17 07:39

    Arm的DRTM體系結(jié)構(gòu)規(guī)范

    本規(guī)范定義了基于Arm A配置文件體系結(jié)構(gòu)的處理器的動(dòng)態(tài)測(cè)量信任根(DRTM)體系結(jié)構(gòu)。本規(guī)范基于TCG D-RTM體系結(jié)構(gòu)[4]的概念,但作為一個(gè)獨(dú)立的獨(dú)立文檔發(fā)揮作用。它使用了TCG體系結(jié)
    發(fā)表于 08-08 07:45

    LTE體系結(jié)構(gòu)

    LTE體系結(jié)構(gòu) LTE體系結(jié)構(gòu)可以借助SAE 體系結(jié)構(gòu)來(lái)做詳細(xì)描述。在SAE 體系結(jié)構(gòu)中,RNC部分功能、GGSN、SGSN 節(jié)點(diǎn)將被融合為一個(gè)新的節(jié)點(diǎn),
    發(fā)表于 06-16 13:09 ?9803次閱讀

    網(wǎng)絡(luò)體系結(jié)構(gòu),什么是網(wǎng)絡(luò)體系結(jié)構(gòu)

    網(wǎng)絡(luò)體系結(jié)構(gòu),什么是網(wǎng)絡(luò)體系結(jié)構(gòu) 通過(guò)通信信道和設(shè)備互連起來(lái)的多個(gè)不同地理位置的計(jì)算機(jī)系統(tǒng),要使其能協(xié)同工作實(shí)現(xiàn)信息交換和資源共享
    發(fā)表于 04-06 16:30 ?1690次閱讀

    體系結(jié)構(gòu)建模工具SA分析

    研究體系結(jié)構(gòu)需要一套特定的開(kāi)發(fā)工具,國(guó)外已經(jīng)開(kāi)發(fā)了多種體系結(jié)構(gòu)工具,其中SA(System Architect)是先進(jìn)成熟的體系結(jié)構(gòu)分析、設(shè)計(jì)、可視化建模與驗(yàn)證工具,在
    發(fā)表于 07-11 10:33 ?0次下載
    <b class='flag-5'>體系結(jié)構(gòu)</b>建模工具SA<b class='flag-5'>分析</b>

    軟件體系結(jié)構(gòu)分析

    軟件系統(tǒng)因具有節(jié)點(diǎn)眾多、節(jié)點(diǎn)間聯(lián)系復(fù)雜、隨時(shí)間演化、自組織臨界等特性可將其視為復(fù)雜系統(tǒng)。在軟件安全領(lǐng)域,對(duì)軟件體系結(jié)構(gòu)分析一直是研究的重點(diǎn)。軟件體系結(jié)構(gòu)具有自身的脆性,這體現(xiàn)在軟件系統(tǒng)的運(yùn)行過(guò)程
    發(fā)表于 11-24 10:34 ?15次下載
    軟件<b class='flag-5'>體系結(jié)構(gòu)</b>的<b class='flag-5'>分析</b>

    基于DoDAF的衛(wèi)星應(yīng)用信息鏈體系結(jié)構(gòu)

    based methodology)的體系結(jié)構(gòu)建模方法,構(gòu)建了相應(yīng)的偵察衛(wèi)星應(yīng)用信息鏈體系結(jié)構(gòu)模型。本文首先分析了偵察衛(wèi)星應(yīng)用信息鏈的組成結(jié)構(gòu)和任務(wù)活動(dòng),爾后依據(jù)DoDAF
    發(fā)表于 01-10 16:58 ?1次下載

    2.STM32的存儲(chǔ)器、電源和時(shí)鐘體系

    3.2.6.復(fù)位與時(shí)鐘概述3.2.7.STM32時(shí)鐘框圖詳解13.2.8.STM32時(shí)鐘框圖
    發(fā)表于 01-07 15:32 ?1次下載
    2.<b class='flag-5'>STM32</b>的存儲(chǔ)器、電源和<b class='flag-5'>時(shí)鐘體系</b>