Tangwx

Tangwx

博客网站

STM32 32.768KHz和8MHz兩個晶振的作用

STM32 32.768KHz 和 8MHz 兩個晶振的作用#

通常情況下,對於一些成熟的STM32開發板,在其電路原理圖的設計中,MCU外接了兩個晶振。一個是低速晶振 32.768kHz,另一個是高速晶振 8MHZ。下文探討二者的作用。

1. STM32 原理圖#

通常情況下,一些成熟的開發板在對STM32晶片進行原理圖設計時,會使用兩個晶振,如下圖:

image-20230411094030925

在進行晶振貼片時,由於晶振的體積比四周電阻體積大很多,晶振會佔用較多的空間。如下圖:

image-20230411094543614

這對我們製作一些超小型電路板是不利的,因為板子空間有限。為此,我們需要理解這兩個晶振的作用,尤其是低速晶振 32.768kHz,對其適當取捨。

2. CubeMX時鐘配置圖#

STM32官方推薦的開發工具CubeMX中,我們可以直觀的看到MCU的時鐘配置圖。在圖中可以看到晶片的時鐘配置情況,同時也可以看到低速晶振 32.768kHz 和高速晶振 8MHZ的入口。如下圖左側紅框:

image-20230411094412915

2.1 低速晶振 32.768kHz#

從圖中可以看出,低速晶振 32.768kHz 連接LSE(low-speed external clock signal),最終到達 **RTC**(real-time clock)。

RTC 是一個獨立的定時器 1 。從 real-time clock(實時時鐘)四字可以理解,RTC可以為系統實時記錄當前系統時間和日期,不管晶片有沒有掉電。如果想要使用 RTC 實時記錄系統時間,晶片需要接入額外備用電源,通常為紐扣電池。這樣以來,RTC 在晶片掉電後,可以由電池供電繼續運行 2

對於掉電後不需要記錄系統時間的電路板,我們將低速晶振 32.768kHz 捨去,節約板子空間,精簡電路設計。

2.2 高速晶振 8MHZ#

從圖中可以看出,高速晶振 8MHz 連接HSE(high-speed external clock signal),最終到達 **SYSCLK**(system clock)。

SYSCLK 是系統時鐘,為晶片內部各大模塊的運轉提供動力,不可缺少。高速晶振8MHz作為系統時鐘的來源,可以由晶片內部的 HSI RC 時鐘源或晶片外部的 獨立時鐘源 提供。這篇文章3提到在使用晶片內部的 HSI RC 時鐘源做為系統時鐘時,發現時鐘有偏差,導致串口設備無法使用。由於晶片內部的 HSI RC 時鐘源不夠精準,我們通常採用外部獨立時鐘源來為晶片提供系統時鐘。

對於 STM32 電路板,外部高速晶振 8MHz 需要保留,為晶片提供系統時鐘,使晶片能夠正常工作。

3. 參考文獻#


  1. 【STM32】RTC 實時時鐘,步驟超細詳解,一文看懂 RTC ↩︎
  2. [RTC 實時時鐘實驗 (低功耗、紐扣電池供電)](https://blog.csdn.net/zhuguanlin121/article/details/121430674?ops_request_misc=&request_id=&biz_id=102&utm_term=RTC 需要供電 & utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-121430674.142^v40^control,185^v2^control&spm=1018.2226.3001.4187) ↩︎
  3. [STM32 HSI 時鐘偏差問題](https://blog.csdn.net/Roomen0/article/details/105782637/?ops_request_misc=&request_id=&biz_id=102&utm_term=stm32 HSI 不准 & utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-105782637.142^v40^control,185^v2^control&spm=1018.2226.3001.4187) ↩︎
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。