引言
在高精度定時器中,可以使用外部事件來對 PWM 輸出進行封鎖,并可自動恢復;在高級控制定時器中,可以使用 Break 或是 Clr_input 來對 PWM 輸出進行封鎖, 然后也可以自動恢復,其中 Break 必須結合 AOE 置位來實現(xiàn)自動恢復。
雖然都可以實現(xiàn)封波后的自動恢復,但是在二者之間還是存在一些區(qū)別。
PWM 封波-自動恢復原理分析
在高精度定時器中,通過配置 PWM 的 Set 與 Reset 事件,當 Set/Reset 事件發(fā)生時,PWM 輸出做出對應的響應。要實現(xiàn)封波-自動恢復,只需配置合適的 Reset 事件,Reset 發(fā)生時,觸發(fā) PWM 輸出 inactive 電平,當 Reset 事件消失后,PWM 將在下個 Set 事件點重新輸出。
在高級控制定時器中,PWM 的工作方式有 PWM_Mode1 與 PWM_Mode2,基于定時器比較器的值與當前 Counter 的值來結合 PWM 模式來確定輸出電平的狀態(tài)。要實現(xiàn)封波-自動恢復,通過 Break(with AOE)或是 Clr_input 功能,當 Break 信號或是 Clr_input 信號電平有效時,PWM 輸出會被封鎖,此時端口電平跟當時的 PWM 配置有關;當 Break 信號或是 Clr_input 信號電平無效時,PWM 將在下個 UEV(更新事件)或是新的 PWM 的周期恢復輸出。
下面通過實際的測試與波形來詳細說明。
高精度定時器的 “封波-自動恢復”
使用的是外部事件 1(EEV1)關聯(lián)外部過流故障信號,利用 EEV1 來封鎖 PWM。配置如下(測試中使用的配置是高電平觸發(fā)事件):
使用以上配置時,只要故障信號持續(xù)高電平的時間和 PWM 的 Set 事件不重疊,那么定時器在下個 PWM 周期能正常輸出 PWM,如下圖所示。
但是如果 Fault 信號高電平的持續(xù)時間覆蓋了 PWM 的 set 事件,那么 PWM 將一直輸出低電平,直到 Fault 信號高電平不再覆蓋 PWM 的 Set 件,如下圖所示。
另外,高精度定時器中的還可以工作的沿模式,例如配置 EEV1 工作在上升沿觸發(fā)模式,如下圖所示。
高級控制定時器的“封波-自動恢復”
高級控制定時器中,break 為電平有效模式(測試中使用的配置是高電平觸發(fā) Break)。當出現(xiàn) Break 信號出現(xiàn)高電平時,PWM 封波,如果 Break 信號高電平未跨周期,那么在下個周期 PWM 能正常輸出,如下圖所示。
但是如果 Break 信號高電平跨周期,即使高電平持續(xù)時間沒有到達比較事件點,下個周期 PWM 依舊繼續(xù)“封波”,直到 Break 信號恢復低電平的下個周期 PWM 才會正常輸出,如下圖所示。
小結
綜上以上的分析與實驗結果:
? 高精度定時器封波基于事件觸發(fā),封波后只要故障消失,則在下個觸發(fā)來臨時就可以立即生效,恢復 PWM 輸出。
? 高級控制定時器封波后,即使故障消失后,也要等到下個 UEV 事件或是新的 PWM周期才能恢復 PWM 輸出。
來源:STM32單片機
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯(lián)系小編進行處理
審核編輯 黃宇
-
PWM
+關注
關注
116文章
5515瀏覽量
219390 -
定時器
+關注
關注
23文章
3298瀏覽量
118922
發(fā)布評論請先 登錄
【轉載】STM32——高級定時器、通用定時器、基本定時器的區(qū)別 精選資料推薦
定時器輸出PWM波
通用定時器和高級定時器PWM波配置的區(qū)別
STM32高級定時器-PWM簡單學習案例

如何利用stm32的高級定時器產(chǎn)生PWM

電機控制基礎——定時器基礎知識與PWM輸出原理

評論