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