日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

利用STM32高精度定時器實現(xiàn)PWM輸出的實現(xiàn)原理

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

對于HRTIM的輸出,通常是根據(jù)計數(shù)器的值與比較寄存器的值發(fā)生相等匹配事件時進行SET【置1】或RESET【清零】輸出?!居眠^STM32常規(guī)定時器的人這里可能會感受到一些差異?!?/p>

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

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

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

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

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

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

    關注

    116

    文章

    5894

    瀏覽量

    226727
  • STM32
    +關注

    關注

    2313

    文章

    11195

    瀏覽量

    374755
  • 定時器
    +關注

    關注

    23

    文章

    3375

    瀏覽量

    124670

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入剖析NE555定時器:特性、參數(shù)與應用

    深入剖析NE555定時器:特性、參數(shù)與應用 在電子工程師的工具箱中,NE555定時器是一款經典且實用的雙極性集成電路。它以其高精度定時功能和廣泛的應用場景,在電子設計領域占據(jù)著重要的
    的頭像 發(fā)表于 04-28 15:40 ?106次閱讀

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

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

    CW32定時器及其中斷介紹

    )或者產生輸出波形(輸出比較和 PWM)。 高級定時器:高級定時器 (ATIM) 由一個 16 位的自動重載計數(shù)
    發(fā)表于 01-14 06:42

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

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

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

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

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

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

    CW32通用定時器輸出比較

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

    實現(xiàn)一個嵌入式的軟件定時器

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

    CW32A030微控制定時器

    組成,并由一個可編程的預分頻驅動。 ATIM 支持6 個獨立的捕獲/ 比較通道,可實現(xiàn)6 路獨立PWM 輸出或3 對互補PWM
    發(fā)表于 12-04 06:47

    CW32L010+定時器介紹

    :一組,專為低功耗應用而設計,能夠在保持低功耗的同時實現(xiàn)定時功能。 高級控制PWM定時器:一組,支持PWM
    發(fā)表于 12-01 07:53

    CW32定時器及中斷介紹

    )或者產生輸出波形(輸出比較和 PWM)。 高級定時器:高級定時器 (ATIM) 由一個 16 位的自動重載計數(shù)
    發(fā)表于 12-01 07:08

    PWM、定時器、SysTick 區(qū)別及應用場景

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

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

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

    基于 AS32X601 微控制定時器模塊(TIM)技術研究與應用實踐

    闡述了高級定時器和通用定時器的計數(shù)精度、預分頻可編程性,以及輸入捕獲、輸出比較、
    的頭像 發(fā)表于 08-19 16:44 ?1033次閱讀

    stm32H743定時器溢出的原因?怎么解決?

    利用定時器更新中斷實現(xiàn)軟件計時,定時時間是固定的按照{10ms, 20ms,650ms, 50ms,50ms}周期性進行的。由于下一次的計時時間是需要在
    發(fā)表于 06-23 08:26
    梧州市| 清水县| 来宾市| 襄樊市| 无为县| 永仁县| 沅江市| 东乌珠穆沁旗| 西平县| 扎囊县| 鲁山县| 武清区| 宁明县| 衡阳县| 内乡县| 新营市| 宣汉县| 潞西市| 建宁县| 鸡泽县| 晋江市| 汉寿县| 平泉县| 会泽县| 丰原市| 弥渡县| 革吉县| 遵义县| 香河县| 郑州市| 田阳县| 灌阳县| 青冈县| 康乐县| 樟树市| 永济市| 宜春市| 黎城县| 铜鼓县| 康平县| 银川市|