現在有STM32用戶要實現下面的需求。
上面時序圖中的1號波形來自某視頻處理相關器件,現在要根據1號時序產生2號時序波形。2號波形相比1號波形有90°的相移,二者頻率一樣。如何利用STM32TIMER實現2號輸出波形呢?
我們這里可以考慮使用TIMER的單脈沖模式來實現【當然完全可能有其它方式,此處不表】。下面我使用STM32L476Nucleo板【用哪個系列STM32開發板不重要,都能實現】來演示一下實現過程,重點在配置。
我用TIM3的CH1輸出PMW脈沖模擬上圖中1號波形,然后將其與TIM4的CH1相連,作為TIM4的觸發信號,觸發極性為上升沿。TIM4配置在觸發從模式,基于內部時鐘進行計數并工作在PWM單脈沖模式,使TIM4-CH2輸出的信號成為我們期望的2號波形。這個地方涉及的工作原理及細節頗多,如PWM輸出單脈沖模式、PWM1與PWM2的區別、重裝的特性等,這里我就不一一解釋、介紹了,真要啰嗦起來也會長篇大論。這么熱的天,即使我有耐心寫,你們未必有耐心看。我在下面把重點配置都清晰地釋放出來,真正關注的人結合這里的配置及實現結果,反過來消化原理或許更好。
TIM3、TIM4基于主從模式連接,TIM3的CH1輸出上沿啟動TIM4的工作。TIM4的CH2輸出是我們期望的輸出信號。
基于STM32L476Nucleo板的硬件連接關系圖:
上圖中PA6與PB6相連,PB7為TIM4-CH2的輸出腳。
下面分別是有關TIM3TIM4的參數配置:
上面就是全部TIMER配置,用戶代碼就超級簡單了。
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2); //output signal
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); //Act as trigger signal
最后,我們就可以驗證實際結果了。下圖中,紅色波形為來自TIM3的觸發信號,對應開篇時序圖中的1號時序圖。下圖中的黑色波形為基于觸發信號的移相輸出,對應開篇時序圖中的2號線。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
1 單脈沖輸出 定時器單脈沖輸出是比較輸出應用中的一種模式,所謂的
發表于 12-01 18:51
?2292次閱讀
在RM0016文檔177頁,以下是不是多余: Map IC2 on TI2 by writing CC2S = 01 in the TIM1_CCMR2 register。這是輸入捕獲功能(對于單脈沖模式不需要捕獲輸入信號TI2),如果不是多余這個設置有什么用?
發表于 03-14 07:59
`能不能講下下面的PWM生成(邊緣或中間對齊模式)和單脈沖模式輸出這兩個是不是是定時器的其中兩種功能?我不是很懂,希望有人可以講下,謝謝了.`
發表于 03-30 16:09
我試圖在STM32L1系列上使用COMP2的輸出觸發定時器的單脈沖模式(在我的示例中為TIM4,但如果它需要更改為另一個定時器則非常靈活)。在參考手冊中,單脈沖模式的說明使用TI2FP2作為定時器
發表于 10-23 13:43
請問如何配置TIM為單脈沖模式,TI輸入怎樣設置?有沒有指定是那個引腳,還是可以自己設置的?
發表于 03-05 05:56
STM32的定時器可以配置為單脈沖模式,所謂的單脈沖就是通過配置定時器使其在一個可控延時后,產生一個脈寬可控的脈沖。使用STM32CubeMX工具配置起來非常方便。硬件環境
發表于 12-08 06:05
先看看官方資料對單脈沖模式的介紹下面看C代碼的實現void PWM_GPIO_Init( void ){ PC_DDR_DDR6 = 1; //輸出管腳PC6TIM1_CH1 PC_CR1_C16 = 1;//推挽輸出 PC_.
發表于 01-13 07:08
我希望在一定的延遲后生成脈沖。我已經生成了兩個相移的非對稱 PWM 波形。現在我想在單脈沖模式下觸發另一個定時器。我怎樣才能做到這一點?我不知道如何設置或觸發定時器的單脈沖模式。我是 STM 控制器中定時器編程的新手。
發表于 12-26 07:23
大家好,我閱讀了論壇上的許多帖子,但找不到這個問題的答案:除了通過外部刺激之外,還有什么方法可以在一種脈沖模式下啟動定時器嗎?也就是說,只能通過軟件?怎么做到的?我正在尋找一種控制三相全波整流器
發表于 02-08 08:19
本章教程主要進行單脈沖輸出演示:在單脈沖模式下,TIM2_CH2(PA1)引腳檢測到一個上升沿,則在TIM2_CH1(PA0) 輸出正脈沖。
發表于 04-27 16:53
在RM0016文檔177頁,以下是不是多余: Map IC2 on TI2 by writing CC2S = 01 in the TIM1_CCMR2 register。這是輸入捕獲功能(對于單脈沖模式不需要捕獲輸入信號TI2),如果不是多余這個設置有什么用?
發表于 08-08 08:11
介紹了一種具有單脈沖和雙脈沖模式,并具有缺相保護功能和三相全數字移相觸發電路的設計方案,該
發表于 04-23 17:18
?62次下載
單脈沖輸出模式是定時器比較輸出應用中的一種特殊情況或者特殊應用,是一種特殊的PWM輸出模式。既然
發表于 02-14 15:54
?1.6w次閱讀
STM32的定時器可以配置為單脈沖模式,所謂的單脈沖就是通過配置定時器使其在一個可控延時后,產生一個脈寬可控的脈沖。使用STM32CubeMX工具配置起來非常方便。硬件環境
發表于 11-25 11:06
?64次下載
STM32定時器單脈沖輸出模式
發表于 12-08 20:51
?48次下載
評論