• 資料介紹
    • 問題背景
    • 產生 PWM
    • PWM 濾波輸出
    • 小結
  • 資料預覽
  • 相關推薦
申請入駐 產業(yè)圖譜

LAT1189 Timer結合DMA 2D通道實現不同波形輸出

03/26 09:41
388
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

LAT1189 Timer結合DMA 2D通道實現不同波形輸出

1.08 MB

問題背景

客戶需要使用 MCU 輸出正弦波,但受限于 MCU DAC 數量不足,建議嘗試使用 PWM加濾波方式產生正弦波。同時要求正弦波與固定電平交替輸出。因此可用一個 TIM 輸出PWM,同時用另一個 TIM 來定時切換輸出正弦波或固定電平。

使用 TIM 輸出 PWM 產生正弦波形時,需要結合 GPDMA 來實現。在 STM32U5 系列中,GPDMA 共有 16 個獨立通道,其中 12-15 通道還具有 2D addressing/ repeat 功能。因此也可以使用一個 TIM 加 GPDMA 的一個 2D 通道實現 PWM 波形切換功能。

產生 PWM

本文按以下配置產生 PWM,在 U575 NUCLEO 板測試:

(1)MCU 主頻:100MHz

(2)PWM 頻率 2MHz(周期 500ns),脈寬可調范圍 0~50 個計數時鐘,

(3)每個正弦波周期(10us)對應 20 個 PWM 脈沖,各 PWM 脈寬用計數時鐘

表示分別為:25, 33, 40, 45, 49, 50, 49, 45, 40, 33, 25, 17, 10, 5 , 1 , 0 , 1 , 5 , 10, 17

(4)將步驟 3 中的正弦波重復 1000 次,對應 10ms 的連續(xù)正弦波形

PWM 濾波輸出

小結

通過使用 GPDMA Linked List 模式,使用 2D addressing repeat 功能,能方便實現這種多種波形切換的應用場景。如 Node1 與 Node2 使用不同的數據長度和重復次數,則可得到不同時長的兩種波形;通過增加更多 Node,則可得到多種不同波形。

資料預覽

相關推薦