有STM32用戶使用STM32F3系列MCU開(kāi)發(fā)產(chǎn)品,想利用片內(nèi)定時(shí)器實(shí)現(xiàn)移相全橋的PWM波形輸出。具體要求如下,并希望輸出下圖所示波形:
1、A與B波形的頻率及占空比相同,波形錯(cuò)位的時(shí)間需可調(diào),如圖上半部分所示。
2、A與/A是同頻率、同占空比的互補(bǔ)波形,兩個(gè)波形的高電平之間可插入死區(qū)。
3、B與/B的關(guān)系同A與/A,如圖中下半部分的圖示。
要實(shí)現(xiàn)上面的波形,我們可以通過(guò)靈活運(yùn)用比較輸出的toggle模式結(jié)合DMA來(lái)實(shí)現(xiàn),
不過(guò),這對(duì)很多人來(lái)說(shuō),難度可能有點(diǎn)大。
具體到這里,因?yàn)樗x擇了STM32F3系列,而STM32F3/L4/F7/H7等系列的定時(shí)器都具備非對(duì)稱PWM輸出模式或組合輸出模式,若使用非對(duì)稱PWM輸出模式實(shí)現(xiàn)上述輸出就比較方便省事。下面一起來(lái)看看。
所謂非對(duì)稱PWM輸出模式它是相對(duì)基于中心對(duì)稱計(jì)數(shù)時(shí)的對(duì)稱PWM輸出而言的。當(dāng)計(jì)數(shù)模式為中心對(duì)齊,某個(gè)輸出通道利用一個(gè)比較寄存器做PWM輸出時(shí),其對(duì)應(yīng)的PWM輸出波形呈中心對(duì)稱,如下圖所示:
那這里的非對(duì)稱PWM輸出呢?同樣采用中心對(duì)齊計(jì)數(shù)模式,1個(gè)通道的輸出要用到2個(gè)比較寄存器的值進(jìn)行比較翻轉(zhuǎn)。比方定時(shí)器通道3的輸出,根據(jù)CCR3和CCR4的值分別在向上計(jì)數(shù)和向下計(jì)數(shù)過(guò)程中做兩次比較而產(chǎn)生輸出,由于CCR3與CCR4的值往往不一致進(jìn)而輸出非對(duì)稱的PWM波形。如下圖所示:
關(guān)于定時(shí)器比較輸出的非對(duì)稱PWM模式,OC1REFC或OC2REFC的輸出特征由CCR1和CCR2的值及所選PWM模式?jīng)Q定,同樣,OC3REFC或OC4REFC的輸出特征由CCR3和CCR4的值和所選PWM模式?jīng)Q定。
STM32參考手冊(cè)中在這個(gè)地方可能講得比較簡(jiǎn)單,我這里再畫(huà)圖示意下。OC1/OC2都使用非對(duì)稱PWM輸出模式。CCR1=3,CCR2=6,ARR=8。注意,采用非對(duì)稱PWM輸出模式一定要使用中心對(duì)齊計(jì)數(shù)模式。
從上圖中我們不難看出,對(duì)于OC1REFC和OC2REFC,它們的輸出產(chǎn)生了相差,該相差取決于CCR1與CCR2的值。基于這點(diǎn),我們就可以實(shí)現(xiàn)上面的A、B輸出的相移問(wèn)題,即通過(guò)修改CCR的值即可自由調(diào)整相差?!綩CxREFC信號(hào)最終還是輸出到OCx端的,并支持互補(bǔ)輸出?!?/p>
這時(shí)我們?cè)匍_(kāi)啟這兩路的互補(bǔ)輸出,到此就可以實(shí)現(xiàn)客戶的輸出要求了。
下面我們利用STM32CubeMx神器進(jìn)行初始化配置?!玖私庀玛P(guān)鍵配置就好】
配置時(shí)鐘等,然后生成初始化代碼并打開(kāi)相關(guān)工程。添加需要的用戶代碼。代碼很簡(jiǎn)單,是基于cube HAL庫(kù)。【開(kāi)啟CH1/CH2及互補(bǔ)通道的PWM輸出功能,使能主輸出、開(kāi)啟計(jì)數(shù)器?!?/p>
看下輸出結(jié)果【未插入死區(qū)】:
我們也可以基于互補(bǔ)通道插入死區(qū),得到帶死區(qū)的輸出結(jié)果。
看到這里,是不是覺(jué)得這個(gè)非對(duì)稱PWM模式對(duì)實(shí)現(xiàn)那些相差可調(diào)的驅(qū)動(dòng)波形很方便?好,關(guān)于STM32定時(shí)器的非對(duì)稱PWM功能輸出就介紹到這里。當(dāng)然,它還可以有些其它靈活的用法,有興趣可以進(jìn)一步了解并為你所用。
-
PWM
+關(guān)注
關(guān)注
114文章
5118瀏覽量
213157 -
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354289 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3231瀏覽量
114326
原文標(biāo)題:STM32定時(shí)器非對(duì)稱PWM輸出模式應(yīng)用示例
文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論