關(guān)鍵詞:HRTIME, PWM,丟波,消隱
目錄預(yù)覽
1.前言
2.問題描述
3.原因分析
4.解決方法
5.小結(jié)
2.
問題描述
Master Timer:
Interleaved Mode:Half mode
Timer A :
Up-Down Mode : Up-counting
Timer counter reset trigger source : Master timer period event
PWM set source : Master timer period event
PWM reset source : Timer compare 3 event + EEV4
Timer B :
Up-Down Mode : Up-counting
Timer counter reset trigger source : Master timer compare 1 event
PWM set source : Master timer compare 1 event
PWM reset source : Timer compare 3 event + EEV4
EEV4 :
Source:EE source 2 – COMP1
Sensitivity:Falling edge
Fast Mode:re-sync mode
Filtering : Blanking from counter reset/roll-over to compare 1
Latch : Ignored if happens during a blank
使用以上的配置,正常情況下產(chǎn)生的 PWM 如下所示,C1/C2 分別為 TA1 與 TB1,C3 為EEV4,下降沿觸發(fā)事件,使 PWM reset。

但是當(dāng)外部事件發(fā)生的點接近于 PWM 周期值時,就會出現(xiàn) “丟波”,如下圖所示。

展開其中的部分波形觀察如下

3.
原因分析
對 PWM 丟失的波形進行分析,當(dāng)該情況發(fā)生時,EEV4 發(fā)生的時間點已經(jīng)晚于 CMP3 事件,正常波形的占空比也與設(shè)定的最大允許占空比一致。丟波情形節(jié)點:在 EEV4 事件發(fā)生的時間點靠近 TA1 或 TB1 波形的 set 點處才會出現(xiàn)。

為什么會出現(xiàn)“丟波”?從波形上分析,唯一可能的原因就是 C1/C2 的 set 事件被“忽略”了 ,導(dǎo)致整個周期一直處于低電平狀態(tài)。在高精度定時器中,若多個事件同時發(fā)生的時候就會出現(xiàn)事件被“忽略”的情況,且 reset 事件具備最高優(yōu)先級(除了多個事件都來源于同一定時器的CMP、PER 事件),導(dǎo)致 set 事件被“忽略”,可閱讀 RM 的 26.3.7 Set / reset events priorities and narrow pulses management 了解更多詳細(xì)的規(guī)則。
從客戶實際的配置中可確認(rèn)在“丟波”情況出現(xiàn)時,EEV4 不會跨周期,且實際的波形也驗證了該點,C3 的下降沿先于 C1/C2 的上升沿出現(xiàn)的,那么一般就會理解 EEV4 導(dǎo)致的 reset 事件不會與 PWM 的 set 事件 Master timer period/ compare 1 event 同時出現(xiàn),且客戶的配置中對EEV4 添加了消隱功能, blanking 區(qū)間為 counter reset/roll-over to compare 1,即使 EEV4 與Master timer period/ compare 1 event 同時出現(xiàn),也應(yīng)該被過濾掉,set 事件不應(yīng)該被忽略。總結(jié)如下:
? EEV4 不會與 Master timer period/ compare 1 event 同時出現(xiàn);
? 即使同時出現(xiàn),EEV4 也應(yīng)該被消隱過濾掉。但是 EEV4 作為外部事件作用于高精度定時器(復(fù)位 counter 或是 set/reset PWM 輸出),其從事件發(fā)生到生效是存在一定的內(nèi)部延時(26.3.8 External events global conditioning),如下圖所示。在 re-sync 模式下,這個延時一般會在 60ns 左右。
左右滑動查看變化
在高精度定時器中對多個事件同時出現(xiàn)的處理都是以事件的實際生效點為準(zhǔn),所以當(dāng) EEV4的下降沿發(fā)生點靠近 PWM set 事件的情況下,經(jīng)過內(nèi)部延時后,就可能會與 set 事件同時出現(xiàn)了。
關(guān)于消隱功能的 blanking 區(qū)間,比如本文中的 counter reset/roll-over to compare 1,一般的理解是從起點到終點全部過濾,但是實際情況是在設(shè)定的起點處 blanking 不會生效(經(jīng) division確認(rèn)),即 blanking 區(qū)間不是閉區(qū)間。另外需要注意的是消隱功能作用的也是事件的實際生效點,而非發(fā)生點。
對以上的分析總結(jié)如下:
?多個事件同時出現(xiàn)的處理過程中,以事件的實際生效點為準(zhǔn),而非發(fā)生點;
? 消隱功能在 blanking 區(qū)間的起始點無效,且消隱對象為實際生效點在區(qū)間內(nèi)的事件。
客戶的配置中,blanking 區(qū)間的起始點與 PWM 的 set 點為同一個點,若是 reset 事件 EEV4通過內(nèi)部延時后剛好也落在這個點上,那么消隱不生效,reset 相對 set 優(yōu)先級高,結(jié)果就是 set事件被忽略,PWM 輸出繼續(xù)保持低電平,也是我們觀察到的 PWM“丟波”。基于上述分析,對客戶描述現(xiàn)象進行復(fù)現(xiàn),很容易捕捉到“丟波”現(xiàn)象,本文中提供的“丟波”時的波形就是基于以上的分析與實驗獲取的。
-
單片機
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650546 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
365022
原文標(biāo)題:工程師筆記|STM32G474 HRTIME PWM 丟波問題分析與解決
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
STM32G474如何實現(xiàn)Buck變換器的COT控制模式?
有一個關(guān)于STM32G474雙BANK的測試問題求解答
求助,關(guān)于STM32G474雙BANK的測試問題求解

硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師


stm32G474的flash模式如何判定?
stm32g474 hrtim中怎么使用dual channel DAC trigger?
STM32G474利用高精度HRTIM怎么捕獲外部波形計算波形頻率?
STM32G474的DAC4無輸出怎么解決?

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技

評論