吴忠躺衫网络科技有限公司

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

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

3天內不再提示

STM32時鐘基礎內容和常見問題

FPGA之家 ? 來源:STM32學習分享 ? 作者:STM32學習分享 ? 2021-04-02 16:39 ? 次閱讀

RCC,Reset and Clock Control(復位和時鐘控制),在絕大部分MCU芯片中都包含復位和時鐘控制模塊,也是MCU重要的組成部分。

相比于以前51單片機,現在STM32內部集成的時鐘模塊功能更加豐富,包含時鐘選擇、倍頻、輸出、外設總線時鐘配置等。

STM32 時鐘基礎內容

STM32時鐘樹具有多項功能,可通過分頻和倍頻配置系統以及外設的時鐘頻率,不同型號STM32的時鐘樹有所不同。

1. 時鐘源STM32的時鐘源分為高速、低速兩類時鐘,同時也分內部和外部。HSE:High Speed External,高速外部HSI:High Speed Internal,高速內部LSE:Low Speed External ,低速外部LSI:Low Speed Internal,低速內部

HSE時鐘有兩類時鐘源:

外部晶振/陶瓷諧振器

外部用戶時鐘

3d2099c0-92eb-11eb-8b86-12bb97331649.png

諧振器和負載電容要求必須盡可能地靠近振蕩器的引腳,減少失真和起振時間。外部用戶時鐘必須使用占空比約為 50% (左右)外部時鐘信號來驅動 OSC_IN 引腳,同時 OSC_OUT 引腳應保持為高阻態。

2. 時鐘選擇STM32高速時鐘默認為高速內部時鐘(HSI),如果外接有HSE,可通過軟件配置選擇HSE。

低速內部時鐘(LSI)默認是關閉的,如果需要使用速度時鐘,可通過軟件選擇并開啟LSI,也可以選擇使用LSE。

不管是高速還是低速,在不考慮硬件成本的前提下,建議使用精度更高,誤差更小的外部(HSE、LSE)時鐘。

3. 時鐘源輸出STM32支持MCO引腳輸出時鐘信號,供外部器件使用,同時可通過示波器來測量內部的各項時鐘。

輸出時鐘信號可選擇(HSE、LSE、 PLLCLK)不同來源的信號,同時也支持配置分頻值,這樣就可以盡量滿足輸出時鐘要求。

4. 時鐘分頻和倍頻STM32的分頻和倍頻功能非常強大,可將時鐘源通過分頻與倍頻技術,使各APB總線時鐘頻率配置為指定值,供各外設使用。

重點就是PLL(鎖相環)的幾個參數:PLL_M、PLL_N、PLL_P、PLL_Q,也就是倍頻、分頻因子。

STM32系統時鐘頻率理論上可以超過官方指定的最大值,比如:STM32F103最大72M,你倍頻為96M也可能正常工作,但實際應用存在風險。

5. 時鐘安全系統STM32的還有一個重要的功能,就是時鐘安全系統。如果使能了該功能,HSE 時鐘發生故障,將生成一個中斷來向軟件通知此故障,同時,系統時鐘將切換到 HSI 。

通過STM32時鐘樹,可以一目了然STM32時鐘的功能,比如STM32F4系列時鐘樹:

3d2e5696-92eb-11eb-8b86-12bb97331649.png

更多關于STM32時鐘的信息,可以參看芯片對應的參考手冊。

STM32 時鐘常規配置

STM32 系統時鐘配置在上電之后,初始化外設之前就要做的一件事。重點配置的內容就是上面提到的基礎內容,時鐘選擇、倍頻分頻,以及系統和外設的時鐘頻率等。

1. 標準外設庫配置時鐘

STM32F0、 F1、 F2、 F3、 F4、 L1系列都有標準外設庫,如果外部高速時鐘頻率和官方一致,就可以直接使用標準外設庫中的代碼。

具體為system_stm32fxxx.c中的 SystemInit 和 SetSysClock 函數。

如果你的外部高速時鐘頻率和代碼不對應,需要修改對應的參數。比如:STM32F407外部晶振頻率默認25M,如果你硬件使用12M,則需要修改分頻和倍頻值(也就是那幾個決定時鐘頻率的參數)。

2. STM32CubeMX配置時鐘

使用STM32CubeMX配置時鐘,通過圖形化界面,一目了然,非常方便。如果配置錯誤,還會有“紫色”提醒。

比如:STM32F407時鐘樹配置:

3daa142a-92eb-11eb-8b86-12bb97331649.png

生成的代碼默認在 main.c 文件中的 SystemClock_Config 函數。

提示:分頻和倍頻因子的值不能太大,也不能大小,建議參考官方例程的參考值。

STM32 時鐘常見問題

STM32時鐘模塊一旦出問題就可能引起系統的不正常工作,特別是對時鐘敏感的部分。比如:定時器、串口波特率、I2C時鐘等。

問題一:主頻變慢問題

主頻,指CPU的時鐘頻率,或者系統時鐘。主頻變慢通常表現為程序運行慢、卡頓、通信異常等。

通常引起主頻變慢的原因有:

時鐘源選擇不對;

外時鐘振頻率和軟件配置不對;

分頻和倍頻因子不對;

外部晶振電路不對;

測量主頻是否變慢,最直接的方法是通過配置MCO,輸出內部PLLCLK時鐘(或HSE時鐘),用示波器(或邏輯分析儀)測量其頻率。

問題二:外設總線APB時鐘不同的問題

看到很多人遇到過這樣的問題:TIM定時快(或慢)一半。

這個問題的原因:STM32的APB時鐘存在“x2”的問題。

3dd490ce-92eb-11eb-8b86-12bb97331649.png

也就是說:如果APB分頻值等于1,則x1;APB分頻值不等于1,則x2。用一張動畫來說明:

3dfe3b04-92eb-11eb-8b86-12bb97331649.gif

因此,移植代碼的時候,一定要注意時鐘源(頻率),否則就會快(或慢)一倍的問題。

問題三:外部高速時鐘失效的問題

STM32通常會使用外部晶振作為高速時鐘,如果外部時鐘失效,程序可能表現為“卡頓”的現象。

出現這個問題有可能是外界環境干擾,或者晶振質量問題。此時,應該使能CSS(Clock Security System)時鐘安全系統功能。

使能CSS功能之后,可以做到:

程序進入 NMI 中斷,通過程序判斷 HSE 是否失效;

切換到 HSI 作為時鐘源,重新配置時鐘并啟動程序;

3e2e972c-92eb-11eb-8b86-12bb97331649.png

這樣就能讓“死程序”變活,然后程序照常執行。

提示:CSS功能默認是關閉的。標準外設庫中系統初始化代碼默認配置開啟CSS,STM32CubeMX默認配置是關閉的。

原文標題:從小白到 Pro | RCC時鐘基礎知識和常見問題

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    11

    文章

    1747

    瀏覽量

    131803
  • RCC
    RCC
    +關注

    關注

    0

    文章

    93

    瀏覽量

    27063

原文標題:從小白到 Pro | RCC時鐘基礎知識和常見問題

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    電子設備EMC測試整改:常見問題與解決方案

    深圳南柯電子|電子設備EMC測試整改:常見問題與解決方案
    的頭像 發表于 12-23 11:47 ?307次閱讀
    電子設備EMC測試整改:<b class='flag-5'>常見問題</b>與解決方案

    C2000常見問題解答

    電子發燒友網站提供《C2000常見問題解答.pdf》資料免費下載
    發表于 12-06 16:04 ?0次下載
    C2000<b class='flag-5'>常見問題</b>解答

    soc開發流程常見問題及解決方案

    SOC(System on a Chip,系統級芯片)開發流程中常見問題及解決方案主要包括以下幾個方面: 一、環境問題 常見問題 : 開發環境配置復雜,新手難以快速上手。 依賴項缺失或版本不兼容
    的頭像 發表于 11-10 09:26 ?745次閱讀

    Keystone EDMA常見問題解答

    電子發燒友網站提供《Keystone EDMA常見問題解答.pdf》資料免費下載
    發表于 10-11 10:43 ?0次下載
    Keystone EDMA<b class='flag-5'>常見問題</b>解答

    Keystone NDK常見問題解答

    電子發燒友網站提供《Keystone NDK常見問題解答.pdf》資料免費下載
    發表于 10-11 10:41 ?0次下載
    Keystone NDK<b class='flag-5'>常見問題</b>解答

    KeyStone設備的PCI Express (PCle)常見問題

    電子發燒友網站提供《KeyStone設備的PCI Express (PCle)常見問題.pdf》資料免費下載
    發表于 10-11 10:21 ?0次下載
    KeyStone設備的PCI Express (PCle)<b class='flag-5'>常見問題</b>

    PGA460常見問題(FAQ)和EVM故障排除指南

    電子發燒友網站提供《PGA460常見問題(FAQ)和EVM故障排除指南.pdf》資料免費下載
    發表于 10-09 10:25 ?0次下載
    PGA460<b class='flag-5'>常見問題</b>(FAQ)和EVM故障排除指南

    TVP5146常見問題

    電子發燒友網站提供《TVP5146常見問題.pdf》資料免費下載
    發表于 09-30 09:46 ?0次下載
    TVP5146<b class='flag-5'>常見問題</b>

    TFPxxx常見問題解答

    電子發燒友網站提供《TFPxxx常見問題解答.pdf》資料免費下載
    發表于 09-29 09:56 ?0次下載
    TFPxxx<b class='flag-5'>常見問題</b>解答

    驅動芯片在應用中的常見問題分析與解決

    電子發燒友網站提供《驅動芯片在應用中的常見問題分析與解決.pdf》資料免費下載
    發表于 09-10 10:48 ?0次下載
    驅動芯片在應用中的<b class='flag-5'>常見問題</b>分析與解決

    TMP LM 75比較常見問題解答

    電子發燒友網站提供《TMP LM 75比較常見問題解答.pdf》資料免費下載
    發表于 08-30 11:40 ?0次下載
    TMP LM 75比較<b class='flag-5'>常見問題</b>解答

    PCB設計中的常見問題有哪些?

    一站式PCBA智造廠家今天為大家講講PCB設計中的常見問題有哪些?PCB設計布局時容易出現的五大常見問題。在電子產品的開發過程中,PCB(Printed Circuit Board,印刷電路
    的頭像 發表于 05-23 09:13 ?982次閱讀
    PCB設計中的<b class='flag-5'>常見問題</b>有哪些?

    Ubuntu系統常見問題及解答

    今天小編為大家總結了Ubuntu系統常見問題的解決方法,便于收藏和查閱,大家快快碼住哦~
    的頭像 發表于 04-19 12:29 ?1367次閱讀
    Ubuntu系統<b class='flag-5'>常見問題</b>及解答

    如何解決同步時鐘系統中的常見問題和故障?

    同步時鐘系統 在電力、通信、交通等領域中應用廣泛,為保證其正常運行,需要進行系統的維護和保養。下面是述泰時鐘總結的時鐘同步系統維護常見問題及解決方法的介紹。
    的頭像 發表于 03-19 10:42 ?1834次閱讀
    如何解決同步<b class='flag-5'>時鐘</b>系統中的<b class='flag-5'>常見問題</b>和故障?

    步進電機常見問題及維護

    ? ? ? 步進電機是一種將電脈沖信號轉換為角位移或線位移的開環控制元件,廣泛應用于各種自動化設備和系統中。然而,在使用過程中,步進電機也會遇到一些常見問題,需要進行適當的維護。本文將介紹步進電機
    的頭像 發表于 03-17 08:36 ?1037次閱讀
    步進電機<b class='flag-5'>常見問題</b>及維護
    二八杠认牌绝技| 百家乐投注平台信誉排名| 香港六合彩号码| 百家乐公式球打法| 皇冠在线娱乐城| 做生意招财的东西| 百家乐官网模拟分析程序| 威尼斯人娱乐网注册送38元彩金| 沙龙百家乐破解| 爱博彩到天上人间| 高级百家乐桌布| 好运来百家乐现金网| 肯博百家乐官网现金网| 大发888娱乐场登陆| 百家乐顶路| 六十甲子24山吉凶| 澳门银河娱乐| 太阳城娱乐总站| 澳门百家乐赌钱| 网络百家乐可靠吗| 澳门百家乐官网网上赌博| 丹江口市| 网络老虎机| 青鹏棋牌官网| 大发888刮刮乐下载| 百家乐官网榄梯打法| 235棋牌游戏| 大发888博必发| 澳门1百家乐网| 新百家乐官网.百万筹码| 拉斯维加斯国际娱乐| 诚信百家乐在线平台| 免费百家乐官网追号工具| 百家乐官网诀| 香港百家乐官网玩法| 钻石国际娱乐| 大发888怎么开户| 百家乐几点不用补| 百家乐下注的规律| 贵宾百家乐官网的玩法技巧和规则| 高档百家乐官网桌|