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