有人使用STM32G474芯片的片上高精度定時(shí)器HRTIM,他想使用其輸出功能的Burst Mode。但不知如何使用,想找找參考例程。我這里就使用STM32G474芯片做下應(yīng)用演示。
我們知道,STM32家族中有多個(gè)系列或子系列芯片內(nèi)置HRTIM定時(shí)器。這里以STM32G474芯片為藍(lán)本簡(jiǎn)單介紹下HRTIM時(shí)基單元中輸出功能的BURST MODE原理及實(shí)現(xiàn)過程。HRTIM時(shí)基單元中輸出模塊【或通道】可以有三種工作狀態(tài),即運(yùn)行態(tài)、空閑態(tài)、出錯(cuò)異常態(tài)【RUN、IDLE和FAULT】。
【注 :上面截圖來自STM32G4系列參考手冊(cè)】
此處所要講的Burst模式其實(shí)就是運(yùn)行態(tài)和空閑態(tài)交替地實(shí)現(xiàn)輸出的模式,即輸出通道一會(huì)工作在運(yùn)行狀態(tài)、一會(huì)工作在空閑狀態(tài),每種狀態(tài)的持續(xù)時(shí)間可以編程,由Burst Mode控制器管理。
HRTIM輸出單元的Burst 操作模式在輕量負(fù)載的電源逆變器產(chǎn)品中用得比較常見。通過減少輸出跳變次數(shù)及開關(guān)損耗,可以顯著地提升轉(zhuǎn)換效率。
當(dāng)工作在Burst模式時(shí)【下文中文我統(tǒng)一用交替輸出模式來表述】,典型應(yīng)用就是1個(gè)或幾個(gè)周期的運(yùn)行狀態(tài)的有效輸出后,緊跟著輸出相應(yīng)周期數(shù)的空閑狀態(tài),可以單次性,也可以周期性地實(shí)現(xiàn)。比方下圖就是一個(gè)工作在交替輸出模式的示例【注 :下面截圖來自STM32G4系列參考手冊(cè)】:
結(jié)合上圖我們可以看出,交替輸出控制器包括三個(gè)東西:
Burst計(jì)數(shù)器:時(shí)鐘源【Burst Clock】可以有多種,甚至可以是HRTIM以外的事件,比較典型的是PWM周期事件。
寄存器HRTIM_BMCMP:用它定義空閑時(shí)間段長(zhǎng)度。
寄存器HRTIM_BMPER:用它來定義一次交替輸出的整個(gè)時(shí)間段,即上面的空閑事件段加上運(yùn)行態(tài)時(shí)間段。時(shí)間段長(zhǎng)短通過計(jì)數(shù)器的計(jì)數(shù)值來標(biāo)定。【注 :下面截圖來自STM32G4系列參考手冊(cè)】
上圖中的交替輸出模塊的計(jì)數(shù)器的時(shí)鐘源是HRTIM定時(shí)器單元的計(jì)數(shù)周期事件;
HRTIM_BMCMP=4,則一次交替輸出的時(shí)間段內(nèi)有5個(gè)計(jì)數(shù)周期做空閑輸出;
HRTIM_BMPER=7,則一次交替輸出的時(shí)間段為8個(gè)計(jì)數(shù)周期,其中運(yùn)行處于運(yùn)行態(tài)有3個(gè)周期;
另外,要進(jìn)入交替輸出模式,還需要觸發(fā)信號(hào)來激活。能觸發(fā)交替輸出模式的事件很多,可以是HRTIM的時(shí)基單元的復(fù)位事件、溢出事件、比較事件、重復(fù)計(jì)數(shù)事件等,還可以來自其它片上常規(guī)定時(shí)器的事件。
在下面的演示示例中,我選用TIMA的復(fù)位事件作為交替輸出模式的觸發(fā)事件。那么,現(xiàn)在就以STM32G474芯片為例,來介紹下HRTIM交替輸出模式的實(shí)現(xiàn)過程。
我使用STM32CubeMx圖形化工具進(jìn)行基本配置。使用HRTIM里的TIMA單元,并開啟其TA1/TA2的兩路PWM輸出。關(guān)于這兩個(gè)通道的配置參數(shù)基本一樣,有一點(diǎn)差別就是我只開啟了TA1的交替輸出模式,而沒有開啟TA2的。這樣可以明顯地做效果比較。重點(diǎn)關(guān)注下面配置截圖中帶下劃線,尤其紅色下劃線的地方。
在交替輸出模式配置【Burst Mode configuration】里,我們配置Burst Mode Period為10,它對(duì)應(yīng)前面提到的寄存器HRTIM_BMPER的值,即一次交替輸出的整個(gè)時(shí)間段為11個(gè)周期。
配置Burst Mode Idle Duration為4,它對(duì)應(yīng)前面提到的寄存器HRTIM_BMCMP,即一次交替輸出時(shí)間段中有5個(gè)周期處于空閑輸出【當(dāng)然空閑輸出電平可以根據(jù)需要選擇性配置,這里輸出低電平】。至于交替輸出模式的觸發(fā)信號(hào),這里選擇的是TIMA的復(fù)位事件,交替輸出模式的計(jì)數(shù)時(shí)鐘選擇TIMA的周期性溢出事件。當(dāng)然,具體應(yīng)用時(shí)我們可以根據(jù)實(shí)際需要選擇。
其它配置細(xì)節(jié)這里就不啰嗦了,先跑出效果來。然后自己結(jié)合手冊(cè)嘗試調(diào)整,逐漸加深理解,慢慢進(jìn)入自由使用。
基于我上面的配置,創(chuàng)建基于HAL庫(kù)的工程后,只需添加幾行如下代碼即可運(yùn)行查看結(jié)果。
上面截圖就是基于前面配置及代碼的實(shí)現(xiàn)結(jié)果。不難看出,TA1開啟了交替輸出功能,TA2沒有開啟。從TA1的輸出,我們可以看出整個(gè)交替輸出時(shí)間段為11個(gè)周期,其中6個(gè)周期為有效運(yùn)行狀態(tài),5個(gè)周期處于空閑輸出狀態(tài)。
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5363瀏覽量
121158 -
STM32
+關(guān)注
關(guān)注
2272文章
10923瀏覽量
357562 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3255瀏覽量
115369 -
PWM輸出
+關(guān)注
關(guān)注
1文章
66瀏覽量
5219 -
stm32cubemx
+關(guān)注
關(guān)注
5文章
284瀏覽量
15002 -
STM32芯片
+關(guān)注
關(guān)注
0文章
38瀏覽量
4424
原文標(biāo)題:STM32 HRTIM Burst輸出模式實(shí)現(xiàn)示例
文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論