現(xiàn)在有STM32用戶要實現(xiàn)下面的需求。
上面時序圖中的1號波形來自某視頻處理相關(guān)器件,現(xiàn)在要根據(jù)1號時序產(chǎn)生2號時序波形。2號波形相比1號波形有90°的相移,二者頻率一樣。如何利用STM32TIMER實現(xiàn)2號輸出波形呢?
我們這里可以考慮使用TIMER的單脈沖模式來實現(xiàn)【當然完全可能有其它方式,此處不表】。下面我使用STM32L476Nucleo板【用哪個系列STM32開發(fā)板不重要,都能實現(xiàn)】來演示一下實現(xiàn)過程,重點在配置。
我用TIM3的CH1輸出PMW脈沖模擬上圖中1號波形,然后將其與TIM4的CH1相連,作為TIM4的觸發(fā)信號,觸發(fā)極性為上升沿。TIM4配置在觸發(fā)從模式,基于內(nèi)部時鐘進行計數(shù)并工作在PWM單脈沖模式,使TIM4-CH2輸出的信號成為我們期望的2號波形。這個地方涉及的工作原理及細節(jié)頗多,如PWM輸出單脈沖模式、PWM1與PWM2的區(qū)別、重裝的特性等,這里我就不一一解釋、介紹了,真要啰嗦起來也會長篇大論。這么熱的天,即使我有耐心寫,你們未必有耐心看。我在下面把重點配置都清晰地釋放出來,真正關(guān)注的人結(jié)合這里的配置及實現(xiàn)結(jié)果,反過來消化原理或許更好。
TIM3、TIM4基于主從模式連接,TIM3的CH1輸出上沿啟動TIM4的工作。TIM4的CH2輸出是我們期望的輸出信號。
基于STM32L476Nucleo板的硬件連接關(guān)系圖:
上圖中PA6與PB6相連,PB7為TIM4-CH2的輸出腳。
下面分別是有關(guān)TIM3TIM4的參數(shù)配置:
上面就是全部TIMER配置,用戶代碼就超級簡單了。
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2); //output signal
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); //Act as trigger signal
最后,我們就可以驗證實際結(jié)果了。下圖中,紅色波形為來自TIM3的觸發(fā)信號,對應(yīng)開篇時序圖中的1號時序圖。下圖中的黑色波形為基于觸發(fā)信號的移相輸出,對應(yīng)開篇時序圖中的2號線。
-
mcu
+關(guān)注
關(guān)注
146文章
17964瀏覽量
366419 -
脈沖
+關(guān)注
關(guān)注
20文章
901瀏覽量
97260 -
STM32
+關(guān)注
關(guān)注
2293文章
11031瀏覽量
364622
發(fā)布評論請先 登錄
關(guān)于RM0016單脈沖模式設(shè)置的問題求解
STM32F103高級定時器中,開啟單脈沖模式是不是會立刻清除計數(shù)器使能位?
能不能講下下面的PWM生成(邊緣或中間對齊模式)和單脈沖模式輸出
COMP2在STM32L1上觸發(fā)單脈沖模式
STM32定時器單脈沖模式的相關(guān)資料分享
對單脈沖模式的介紹
有什么方法可以在一種脈沖模式下啟動定時器嗎?
CH32V103基礎(chǔ)教程56-TIM-單脈沖模式
關(guān)于RM0016單脈沖模式設(shè)置問題
三相全數(shù)字移相觸發(fā)電路
STM32定時器單脈沖模式及其應(yīng)用

評論