目錄預覽
1、問題背景
2、產生PWM
3、PWM濾波輸出
4、小結
01
問題背景
客戶需要使用 MCU 輸出正弦波,但受限于 MCU DAC 數量不足,建議嘗試使用 PWM加濾波方式產生正弦波。同時要求正弦波與固定電平交替輸出。因此可用一個 TIM 輸出PWM,同時用另一個 TIM 來定時切換輸出正弦波或固定電平。
使用 TIM 輸出 PWM 產生正弦波形時,需要結合 GPDMA 來實現。在 STM32U5 系列中,GPDMA 共有 16 個獨立通道,其中 12-15 通道還具有 2D addressing/ repeat 功能。因此也可以使用一個 TIM 加 GPDMA 的一個 2D 通道實現 PWM 波形切換功能。
02
產生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 的連續正弦波形
2.1. STM32CubeMX 生成測試工程
2.1.1. TIM1 CH1 PWM 配置

圖1. TIM1 CH1 PWM
2.1.2. GPDMA CH12 配置
選用 GPDMA 通道 12,并配置為循環模式:

圖2. GPDMA CH12
2.1.3. GPDMA Linked List 配置
創建 Linked List Queue,并配置為搭配 GPDMA 2D 功能通道使用。創建兩個節點,TN1, TN2,并使用循環模式,指定首個循環節點為 TN1。

圖3. Linked List
TN1 節點配置,由此節點結合 TIM 來產生 PWM,并濾波成正弦信號:
(1)TIM1 更新事件作為 DMA 請求
(2)使能 2D 功能,一個 block 傳輸完成后,回退到數組起點,重新傳輸
(3)使能 Repeat 功能,重復 block 傳輸 1000 次
首先使能了 TrustZone 架構,然后將 LPGPIO 映射到了非安全區,并且配置了 DMA 鏈表功能,使用 LPTimer 作為觸發,自動地修改 LPGPIO 的寄存器,從而達到在低功耗模式下,GPIO自動切換的功能。但遇到了 LPDMA 的配置問題,并且程序無法跳轉到 Non-Secure 工程。

圖4. Linked List Node1
TN2 節點配置,與 TN1 節點類似,用于切換到第二組數據產生第二種波形

圖5. Linked List Node2
2.2. 測試代碼

GPDMA Linked List 模式執行流程

圖6. Linked List 執行過程及期望輸
03
PWM濾波輸出
在 U575 NUCLEO 板上測試,結果如下:

圖7. 實際輸出
從實測結果來看,濾波后的正弦波頻率,波形持續時長都符合預期。另外,與通過額外 TIM 計時來切換 PWM 輸出的方式相比,使用 Linked List repeat 這種方式,正弦波與固定電平輸出之間切換更平滑。

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

完整內容請點擊“閱讀原文”下載原文檔。
原文標題:實戰經驗 | Timer 結合 DMA 2D 通道實現不同波形輸出
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
-
單片機
+關注
關注
6076文章
45495瀏覽量
670355 -
STM32
+關注
關注
2309文章
11162瀏覽量
373448
發布評論請先 登錄
GPS時鐘授時裝置常見問題與實戰經驗分享
TMAG511x系列2D雙通道高靈敏度霍爾效應鎖存器技術解析
探索TMAG511x-Q1:2D雙通道高靈敏度霍爾效應鎖存器的卓越性能
維視智造汽車電子2D視覺檢測方案筑牢精密部件質控防線
2D、2.5D與3D封裝技術的區別與應用解析
LAT1189+Timer 結合 DMA 2D 通道實現不同波形輸出應用筆記
車載音頻功放芯片實戰經驗與深度疑問
UART、SPI、I2C 實戰對比:哪個更適合你的項目?
【RA4M2-SENSOR】+DAC波形輸出測試
Linux服務器性能調優的核心技巧和實戰經驗
TechWiz LCD 2D應用:不同結構下的VT曲線
HT 可視化監控頁面的 2D 與 3D 連線效果
實戰經驗 | Timer 結合 DMA 2D 通道實現不同波形輸出
評論