詳解STM32中定時器的時鐘源

2021-01-07 電子發燒友
打開APP
詳解STM32中定時器的時鐘源

胡薇 發表於 2018-09-03 17:14:39

STM32中有多達8個定時器,其中TIM1和TIM8是能夠產生三對PWM互補輸出的高級定時器,常用於三相電機的驅動,它們的時鐘由APB2的輸出產生。其它6個為普通定時器,時鐘由APB1的輸出產生。

下圖是STM32參考手冊上時鐘分配圖中,有關定時器時鐘部分的截圖:

從圖中可以看出,定時器的時鐘不是直接來自APB1或APB2,而是來自於輸入為APB1或APB2的一個倍頻器,圖中的藍色部分。

下面以定時器2~7的時鐘說明這個倍頻器的作用:當APB1的預分頻係數為1時,這個倍頻器不起作用,定時器的時鐘頻率等於APB1的頻率;當 APB1的預分頻係數為其它數值(即預分頻係數為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等於APB1的頻率兩倍。

假定AHB=36MHz,因為APB1允許的最大頻率為36MHz,所以APB1的預分頻係數可以取任意數值;當預分頻係數=1 時,APB1=36MHz,TIM2~7的時鐘頻率=36MHz(倍頻器不起作用);當預分頻係數=2時,APB1=18MHz,在倍頻器的作用下,TIM2~7的時鐘頻率=36MHz。

有人會問,既然需要TIM2~7的時鐘頻率=36MHz,為什麼不直接取APB1的預分頻係數=1?答案是:APB1不但要為TIM2~7提供時鐘,而且還要為其它外設提供時鐘;設置這個倍頻器可以在保證其它外設使用較低時鐘頻率時,TIM2~7仍能得到較高的時鐘頻率。

再舉個例子:當AHB=72MHz時,APB1的預分頻係數必須大於2,因為APB1的最大頻率只能為36MHz。如果APB1的預分頻係數=2,則因為這個倍頻器,TIM2~7仍然能夠得到72MHz的時鐘頻率。能夠使用更高的時鐘頻率,無疑提高了定時器的解析度,這也正是設計這個倍頻器的初衷。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • STM32單片機的定時器和ADC的應用方法介紹
    開啟兩個定時器給FPGA使用 要求是 一、定時器可以在任何時刻關閉,就算計數不滿也要停 二、定時器在再次開啟時可以從0計數 三、定時器可以在啟動過程中停止,然後更改定時周期再開始從0計數
  • STM32定時器應用筆記AN4776之推薦閱讀
    目前STM32家族已有10條產品線,其中都內置多個定時器外設。儘管STM32各系列的定時器無論從數目上還是特性上可能略有差異,但它們整體上還是具有一些公共特性與相同的操作模式。ST官方有一篇針對STM32通用定時器的應用筆記,編號為AN4776,內容較為詳盡豐富。該筆記主要對STM32通用定時器的基本特性、操作模式及相關應用做了細緻清晰的描述。
  • STM32通用定時器(時鐘選擇,模式選擇)
    也就是選擇CK_INT做時鐘,這個簡單,但是有一點要注意,定時器的時鐘不是直接來自APB1或APB2,而是來自於輸入為APB1或APB2的一個倍頻器,當APB1的預分頻係數為1時,這個倍頻器不起作用,定時器的時鐘頻率等於APB1的頻率;當APB1的預分頻係數為其它數值(即預分頻係數為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等於APB1的頻率兩倍。
  • STM32 通用定時器 介紹
    時鐘源問題:本文引用地址:http://www.eepw.com.cn/article/201611/320089.htm名為TIMx的有八個,其中TIM1和TIM8掛在APB2總線上,而TIM2-TIM7則掛在APB1總線上。
  • STM32通用定時器使用詳解
    定時器可以進行定時器基本定時,輸出4路PWM,輸入捕獲本文詳細介紹這三個功能並且利用定時器3並且示例代碼使用2.開發環境開發平臺:keil5單片機:STM32F103ZET6#3.基本定時功能## 3.1定時器時鐘來源分析STM32部分時鐘樹:
  • STM32cubeMX 基於stm32的定時器實現定時1秒LED閃爍
    軟體:STM32CubeMX V4.25.0  keil_u5固件庫版本:STM32Cube FW_F1 V1.6.1硬體:OneNet 麒麟座V1.4在STM32CubeMX中新建項目,選擇正確的MCU型號
  • STM32——PWM輸出總結
    頻率當然又和時鐘信號扯上了關係。高級定時器是掛接到APB2上,而通用定時器是掛接到APB1上的。APB1和APB2的區別就要在於時鐘頻率不同。APB2最高頻率允許72MH,而APB1最高頻率為36MHZ。
  • 【STM32】通用定時器的基本原理(實例:定時器中斷)
    對於這個定時器框圖,分成四部分來講:最頂上的一部分(計數時鐘的選擇)、中間部分(時基單元)、左下部分(輸入捕獲)、右下部分(PWM輸出)。這裡主要介紹一下前兩個,後兩者的內容會在後面的文章中講解到。計數時鐘的選擇計數器時鐘可由下列時鐘源提供:內部時鐘(TIMx_CLK) 外部時鐘模式1:外部捕捉比較引腳(TIx)外部時鐘模式2:外部引腳輸入(TIMx_ETR)內部觸發輸入(ITRx
  • STM32CubeMX時鐘配置詳解
    順便提一下,STM32F103的開發板也差不多的,只不過F1的最高時鐘頻率是72MHz。 (5)配置好後時鐘後可以看到APB1 定時器(如TIM2)頻率為84MHz,APB2 定時器(如TIM1)頻率為168MHz(6)設置NVIC,TIM1是高級定時器,選擇更新中斷,TIM2是通用定時器
  • stm32學習筆記(1):實時時鐘RTC
    --我是分界線你看不見--- 1.RTC簡介(關於stm32的實時時鐘RTC的介紹,參考手冊甚是詳細,自可參考,編程時不懂查閱即可,不必死背硬記。)STM32的實時時鐘(RTC)是一個獨立的定時器,RTC模塊擁有一組連續計數的計數器,在相應軟體配置下,可提供時鐘日曆的功能,修改計數器的值可以重新設置系統當前的時間和日期。RTC模塊和時鐘配置系統(RCC_BDCR寄存器)是在備份區域,即在系統復位或從待機模式喚醒後RTC的設置和時間維持不變。
  • 如何採用STM32中的控制定時器Tim1實現計數器功能
    STM32中的高級控制定時器(Tim1)是由一個16位的自動裝載計數器組成,它由一個可編程預分頻器驅動。 用途在於:測量輸入信號的脈衝寬度(輸入捕獲),或者產生輸出波形(輸出比較,PWM,嵌入死區時間的互補PWM等)。 使用定時器預分頻器和RCC時鐘控制預分頻器,可以實現脈衝寬度和波形周期從幾個微秒到幾個毫秒的調節。
  • 基於51單片機定時器的電子時鐘設計方案
    單片機定時器在目前的產品研發和設計過程中,其主要作用是進行精準的時間定值,因此在對時間控制要求較高的數控領域中,單片機定時器的身影隨處可見。
  • stm32庫函數學習篇通用定時器輸入捕獲功能
    實現功能:PA8隨意延時驅動led燈閃爍,並且將PA8用杜邦線連接到PA7口,PA7是通用定時器TIM3的2通道,在TIM3_CH2觸發中斷程序中取反連接到PD2口的led燈,指示中斷程序運行,並且每次進入中斷後改變觸發捕獲的極性。實現兩個led燈會交替閃爍。
  • Keil MDK下學習STM32注意事項
    2、如果在源文件中未定義以下預定義,需在工程「C/C++」中預定義一欄 填寫「USE_STDPERIPH_DRIVER,STM32F10X_CL(器件所屬分類),USE_STM3210C_EVAL(使用的評估板,庫自帶的歷程中需要根據"readme"文件提示添加,自己的工程除非是在一樣的評估板上運行,否則不需要預定義此項)」
  • STM32:利用定時器的PWM輸出
    PWM,Pulse Width Modulation,即脈衝寬度調製,就是利用定時器的計數功能實現對模擬輸出的控制,可以產生周期和佔空比可調的信號輸出。連續輸出的話就會產生方波,周期由自動重裝載值ARR(TIMx_ARR)決定,佔空比由捕獲/比較寄存器(TIMx_CCR1~4)值決定。
  • 單片機中各種周期的關係與定時器原理
    但是在8051F310中,CIP-51 微控制器內核採用流水線結構,與標準的 8051 結構相比指令執行速度有很大的提高。在一個標準的 8051 中,除 MUL和 DIV以外所有指令都需要 12 或 24 個系統時鐘周期,最大系統時鐘頻率為 12-24MHz。
  • 單片機MSP430入門-理論⑦--定時器模塊-定時器A②
    單片機MSP430入門-理論⑦--定時器模塊-定時器A②上期大概給大家匯總介紹了,定時器模塊中比較重要並且常用的定時器A,大概說了下定時器A的兩種常用模式,比較模式和捕獲模式先大概解釋下這幾個位的作用:Unused bits 15-10 未定義TASSELx bits 9-8 選擇Timer_A的時鐘源
  • STM32關於GPIO的問題
    有的人說當用的晶片自帶的外設時都要打開 AFIO 時鐘,但我用到usart1時沒有打開AFIO 時鐘,照樣能用usart,這是為什麼?總之問這個問題的根本原因是AFIO的時鐘要在什麼情況下打開?答:1、串口必須要打開AFIO時鐘,不然不能工作。可能你的初始化函數、RCC配置中有開啟的地方。 2、AFIO在你需要使用某一模塊時,比如你想使用GPIOC,這個時候要打開GPIOC模塊的時鐘。
  • 硬體設計篇3:STM32MP1微處理器之時鐘篇
    本文涉及的內容主要包含在以下幾個文檔中,文檔可從ST官方網站與意法半導體stm32中國下載。 外部時鐘源(HSE旁路): 在這個模式中,必須為OSC_IN引腳提供外部時鐘,它的頻率範圍為8 MHz ~50MHz(需要參考STM32MP15x
  • STM32F4——定時器原理及應用中斷、輸入捕獲、PWM輸出
    5、觸發輸入作為外部時鐘或按周期電源管理。下邊會針對部分應用做相關介紹和代碼分析。三、框圖: 下圖是通用定時器TIM2~TIM5的框圖,其他定時器的框圖和該框圖是類似的,只不過是在該框圖的基礎上做相應的裁剪做出小的變動。