国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

利用STM32高精度定時器實現PWM輸出的實現原理

茶話MCU ? 來源:ST MCU 信息交流 ? 2020-05-14 09:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

很多STM32系列的MCU內置高精度定時器,比方STM32F334、STM32G4、STM32H7等系列。利用高精度定時器實現PWM輸出應該說是最基本的功能了。不過,在實際應用中,常有人覺得無法實現duty=0或duty=100%的PWM輸出情形。這里以STM32F334的HRTIM為例,簡單介紹下利用它實現PWM輸出的實現原理。

STM32F334的HRTIM的功能框圖如下,由一個MASTER定時器和ABCDE五個定時器單元組成。其中ABCDE五個定時器單元各可以產生2路輸出信號,并支持互補輸出。

先看看跟HRTIM有關的時鐘。別的系列有支持向上、向下計數模式的。

在利用HRTIM中的定時器單元實現PWM輸出時,基于不同的分頻系數對應著不同的分辨率和最低頻率。如下表所示:【截圖來自STM32F334的參考手冊】

顯然,不同分頻比對應不同的計數時鐘fHRCK,根據計數時鐘結合16位的計數寬度可求出最長計數時間,亦即最小的PWM輸出頻率。

但對于高精度定時器HRTIM,由于其自身特定機制的原因,在實現PWM功能時,設計比較值和計數周期值時需遵循下面兩個原則:【注意是FHRTIM時鐘單位,即未被倍頻的時鐘,這里就是那個144Mhz時鐘】

1、 最小值必須不小于3個fHRTIM時鐘單位;

2、最大值不得大于0xFFFE個fHRTIM時鐘單位;

剛才上面說了,HRTIM里面的定時器單元所用的計數時鐘是fHRTIM先經過倍頻后再經過分頻器而來的,那么結合上面的兩個原則,不同分頻比條件下可以設定的計數周期或比較值的范圍就對應到如下表格:

上面表格就是定時器單元不同分頻比時可以設置的計數周期值或用于比較的比較寄存器的值的范圍。比方我們以上面TABLE82中的CKPSC=3時來看看。CKPSC=3,從上面Table81可以得知此時的計數時鐘為源時鐘倍頻后的8分頻,我們在設計PWM計數周期值或比較值時就要求在0x00c~~0xFFFB范圍內配置。鑒于此,有人就得出沒法實現PWM輸出的0占空比或100%占空比的結論,其實這是誤解。

假設此時我們所需要的PWM周期值剛好0xff00.那么比較寄存器CMP的值就可以在0x000c~~0xff00任意設置并能實現有效、可靠比較,顯然,CMP值不要小于0x000c這個起點值【實際上Table82中的Min值都是對應著3個fHRTIM源時鐘單位,因不同分頻比而呈現不同數據而已】,那這不是說PWM輸出不能實現0占空比的情況嗎?非也!

對于HRTIM的輸出,通常是根據計數器的值與比較寄存器的值發生相等匹配事件時進行SET【置1】或RESET【清零】輸出。【用過STM32常規定時器的人這里可能會感受到一些差異。】

比方如上圖所示,在發生比較事件時做RESET輸出,發生PER周期性事件時做SET輸出。

顯然,當我們不斷增加CMP的值,占空比也會相應增大。當CMP的值增加到剛好等于PER的值時,則輸出RESET。因為此時CMP比較事件、PER周期性事件在同一時間點發生,會涉及到事件競爭的仲裁問題。由于比較事件響應優先級高于周期性事件的,所以此時的輸出按比較事件來定,這里輸出RESET,此時也剛好對應著Duty=0的情形。兩個事件總是同時發生,而PER事件競爭不過CMP事件,輸出只好由CMP事件說了算。

按照這種配置,那又如何實現Duty=100%的輸出呢?

很簡單,當我們將CMP的值設置成任意被PER還大的值時,就始終輸出SET信號了。因為此時CMP永遠不會等于PER,即不會發生有效比較匹配事件,無有效比較事件則不會有RESET的輸出,輸出始終由PER事件掌控。

在基于HRTIM做PWM輸出時,弄清了原理后就知道如何靈活編寫代碼了。上面只是大致做了PWM輸出的原理介紹,更多細節還是得細看手冊,比方上面提到的定時器事件及事件響應競爭時的仲裁。

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

    關注

    116

    文章

    5869

    瀏覽量

    225609
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373418
  • 定時器
    +關注

    關注

    23

    文章

    3368

    瀏覽量

    123603

原文標題:STM32高精度定時器PWM輸出話題

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LM555-MIL定時器高精度定時與振蕩的理想之選

    LM555-MIL定時器高精度定時與振蕩的理想之選 在電子設計領域,定時器和振蕩是極為關鍵的元件,它們廣泛應用于各種需要精確時間控制的場
    的頭像 發表于 02-09 10:55 ?343次閱讀

    LAT1173高精度定時器的同步功能應用筆記

    STM32G474 所含的高精度定時器(HRTIMER)其實包含了多個定時器,多個定時器之間可以單獨工作,也可以進行同步,且
    發表于 01-11 17:32 ?0次下載

    LAT1183+高精度定時器中 single-shot 計數模式不工作應用筆記

    客戶使用 STM32G474 的高精度定時器,基于 CubeMX 進行外設配置與代碼生成,將某個子定時器的計數方式設置為 retriggerable single shot 方式,發現
    發表于 01-11 17:28 ?0次下載

    STM32G474 HRTIME PWM 丟波問題分析與解決

    STM32G474 中包含了針對數字電源應用的高精度定時器(HRTIMER),客戶在應用該定時器產生 PWM 時,發現
    發表于 01-04 13:47 ?0次下載

    CW32通用定時器輸出比較

    PWM,用這種方式輸出的方波也叫做PWM波。 現在來看使用PWM功能需要進行哪些操作。先思考,除去基本的定時器配置之外,
    發表于 12-11 06:45

    實現一個嵌入式的軟件定時器

    數量不受限制。 但由于軟件定時器是通過程序實現的,其運行和維護都需要耗費一定的CPU資源,同時精度也相對硬件定時器要差一些。 2.軟件定時器
    發表于 12-10 08:29

    PWM定時器、SysTick 區別及應用場景

    在單片機和嵌入式開發中,經常會遇到PWM(脈寬調制)、定時器、SysTick(系統滴答定時器)這幾個詞。很多初學者容易把它們混為一談,以為都是“定時相關的東西”。其實,它們在本質和應用
    的頭像 發表于 11-17 10:53 ?508次閱讀
    <b class='flag-5'>PWM</b>、<b class='flag-5'>定時器</b>、SysTick 區別及應用場景

    【RA4M2-SENSOR】3、使用GPT定時器-PWM輸出

    結合起來使用的話可以實現更加豐富的功能, 可以對輸入信號進行計數,可以測量輸入信號的脈沖寬度,可以輸出單個脈沖、PWM 等波形,等等。 通過定時器生成
    發表于 09-01 15:20

    MCU定時器/計數

    架構與功能特性? 定時器類型與配置? 高級控制定時器?:支持互補PWM輸出與剎車功能,適用于電機驅動等高精度控制場景。通用
    的頭像 發表于 04-27 13:54 ?776次閱讀

    瑞薩RA8D1單片機輸出PWM實現方法

    也有通過定時器中斷控制IO高低電平輸出實現的。
    的頭像 發表于 04-11 17:07 ?3934次閱讀
    瑞薩RA8D1單片機<b class='flag-5'>輸出</b><b class='flag-5'>PWM</b><b class='flag-5'>實現</b>方法

    TPS3851 帶集成看門狗定時器高精度電壓監控數據手冊

    TPS3851 將精密電壓監控與可編程看門狗定時器相結合。TPS3851比較的欠壓 (V ) 精度為 0.8% (–40°C 至 +125°C) ~ITN~ ) 閾值。該TPS38
    的頭像 發表于 04-10 16:04 ?1048次閱讀
    TPS3851 帶集成看門狗<b class='flag-5'>定時器</b>的<b class='flag-5'>高精度</b>電壓監控<b class='flag-5'>器</b>數據手冊

    TPS3852-Q1 汽車級高精度電壓監控,帶集成窗口看門狗定時器數據手冊

    溫度范圍內實現 0.8% 的精度。 此外,TPS3852-Q1 具有精確的磁滯,使該器件非常適合與緊公差系統一起使用。監控?RESET?delay 具有 15% 精度
    的頭像 發表于 04-10 15:08 ?847次閱讀
    TPS3852-Q1 汽車級<b class='flag-5'>高精度</b>電壓監控<b class='flag-5'>器</b>,帶集成窗口看門狗<b class='flag-5'>定時器</b>數據手冊

    使用stm32f405做6步pwm輸出時,定時器配置由強制輸出轉為pwm,com觸發后會有延遲生效的現象,怎么解決?

    我在使用stm32f405做6步pwm輸出時發現,定時器的配置由pwm改為強制輸出后會在com觸
    發表于 03-13 07:24

    如何使用定時器在任意IO輸出PWM

    在CubeMx內的配置,計劃在PA2口輸出PWM控制風機,但是TIM2已經初始化做輸入捕獲用了,因此需要用到別的未使用的定時器在PA2口輸出PWM
    發表于 03-13 06:04

    stm32同一個定時器不同的通道,可以不同時的輸出pwm波形嗎?

    請問,stm32的同一個定時器,不同的通道,可以不同時的輸出pwm波形嗎?比如tim1的ch1輸出,延時幾毫秒后tim1的ch2
    發表于 03-07 08:20