目錄預覽
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單片機】歡迎添加關注!文章轉載請注明出處。
-
單片機
+關注
關注
6065文章
44934瀏覽量
647637 -
STM32
+關注
關注
2290文章
11018瀏覽量
362722
發布評論請先 登錄
TechWiz LCD 2D應用:不同結構下的VT曲線
stm32f407無法配置定時器2為全部dma怎么解決?
HT 可視化監控頁面的 2D 與 3D 連線效果

TechWiz LCD 2D應用:半透反射式顯示模式仿真
億源通科技OFC 2025展示2D光纖陣列,助力OCS技術創新
STM8/STM32 products有2D marking和沒有2D marking的工藝有差別嗎?
TechWiz LCD 2D應用:不同結構下的VT曲線
提升開關電源效率的理論分析與實戰經驗

AN-1249:使用ADV8003評估板將3D圖像轉換成2D圖像

利用Sitara AM57x處理器上的處理器SDK實現工業機器視覺的2D物體識別

Allegro推出2D霍爾效應速度和方向鎖存器
TMAG511x-Q1 2D 雙通道、高靈敏度、霍爾效應鎖存器數據表

TMAG511x 2D 雙通道、高靈敏度、霍爾效應鎖存器數據表

評論