精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

STM32單片機 ? 來源:STM32單片機 ? 2023-10-26 15:18 ? 次閱讀

**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 配置

wKgaomU6EzCAWfw5AAInklhBFsk120.jpg

圖1. TIM1 CH1 PWM

2.1.2. GPDMA CH12 配置

選用 GPDMA 通道 12,并配置為循環模式:

wKgZomU6EzCAerhVAAPOxQvJEsA120.jpg

圖2. GPDMA CH12

2.1.3. GPDMA Linked List 配置

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

wKgaomU6EzCAdWZeAADifVzLGPs423.jpg

圖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 工程。

wKgZomU6EzCAVJpiAAFjZfU5VU4417.jpg

圖4. Linked List Node1

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

wKgZomU6EzCAFHgZAAFXpheqJ3M564.jpg

圖5. Linked List Node2

2.2. 測試代碼

wKgaomU6EzCAbArFAAHo5WB52Go549.jpg

GPDMA Linked List 模式執行流程

wKgZomU6EzCANhsAAABfbe_y3EQ015.jpg

圖6. Linked List 執行過程及期望輸

03

PWM濾波輸出

在 U575 NUCLEO 板上測試,結果如下:

wKgZomU6EzCAQFK0AATY_Zm02Ok639.jpg

圖7. 實際輸出

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

wKgaomU6EzCAX6PEAANLej_RDE8997.jpg

圖8. 額外 TIM 計時來切換 PWM 輸出

04

小結

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






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 濾波器
    +關注

    關注

    160

    文章

    7743

    瀏覽量

    177720
  • 正弦波
    +關注

    關注

    11

    文章

    639

    瀏覽量

    55288
  • 計數器
    +關注

    關注

    32

    文章

    2254

    瀏覽量

    94368
  • PWM波
    +關注

    關注

    0

    文章

    99

    瀏覽量

    16842
  • stm32cubemx
    +關注

    關注

    5

    文章

    281

    瀏覽量

    14764

原文標題:實戰經驗 | Timer 結合 DMA 2D 通道實現不同波形輸出

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32 TIMER+DMA輸出PWM異常案例的問題解析

    有人使用STM32U575的TIMER加上DMA做PWM輸出。具體就是利用某TIMER的一個通道的比較事件觸發
    的頭像 發表于 09-28 09:04 ?7843次閱讀
    STM32 <b class='flag-5'>TIMER+DMA</b><b class='flag-5'>輸出</b>PWM異常案例的問題解析

    使用STM32H563開發板簡單演示DMA 2D模式的應用

    我這里使用STM32H563開發板來簡單演示一下DMA 2D模式的應用。所謂DMA 2D模式,個人理解是DMA可以通過事先設置塊內尋址偏移量
    發表于 08-14 09:32 ?1410次閱讀
    使用STM32H563開發板簡單演示<b class='flag-5'>DMA</b> <b class='flag-5'>2D</b>模式的應用

    STM32U5系列TIMER+DMA+DAC應用演示

    有人使用STM32U575芯片的DAC功能。他希望使用TIMER事件觸發DMA,并通過DMA傳輸內存數據到DAC輸出寄存器,進而產生相應的DAC輸出
    的頭像 發表于 01-24 09:10 ?1644次閱讀
    STM32U5系列<b class='flag-5'>TIMER+DMA</b>+DAC應用演示

    DAC+DMA+TIMER輸出正玄波通道1一直是高電平

    1_Stream6,TIM6觸發DMA1_Stream5,ARR都為14(低于15都一樣);同樣還是通道一有同樣的問題,二通道2卻正常輸出
    發表于 03-15 07:48

    在小尺寸DSP上實現2D條形碼解碼

    在小尺寸DSP上實現2D條形碼解碼
    發表于 10-13 15:28 ?31次下載
    在小尺寸DSP上<b class='flag-5'>實現</b><b class='flag-5'>2D</b>條形碼解碼

    2D仿真培訓

    2D仿真PPT培訓,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-17 18:35 ?0次下載

    適用于顯示屏的2D多點觸摸與3D手勢模塊

    本視頻將展示結合多點觸摸與3D手勢模塊的Microchip顯示解決方案。支持2D/3D功能的顯示屏是Microchip基于GestIC?技術的最新解決方案。顯示屏上
    的頭像 發表于 06-06 02:45 ?5112次閱讀

    使用STM32F4的DMA輸出波形

    DMA通道STM32F407有兩個DAM,每個DMA有8個數據流,每個數據流有8個通道。DMA輸出
    發表于 11-30 12:51 ?12次下載
    使用STM32F4的<b class='flag-5'>DMA</b><b class='flag-5'>輸出</b><b class='flag-5'>波形</b>

    AD 2D標準封裝庫下載

    AD 2D標準封裝庫下載
    發表于 01-17 10:16 ?22次下載

    2d封裝庫Altium

    2d封裝庫Altium
    發表于 09-20 15:27 ?0次下載

    基于STM32F446的PWM輸出程序

    CH2、CH3、CH4采用比較切換模式結合DMA輸出PWM波形,其中各通道的CCR值通過
    發表于 03-02 15:04 ?1681次閱讀

    2D中值濾波算法的設計實現

    該項目包含使用高級綜合 (HLS) 的 2D 中值濾波器算法的實現。該項目的目標是在不到 3 ms的時間內對測試圖像進行去噪,同時消耗不到 25% 的可用 PL 資源。
    的頭像 發表于 07-12 15:19 ?942次閱讀
    <b class='flag-5'>2D</b>中值濾波算法的設計<b class='flag-5'>實現</b>

    TIM DMA burst輸出變頻PWM波形

    電子發燒友網站提供《TIM DMA burst輸出變頻PWM波形.pdf》資料免費下載
    發表于 09-19 17:06 ?2次下載
    TIM <b class='flag-5'>DMA</b> burst<b class='flag-5'>輸出</b>變頻PWM<b class='flag-5'>波形</b>

    實戰經驗 | Timer 結合 DMA 2D 通道實現不同波形輸出

    產生正弦波形時,需要結合 GPDMA 來實現。在 STM32U5 系列中,GPDMA 共有 16 個獨立通道,其中 12-15 通道還具有
    的頭像 發表于 10-26 15:20 ?1103次閱讀
    實戰經驗 | <b class='flag-5'>Timer</b> <b class='flag-5'>結合</b> <b class='flag-5'>DMA</b> <b class='flag-5'>2D</b> <b class='flag-5'>通道</b><b class='flag-5'>實現</b>不同<b class='flag-5'>波形</b><b class='flag-5'>輸出</b>

    2D與3D視覺技術的比較

    作為一個多年經驗的機器視覺工程師,我將詳細介紹2D和3D視覺技術的不同特點、應用場景以及它們能夠解決的問題。在這個領域內,2D和3D視覺技術是實現
    的頭像 發表于 12-21 09:19 ?1066次閱讀