天天看點

STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹

目錄

概述

時鐘分析

其他時鐘源分析

MCO(微控制器時鐘輸出)

CSS(時鐘安全系統)

通過CubeMX配置時鐘樹

概述

  • STM32時鐘系統主要的目的就是給相對獨立的外設子產品提供時鐘,也是為了降低整個晶片的耗能。
  • 系統時鐘,是處理器運作時間基準(每一條機器指令一個時鐘周期)
  • 時鐘是單片機運作的基礎,時鐘信号推動單片機内各個部分執行相應的指令。
  • 一個單片機内提供多個不同的系統時鐘,可以适應更多的應用場合。
  • 不同的功能子產品會有不同的時鐘上限,是以提供不同的時鐘,也能在一個單片機内放置更多的功能子產品。
  • 對不同子產品的時鐘增加開啟和關閉功能,可以降低單片機的功耗
  • STM32為了低功耗,他将所有的外設時鐘都設定為disable(不使能),用到什麼外設,隻要打開對應外設的時鐘就可以, 其他的沒用到的可以還是disable(不使能),這樣耗能就會減少。  這就是為什麼不管你配置什麼功能都需要先打開對應的時鐘的原因
STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹

各個時鐘源    (左邊的部分)

STM32G0有4個獨立時鐘源:HSI、HSE、LSI、LSE。

①、HSI是高速内部時鐘,RC振蕩器,頻率為16MHz,精度不高。

②、HSE是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率範圍為4MHz~48MHz。

③、LSI是低速内部時鐘,RC振蕩器,頻率為32kHz,提供低功耗時鐘。  

④、LSE是低速外部時鐘,接頻率為32.768kHz的石英晶體。

其中LSI是作為IWDGCLK(獨立看門狗)時鐘源和RTC時鐘源 而獨立使用 

而HSI高速内部時鐘、 HSE高速外部時鐘、 LSI低速内部時鐘,這三個經過分頻或者倍頻 作為系統時鐘來使用

PLL為鎖相環倍頻輸出,基于HSI16或基于HSE的時鐘的頻率相乘,以産生三個獨立的時鐘輸出。允許的輸入頻率範圍是2.66至16 MHz。分頻因子可從1到8進行程式設計

時鐘分析

LSI(低速内部時鐘)

作為IWDG(獨立看門狗)和RTC的時鐘源,單獨使用。

LSE(低速外部時鐘)

可以為RTC、CEC、SYSCLK提供時鐘源。

HSE(高速外部時鐘)

可以為RTC、SYSCLK、PLL提供時鐘源。

HSI(高速内部時鐘)

可以為PLL、HSISYS提供時鐘源,HSISYS再為SYSCLK提供時鐘源

PLL(鎖相環倍頻輸出)

由HSE、HSI輸入,經過分頻倍頻後提供SYSCLK,還用兩組時鐘分别提供給TIM1/TIM15/RNG和ADC/I2S1。

其他時鐘源分析

HSISYS

從HSI16通過除以1到128的可程式設計因子得到的時鐘

PLLPCLK,PLLQCLK,PLLRCLK

從PLL子產品輸出的時鐘

SYSCLK

通過選擇LSE,LSI,HSE,PLLRCLK和HSISYS時鐘之一獲得的時鐘,是整個系統時鐘基準。G0系列頻率最高到64MHz。

HCLK

由SYSCLK通過除以從1到512可程式設計的因子得出的時鐘

HCLK8

 由HCLK八分頻得出的時鐘

 PCLK

從HCLK的時鐘通過除以從1到16可程式設計的因子得出的時鐘

TIMPCLK

 從PCLK派生的時鐘,如果APB預分頻器分頻因子設定為1,則以PCLK頻率運作,否則,以PCLK頻率的兩倍運作

LPTIMx_IN

LPTIMx_INx引腳提供的時鐘,可為LPTIM外設選擇

MCO(微控制器時鐘輸出)

微控制器時鐘輸出(MCO)功能允許将時鐘輸出到外部MCO引腳。 可以選擇以下之一作為MCO時鐘:

• LSI

• LSE

• SYSCLK

• HSI16

• HSE

• PLLRCLK

CSS(時鐘安全系統)

時鐘安全系統可以通過軟體激活。一旦檢測到HSE時鐘故障,則系統時鐘将自動切換到HSISYS,并且禁用HSE振蕩器。如果HSE時鐘也是PLL的時鐘來源,并且發生故障時将PLLRCLK用作系統時鐘,則PLL也被禁用。

通過CubeMX配置時鐘樹

  • 建立工程,并且開啟SWD調試 ;(如何開啟SWD調試,請點選連結)
  • 通過在引腳視圖界面,配置PC6為GPIO_Output;(如何使用GPIO引腳,請點選連結)
  • 在Pinout&Configuration中選中"RCC",在配置欄High Speed Clock(HSE)下拉菜單中選中"Crystal/Ceramic Resonator"
STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹
  • 在Clock Configuration中 ,按下圖配置,在HCLK框中輸入最大64MHz,回車。cubemx軟體會自動計算系數,而不用手動填寫。保持激活CSS。
STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹
  • 然後在Project Manager中,設定好參數資訊。
STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹
STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹
  • 最後點選GENERATE CODE,生成工程檔案。 打開工程項目,進入到MDK軟體
STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹
  •  打開魔術棒工具-Debug-Settings-Flash Download,勾上"Reset and Run",最後就可以編寫代碼,自由發揮吧。
STM32G0學習手冊——時鐘樹管理概述時鐘分析其他時鐘源分析MCO(微控制器時鐘輸出)CSS(時鐘安全系統)通過CubeMX配置時鐘樹

開發闆連結

https://item.taobao.com/item.htm?ft=t&id=617799679179