新聞中心

STM32時鐘理解

作者: 時間:2016-11-27 來源:網(wǎng)絡 收藏
一、硬件上的連接問題


本文引用地址:http://m.butianyuan.cn/article/201611/322482.htm

如果使用內(nèi)部RC振蕩器而不使用外部晶振,請按照如下方法處理:

1)對于100腳或144腳的產(chǎn)品,OSC_IN應接地,OSC_OUT應懸空。
2)對于少于100腳的產(chǎn)品,有2種接法:
i)OSC_IN和OSC_OUT分別通過10K電阻接地。此方法可提高EMC性能。
ii)分別重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1為推挽輸出并輸出0。此方法可以減小功耗并(相對上面i)節(jié)省2個外部電阻。


STM32時鐘系統(tǒng)結構圖

時鐘是STM32單片機的脈搏,是單片機的驅(qū)動源。使用任何一個外設都必須打開相應的時鐘。這樣的好處就是,如果不使用一個外設的時候,就把它的時鐘關掉,從而可以降低系統(tǒng)的功耗,達到節(jié)能,實現(xiàn)低功耗的效果。

STM32單片機的時鐘可以由以下3個時鐘源提供:

1、HSI:高速內(nèi)部時鐘信號STM32單片機內(nèi)帶的時鐘 (8M頻率), 精度較差

2、HSE:高速外部時鐘信號,精度高。

來源:i. HSE外部晶體/陶瓷諧振器(晶振);

ii.HSE用戶外部時鐘

3、LSE:低速外部晶體 32.768kHz 主要提供一個精確的時鐘源 一般作為RTC時鐘使用

STM32單片機的將時鐘信號(例如HSE)經(jīng)過分頻或倍頻(PLL)后,得到系統(tǒng)時鐘,系統(tǒng)時鐘經(jīng)過分頻,產(chǎn)生外設所使用的時鐘。

上圖為STM32整個時鐘架構。

為了便于更好了解STM32單片機的時鐘,下面以HSE時鐘的使用為例。

設置時鐘流程:

1、將RCC寄存器重新設置為默認值RCC_DeInit

2、打開外部高速時鐘晶振HSERCC_HSEConfig(RCC_HSE_ON);

3、等待外部高速時鐘晶振工作HSEStartUpStatus = RCC_WaitForHSEStartUp();

4、設置AHB時鐘RCC_HCLKConfig;

5、設置高速AHB時鐘RCC_PCLK2Config;

6、設置低速速AHB時鐘RCC_PCLK1Config

7、設置PLLRCC_PLLConfig

8、打開PLLRCC_PLLCmd(ENABLE);

9、等待PLL工作while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

10、設置系統(tǒng)時鐘RCC_SYSCLKConfig

11、判斷是否PLL是系統(tǒng)時鐘while(RCC_GetSYSCLKSource() != 0x08)

12、打開要使用的外設時鐘RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()

在STM32中,有五個時鐘源,為HSI、HSE、LSI、LSE、PLL。

HSI是高速內(nèi)部時鐘,RC振蕩器,頻率為8MHz。

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

LSI是低速內(nèi)部時鐘,RC振蕩器,頻率為40kHz。

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

PLL為鎖相環(huán)倍頻輸出,其時鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇為2~16倍,但是其輸出頻率最大不得超過72MHz。

其中40kHz的LSI供獨立看門狗IWDG使用,另外它還可以被選擇為實時時鐘RTC的時鐘源。另外,實時時鐘RTC的時鐘源還可以選擇LSE,或者是HSE的128分頻。RTC的時鐘源通過RTCSEL[1:0]來選擇。

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

另外,STM32還可以選擇一個時鐘信號輸出到MCO腳(PA8)上,可以選擇為PLL輸出的2分頻、HSI、HSE、或者系統(tǒng)時鐘。


上一頁 1 2 下一頁

關鍵詞: STM32時鐘理

評論


技術專區(qū)

關閉