當今社會各行各業快速發展,電力電子/電源領域,數字化、高頻化趨勢明顯。在提高功率密度的過程中,需要提高開關頻率,但是隨著頻率的提高,PWM精度必然降低。而在XMC4000系列中,搭載了HRPWM外設,可以在原有高頻PWM上,提供更精細的解析度,是電力電子變換高頻化的有力幫手。
1.傳統PWM精度
當CPU工作頻率為100MHz。PWM模塊的計數頻率也一樣,則計數周期為10ns。假設PWM的開關頻率為1MHz,使用向上計數模式,那麼計數周期等於100,此時占空比的精度只有1%,比較值只能在0~100裡面選。如果計數模式是使用“雙邊沿模式”,那麼精度還會再降一半。還有更極限的,100M的主頻使用100M的開關頻率,那占空比也就只有0%和100%,此時HRPWM就是一個解決的方法。
2.高精度PWM(HRPWM)
HRPWM(High Resolution Pulse Width Modulator)模塊可以在原有定時器的基礎上,再次拓展PWM的時間精度,使用的是一種叫做微邊沿定位(MEP)的技術,就是在一個傳統的定時器計數周期中,拆分成很多份來輔助定位邊沿。在XMC4000系列晶片中,就是將一個原有定時器的一個周期再細細拆分成很多個“pico phase”,每個"pico phase"占150ps,如下圖所示,可以通過這每個pico phase來幫助邊沿,從而提高PWM解析度。
相比於普通PWM,比如工作頻率為100MHz的PWM模塊,設定開關頻率為1M,周期為1us。現在想要實現更高解析度的占空比,比如55.45%的占空比,那麼上升沿時間應該控制在55.45*10ns=554.5ns。那取CCU8 Compare值為55,再加上4.5ns=4500ps=150ps*30,即再加上30個150ps的pico phase就可以了。
3.在Dave上配置HRPWM
1.傳統PWM精度
當CPU工作頻率為100MHz。PWM模塊的計數頻率也一樣,則計數周期為10ns。假設PWM的開關頻率為1MHz,使用向上計數模式,那麼計數周期等於100,此時占空比的精度只有1%,比較值只能在0~100裡面選。如果計數模式是使用“雙邊沿模式”,那麼精度還會再降一半。還有更極限的,100M的主頻使用100M的開關頻率,那占空比也就只有0%和100%,此時HRPWM就是一個解決的方法。
2.高精度PWM(HRPWM)
HRPWM(High Resolution Pulse Width Modulator)模塊可以在原有定時器的基礎上,再次拓展PWM的時間精度,使用的是一種叫做微邊沿定位(MEP)的技術,就是在一個傳統的定時器計數周期中,拆分成很多份來輔助定位邊沿。在XMC4000系列晶片中,就是將一個原有定時器的一個周期再細細拆分成很多個“pico phase”,每個"pico phase"占150ps,如下圖所示,可以通過這每個pico phase來幫助邊沿,從而提高PWM解析度。
相比於普通PWM,比如工作頻率為100MHz的PWM模塊,設定開關頻率為1M,周期為1us。現在想要實現更高解析度的占空比,比如55.45%的占空比,那麼上升沿時間應該控制在55.45*10ns=554.5ns。那取CCU8 Compare值為55,再加上4.5ns=4500ps=150ps*30,即再加上30個150ps的pico phase就可以了。
3.在Dave上配置HRPWM
- 首先點擊Add New APP添加HRPWM模塊,雙擊打開HRPWM APP,在“General Setting”中我們可以設置基本的頻率占空比等,和常規PWM的配置完全相同,在我前面的文章中有講到。值得注意的就是多了HRPWM Compare這個寄存器,這個就是用來更改我們的pico phase。其中Actual Duty Cycle就是實際輸出的PWM占空比。
評論