• 資料介紹
  • 在線預覽
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

LAT1451 HRTimer 同步 TIM1 產(chǎn)生 4 路相移 PWM 以及觸發(fā) ADC 的方法

03/11 16:22
863
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

LAT1451 HRTimer 同步 TIM1 產(chǎn)生 4 路相移 PWM 以及觸發(fā) ADC 的方法

1.75 MB

1、引言

STM32 的 Timer 種類眾多,有 High-resolution timer (HRTimer), Advanced-controltimers, General-purpose timers 等,雖然這些 Timer 都是各自獨立的模塊,但是它們之間是可以進行同步以及組合使用的。

本文介紹了一種 High-resolution timer (HRTimer)同步 Advanced-control timer(TIM1)產(chǎn)生 4 路相移 PWM 的方法,即 HRTimer 產(chǎn)生 3 路相移 PWM,再用 TIM1 產(chǎn)生 1路相移 PWM,這四路 PWM 相位差為 90°。與此同時,HRTimer 產(chǎn)生的 3 路 PWM 觸發(fā)ADC 規(guī)則通道采樣,采樣結果用 DMA 搬運到指定地址。

2、試驗目的

硬件方面,我們選用 ST 官方 NUCLEO-G474 板子作為測試板。軟件方面選用 CubeMx工具進行配置并創(chuàng)建基于 HAL 庫的工程代碼,編譯器采用 ARM Keil。

2.1. 模塊框架

這里我們選用 STM32G474 芯片,其內部擁有 HRTimer,以及 TIM1,ADC,DMA模塊。我們用 HRTimer 的 Master Timer 的比較器 Compare1,Compare2, Compare3分別去同步子 Timer(TimerA, TimerB, TimerC),從而來調整 3 個子 TimerTimerA/TimerB/TimerC 的相位。同時 HRTimer 發(fā)出同步信號給 TIM1,使得 TIM1 跟 HRTimer 的 Master Timer 同步。

另外,HRTimer 的子 Timer(TimerA, TimerB, TimerC)分別發(fā)出 Trigger 信號給ADC 采樣,這些 Trigger 信號是“或”的關系,通過 ADC_Trigger1 內部信號去觸發(fā)ADC1 的規(guī)則通道采樣。ADC 的采樣結果用 DMA 再搬運到內存中。

3、CubeMX 軟件配置

4、試驗結果

將程序下載到 NUCLEO-G474 板中,然后運行,用示波器觀察。ADC 指示的窄脈沖(PC8)表示 ADC 采樣 3 路內部模擬信號完成,并且將 ADC 采樣結果搬運到adc_buf[3]這個數(shù)組里面。其時間是在 TA1/TB1/TC1 中心偏后的地方,這是由于觸發(fā)是在TA1/TB1/TC1 的中心,但是 ADC 轉換/DMA 搬運都需要時間。

5、小結

移相 PWM 輸出在數(shù)字電源領域,尤其并聯(lián)輸入/輸出拓撲里非常常見,移相 PWM 輸出可以減小總體輸入/輸出電流紋波。在此例程中,主要用到了以下知識點:? Timer 之間的同步方法:在本例程中我們用到了內部信號 tim_itr10 來同步 TIM1

啟動。

在線預覽

相關推薦