日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

STM32 时钟系统

發布時間:2023/12/10 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 时钟系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

STM32時鐘系統的基本概念
概念及意義
(1)概念:時鐘系統是由振蕩器(信號源)、定時喚醒器、分頻器等組成的電路。常用的信號源有晶體振蕩器和RC振蕩器。
(2)意義:時鐘對數字電路而言非常重要,沒有時鐘數字電路就沒法工作,其全稱是時鐘頻率,一般由晶振來提供時鐘頻率。在數字電路中,所有數據、邏輯單元等狀態的更新都是以時鐘為基礎的,時鐘頻率在數字電路中起著同步的作用。時鐘是嵌入式系統的脈搏,處理器內核在時鐘驅動下完成指令執行,狀態變換等動作。外設部件在時鐘的驅動下完成各種工作,比如串口的數據發送,A/D轉化,定時器計數等。因此時鐘對于計算機系統是至關重要的,通常時鐘系統出現問題也是致命的,比如振蕩器不起振,振蕩不穩,停振等。

常見的時鐘系統
(1)晶體振蕩器

石英晶體振蕩器是高精度和高穩定度的振蕩器,被廣泛的應用于彩電、計算機等各類振蕩電路中。 優點:相對來說振蕩頻率一般比較穩定,同時精度也比較高 缺點:價格稍微高點,還有用晶體振蕩器一般還需要接兩個15~33pF起振電容。

(2)RC振蕩器

電阻電容構成的振蕩電路,能夠將直流電轉化為具有一定頻率交流信號輸出的電子電路或裝置 優點:實現的成本比較低, 缺點:由于電阻電容的精度問題所以RC振蕩器的振蕩頻率會有誤差,同時也會受到問題濕度的影響

STM32 的時鐘系統圖:

在 STM32 中,有五個時鐘源,為 HSI、HSE、LSI、LSE、PLL。從時鐘頻率來分可以分為高速時鐘源和低速時鐘源,在這 5 個中 HIS,HSE 以及 PLL 是高速時鐘,LSI 和 LSE 是低速時鐘。從來源可分為外部時鐘源和內部時鐘源,外部時鐘源就是從外部通過接晶振的方式獲取時鐘源,其中 HSE 和 LSE 是外部時鐘源,其他的是內部時鐘源。下面我們看看 STM32 的 5 個時鐘源,我們講解順序是按圖中紅圈標示的順序:

①、HSI 是高速內部時鐘,RC 振蕩器,頻率為 8MHz。

②、HSE 是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率范圍為4MHz~16MHz。我們的開發板接的是 8M 的晶振。
③、LSI 是低速內部時鐘,RC 振蕩器,頻率為40kHz。獨立看門狗的時鐘源只能是 LSI,同時 LSI 還可以作為 RTC 的時鐘源。
④、LSE 是低速外部時鐘,接頻率為 32.768kHz 的石英晶體。這個主要是 RTC 的時鐘源。
⑤、PLL 為鎖相環倍頻輸出,其時鐘輸入源可選擇為 HSI/2、HSE 或者 HSE/2。倍頻可選擇為2~16
倍,但是其輸出頻率最大不得超過 72MHz。

5 個時鐘源是怎么給各個外設以及系統提供時鐘的:
A. MCO 是 STM32 的一個時鐘輸出 IO(PA8),它可以選擇一個時鐘信號輸出,可以選擇為 PLL 輸出的 2 分頻、HSI、HSE、或者系統時鐘。這個時鐘可以用來給外部其他系統提供時鐘源。

B. 這里是 RTC 時鐘源,從圖上可以看出,RTC 的時鐘源可以選擇 LSI,LSE,以及HSE 的 128 分頻。

C. 從圖中可以看出 C 處 USB 的時鐘是來自 PLL 時鐘源。STM32 中有一個全速功能的 USB 模塊,其串行接口引擎需要一個頻率為 48MHz 的時鐘源。該時鐘源只能從 PLL 輸出端獲取,可以選擇為 1.5 分頻或者 1 分頻,也就是,當需要使用 USB模塊時,PLL 必須使能,并且時鐘頻率配置為 48MHz 或72MHz。

D. D 處就是 STM32 的系統時鐘 SYSCLK,它是供 STM32 中絕大部分部件工作的時鐘源。系統時鐘可選擇為 PLL 輸出、HSI 或者 HSE。系統時鐘最大頻率為 72MHz,當然你也可以超頻,不過一般情況為了系統穩定性是沒有必要冒風險去超頻的。

E. 這里的 E 處是指其他所有外設了。從時鐘圖上可以看出,其他所有外設的時鐘最終來源都是SYSCLK。SYSCLK 通過 AHB 分頻器分頻后送給各模塊使用。這些模塊包括:

  • AHB 總線、內核、內存和 DMA 使用的 HCLK 時鐘。

  • 通過 8 分頻后送給 Cortex 的系統定時器時鐘,也就是 systick 了。

  • 直接送給 Cortex 的空閑運行時鐘 FCLK。

  • 送給 APB1 分頻器。APB1 分頻器輸出一路供 APB1 外設使用(PCLK1,最大頻率 36MHz),另一路送給定時器(Timer)2、3、4 倍頻器使用。

  • 送給 APB2 分頻器。APB2 分頻器分頻輸出一路供 APB2 外設使用(PCLK2,最大頻率 72MHz),另一路送給定時器(Timer)1 倍頻器使用。

其中需要理解的是 APB1APB2 的區別,APB1 上面連接的是低速外設,包括電源接口、備份接口、CAN、USB、I2C1、I2C2、UART2、UART3 等等,APB2 上面連接的是高速外設包括 UART1、SPI1、Timer1、ADC1、ADC2、所有普通 IO 口(PA~PE)、第二功能 IO 口等。記憶方法是 2>1, APB2 下面所掛的外設的時鐘要比 APB1 的高。

總結一下:
SystemInit()函數中設置的系統時鐘大小:

  • SYSCLK(系統時鐘) =72MHz

  • AHB 總線時鐘(使用 SYSCLK) =72MHz

  • APB1 總線時鐘(PCLK1) =36MHz

  • APB2 總線時鐘(PCLK2) =72MHz

  • PLL 時鐘 =72MHz

RCC相關配置寄存器:

RCC相關頭文件和固件庫源文件:

stm32獨立看門狗和窗口看門狗的區別為:時鐘源不同、中斷不同、使用條件不同。
一、時鐘源不同

  • stm32獨立看門狗:stm32獨立看門狗使用的是內部專門的 40Khz低速時鐘,不需要使能時鐘操作。
  • 窗口看門狗:窗口看門狗使用的是 PCLK1的時鐘,使用前需要先使能時鐘。

二、中斷不同

  • stm32獨立看門狗:stm32獨立看門狗沒有中斷,超時直接位。
  • 窗口看門狗:窗口看門狗可以在中斷中做位前的函數操作。

三、使用條件不同

  • stm32獨立看門狗:stm32獨立看門狗一般用于避免程序跑飛或者死循環。
  • 窗口看門狗:窗口看門狗避免程序不安預定邏輯執行,比如先于理想環境完成,或者后于極限時間超時。

總結

以上是生活随笔為你收集整理的STM32 时钟系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。