精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解STM32時鐘體系結構分析

貿澤電子 ? 來源:djl ? 作者:貿澤電子 ? 2019-08-19 16:40 ? 次閱讀

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

詳解STM32時鐘體系結構分析


下面就此圖做分析

1. STM32輸入時鐘源

1.1 時鐘源的作用

無論是小型單片機還是像STM32這樣高級單片機,它們工作的核心都是大規模的時序邏輯電路,而驅動時序邏輯電路的關鍵則是準確而又穩定的時鐘源。它的作用就像小學在操場上做廣播體操時候播放的背景音樂,用于協調和同步各單元運行,為時序電路提供基本的脈沖信號

1.2 STM32時鐘源的設計

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

(1)內部時鐘電路:

晶體振蕩器和RC時鐘電路都在STM32芯片內部,如圖中標注1、標注4。

標注1處是產生8MHz的時鐘源,稱為HSI,高速內部時鐘源(H意為高速,S意為源,I意為內部);

標注4處是產生32KHz的時鐘源,稱為LSI,低速內部時鐘源;

(2)內外部時鐘電路:

晶體振蕩器在STM32芯片外部,RC時鐘電路在STM32芯片內部,如圖中標注2、標注3。

標注2處是產生4-16MHz的時鐘源,稱為HSE,高速外部時鐘源;

標注3是產生32.768KHz的時鐘源,稱為LSE,低速外部時鐘源;

OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN分別接晶振的兩個引腳。前者一般接8MHz晶振;后者一定接32.768KHz,因為這個時鐘源是供給RTC實時時鐘使用的。在51單片機中沒有集成RTC模塊,在做電子時鐘時用到的DS1302集成芯片時,也是為其提供的也是32.768KHz的晶振。

(3)外部時鐘電路

晶體振蕩電路和RC時鐘電路都在STM32芯片外部。如圖中標注2、標注3。

OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN除了分別接晶振的兩個引腳,對于OSC_IN和OSC32_IN引腳,還可以接入外部的RC時鐘電路,其時鐘源直接由外部供給,不過這種方案少見。

綜上所述,STM32的時鐘源有4個: HSI、HSE和LSI、LSE。

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

1.3 時鐘信號通道選擇

雖然HSI不精準,但是鑒于啟動速度原因考慮,STM32上電復位,默認是采用HSI時鐘源的,當然開發者可以不修改這個時鐘源,那么系統將一直工作在一個時鐘源不穩定不精準的環境下。


然而一般做法是改變時鐘源,將時鐘源改為HSE。改變時鐘源的通道是在相關寄存器設置的,在圖中的PLLSRC可以實現對這兩個頻率的切換。

詳解STM32時鐘體系結構分析

1.4 鎖相環倍頻器PLL/預分頻器Prescaler

STM32的cpu的工作常規頻率是72MHZ(超過72MHz工作稱為超頻工作,CPU耗電加劇,且會發燙),但是我們接入的晶振是8MHz,這就需要一個對頻率加倍的操作,即倍頻。如圖中的PLLMUL,PLLMULL實現對接入時鐘源的倍頻,如x2、x3、x4…倍頻后的時鐘源為PLLCLK。

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

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

詳解STM32時鐘體系結構分析

在軟件開發中,我們要做的也無非設置門電路以選擇時鐘源輸入、倍頻/分頻系數和打開/關閉對應外設所在總線的時鐘。

2. STM32輸出時鐘源

圖中的MCO功能模塊,可以將PLLCLK / 2、HSI、HSE、SYSCLK輸出,供給其他系統作為輸入時鐘源,對這一功能模塊也是又相應的寄存器,圖中以MCO標注。

詳解STM32時鐘體系結構分析

3. 系統滴答Systick

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

RCC(復位與時鐘控制器)通過AHB時鐘(HCLK)8分頻后作為Cortex系統定時器(SysTick)的外部時鐘。通過對SysTick控制與狀態寄存器的設置,可選擇上述時鐘或Cortex(HCLK)時鐘作為SysTick時鐘(后者圖中沒畫出)。另外,還有其他時鐘,如USB時鐘,ADC時鐘、獨立看門狗時鐘等,它們各自的時鐘源通過前面學習,也可以輕易分析出來,這里不再贅述。

4. 時鐘相關的寄存器

時鐘體系涉及到的寄存器有:

詳解STM32時鐘體系結構分析

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電路
    +關注

    關注

    172

    文章

    5852

    瀏覽量

    171942
  • 寄存器
    +關注

    關注

    31

    文章

    5325

    瀏覽量

    120052
  • 時鐘
    +關注

    關注

    10

    文章

    1721

    瀏覽量

    131378
收藏 人收藏

    評論

    相關推薦

    無線傳感器網絡的體系結構分析

    本文對無線傳感器網絡體系結構進行了較為深入的研究,從物理體系結構、軟件體系結構和通信體系結構三個層面進行了分析
    發表于 11-03 16:24 ?8852次閱讀
    無線傳感器網絡的<b class='flag-5'>體系結構</b><b class='flag-5'>分析</b>

    S3C2440時鐘體系結構

    這些文章不太懂,建議購買視頻進一步學習。購買地址:http://t.elecfans.com/topic/20.html?elecfans_trackid=xybanner第001節_S3C2440時鐘體系結構
    發表于 05-08 11:34

    時鐘體系疑問

    老師講時鐘體系時,FCLK=400MHz,HCLK=100MHz,PLCK=50MHz,為啥說FCLK:HCLK:PLCK=1:4:8,不是應該是400 : 100 : 50 = 8 : 4 : 1嗎?
    發表于 05-06 02:28

    PSoC 5體系結構中是否存在時鐘鎖定?

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

    STM32的存儲器、電源和時鐘體系

    STM32的存儲器、電源和時鐘體系-第3季第2部分視頻課程 互聯網課程品牌《...
    發表于 08-03 06:55

    為什么要了解時鐘體系

    stm32時鐘系統基于stm32f407zgt6芯片給單片機提供一個時鐘信號(一個非常穩定的頻率信號),使單片機各內部組件同步工作,并且在和外部設備通信時是也能達到同步。為什么要了解
    發表于 08-10 08:10

    STM32時鐘體系介紹

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

    S3C2440芯片的時鐘體系是怎樣的

    ARM嵌入式系統中S3C2440芯片的時鐘體系
    發表于 12-17 07:39

    Arm的DRTM體系結構規范

    本規范定義了基于Arm A配置文件體系結構的處理器的動態測量信任根(DRTM)體系結構。本規范基于TCG D-RTM體系結構[4]的概念,但作為一個獨立的獨立文檔發揮作用。它使用了TCG體系結
    發表于 08-08 07:45

    LTE體系結構

    LTE體系結構 LTE體系結構可以借助SAE 體系結構來做詳細描述。在SAE 體系結構中,RNC部分功能、GGSN、SGSN 節點將被融合為一個新的節點,
    發表于 06-16 13:09 ?9810次閱讀

    網絡體系結構,什么是網絡體系結構

    網絡體系結構,什么是網絡體系結構 通過通信信道和設備互連起來的多個不同地理位置的計算機系統,要使其能協同工作實現信息交換和資源共享
    發表于 04-06 16:30 ?1691次閱讀

    體系結構建模工具SA分析

    研究體系結構需要一套特定的開發工具,國外已經開發了多種體系結構工具,其中SA(System Architect)是先進成熟的體系結構分析、設計、可視化建模與驗證工具,在
    發表于 07-11 10:33 ?0次下載
    <b class='flag-5'>體系結構</b>建模工具SA<b class='flag-5'>分析</b>

    軟件體系結構分析

    軟件系統因具有節點眾多、節點間聯系復雜、隨時間演化、自組織臨界等特性可將其視為復雜系統。在軟件安全領域,對軟件體系結構分析一直是研究的重點。軟件體系結構具有自身的脆性,這體現在軟件系統的運行過程
    發表于 11-24 10:34 ?15次下載
    軟件<b class='flag-5'>體系結構</b>的<b class='flag-5'>分析</b>

    基于DoDAF的衛星應用信息鏈體系結構

    based methodology)的體系結構建模方法,構建了相應的偵察衛星應用信息鏈體系結構模型。本文首先分析了偵察衛星應用信息鏈的組成結構和任務活動,爾后依據DoDAF
    發表于 01-10 16:58 ?1次下載

    2.STM32的存儲器、電源和時鐘體系

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