0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

實(shí)戰(zhàn)經(jīng)驗(yàn) | Timer 結(jié)合 DMA 2D 通道實(shí)現(xiàn)不同波形輸出

STM32單片機(jī) ? 來(lái)源:未知 ? 2023-10-26 15:20 ? 次閱讀

關(guān)鍵詞:GPDMA,2D addressing

目錄預(yù)覽

1、問(wèn)題背景

2、產(chǎn)生PWM

3、PWM濾波輸出

4、小結(jié)

01

問(wèn)題背景

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

使用 TIM 輸出 PWM 產(chǎn)生正弦波形時(shí),需要結(jié)合 GPDMA 來(lái)實(shí)現(xiàn)。在 STM32U5 系列中,GPDMA 共有 16 個(gè)獨(dú)立通道,其中 12-15 通道還具有 2D addressing/ repeat 功能。因此也可以使用一個(gè) TIM 加 GPDMA 的一個(gè) 2D 通道實(shí)現(xiàn) PWM 波形切換功能。

02

產(chǎn)生PWM

本文按以下配置產(chǎn)生 PWM,在 U575 NUCLEO 板測(cè)試:

(1)MCU 主頻:100MHz

(2)PWM 頻率 2MHz(周期 500ns),脈寬可調(diào)范圍 0~50 個(gè)計(jì)數(shù)時(shí)鐘,

(3)每個(gè)正弦波周期(10us)對(duì)應(yīng) 20 個(gè) PWM 脈沖,各 PWM 脈寬用計(jì)數(shù)時(shí)鐘表示分別為:25, 33, 40, 45, 49, 50, 49, 45, 40, 33, 25, 17, 10, 5 , 1 , 0 , 1 , 5 , 10, 17

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

2.1. STM32CubeMX 生成測(cè)試工程

2.1.1. TIM1 CH1 PWM 配置

wKgZomU6FFCAXNNoAAInklhBFsk366.png

圖1. TIM1 CH1 PWM

2.1.2. GPDMA CH12 配置

選用 GPDMA 通道 12,并配置為循環(huán)模式:

wKgZomU6FFGAPbJqAAPOxQvJEsA581.png

圖2. GPDMA CH12

2.1.3. GPDMA Linked List 配置

創(chuàng)建 Linked List Queue,并配置為搭配 GPDMA 2D 功能通道使用。創(chuàng)建兩個(gè)節(jié)點(diǎn),TN1, TN2,并使用循環(huán)模式,指定首個(gè)循環(huán)節(jié)點(diǎn)為 TN1。

wKgZomU6FFGAcTtUAADifVzLGPs743.png

圖3. Linked List

TN1 節(jié)點(diǎn)配置,由此節(jié)點(diǎn)結(jié)合 TIM 來(lái)產(chǎn)生 PWM,并濾波成正弦信號(hào)

(1)TIM1 更新事件作為 DMA 請(qǐng)求

(2)使能 2D 功能,一個(gè) block 傳輸完成后,回退到數(shù)組起點(diǎn),重新傳輸

(3)使能 Repeat 功能,重復(fù) block 傳輸 1000 次

首先使能了 TrustZone 架構(gòu),然后將 LPGPIO 映射到了非安全區(qū),并且配置了 DMA 鏈表功能,使用 LPTimer 作為觸發(fā),自動(dòng)地修改 LPGPIO 的寄存器,從而達(dá)到在低功耗模式下,GPIO自動(dòng)切換的功能。但遇到了 LPDMA 的配置問(wèn)題,并且程序無(wú)法跳轉(zhuǎn)到 Non-Secure 工程。

wKgZomU6FFGAQ8_oAAFjZfU5VU4726.png

圖4. Linked List Node1

TN2 節(jié)點(diǎn)配置,與 TN1 節(jié)點(diǎn)類似,用于切換到第二組數(shù)據(jù)產(chǎn)生第二種波形

wKgZomU6FFGAdONnAAFXpheqJ3M634.png

圖5. Linked List Node2

2.2. 測(cè)試代碼

wKgZomU6FFGAdEn4AAHo5WB52Go632.png

GPDMA Linked List 模式執(zhí)行流程

wKgZomU6FFGAa57AAABfbe_y3EQ230.png

圖6. Linked List 執(zhí)行過(guò)程及期望輸

03

PWM濾波輸出

在 U575 NUCLEO 板上測(cè)試,結(jié)果如下:

wKgZomU6FFKAJqFrAATY_Zm02Ok916.png

圖7. 實(shí)際輸出

從實(shí)測(cè)結(jié)果來(lái)看,濾波后的正弦波頻率,波形持續(xù)時(shí)長(zhǎng)都符合預(yù)期。另外,與通過(guò)額外 TIM 計(jì)時(shí)來(lái)切換 PWM 輸出的方式相比,使用 Linked List repeat 這種方式,正弦波與固定電平輸出之間切換更平滑。

wKgZomU6FFKAEBdZAANLej_RDE8462.png

圖8. 額外 TIM 計(jì)時(shí)來(lái)切換 PWM 輸出

04

小結(jié)

通過(guò)使用 GPDMA Linked List 模式,使用 2D addressing repeat 功能,能方便實(shí)現(xiàn)這種多種波形切換的應(yīng)用場(chǎng)景。如 Node1 與 Node2 使用不同的數(shù)據(jù)長(zhǎng)度和重復(fù)次數(shù),則可得到不同時(shí)長(zhǎng)的兩種波形;通過(guò)增加更多 Node,則可得到多種不同波形。

wKgZomU6FFKAGNi-AAHiBpzEGaQ236.png

完整內(nèi)容請(qǐng)點(diǎn)擊“閱讀原文”下載原文檔。


原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | Timer 結(jié)合 DMA 2D 通道實(shí)現(xiàn)不同波形輸出

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631989
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354298
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TMAG511x 2D鎖扣的優(yōu)點(diǎn)

    電子發(fā)燒友網(wǎng)站提供《TMAG511x 2D鎖扣的優(yōu)點(diǎn).pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:53 ?0次下載
    TMAG511x <b class='flag-5'>2D</b>鎖扣的優(yōu)點(diǎn)

    TMAG511x-Q1 2D通道、高靈敏度、霍爾效應(yīng)鎖存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMAG511x-Q1 2D通道、高靈敏度、霍爾效應(yīng)鎖存器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-13 11:12 ?0次下載
    TMAG511x-Q1 <b class='flag-5'>2D</b> 雙<b class='flag-5'>通道</b>、高靈敏度、霍爾效應(yīng)鎖存器數(shù)據(jù)表

    TMAG511x 2D通道、高靈敏度、霍爾效應(yīng)鎖存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMAG511x 2D通道、高靈敏度、霍爾效應(yīng)鎖存器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 10:45 ?0次下載
    TMAG511x <b class='flag-5'>2D</b> 雙<b class='flag-5'>通道</b>、高靈敏度、霍爾效應(yīng)鎖存器數(shù)據(jù)表

    通過(guò)2D/3D異質(zhì)結(jié)構(gòu)精確控制鐵電材料弛豫時(shí)間

    受經(jīng)典德拜弛豫啟發(fā)的米勒模型提供了通過(guò)操縱弛豫時(shí)間來(lái)控制自發(fā)極化的理論框架。作者通過(guò)使用層轉(zhuǎn)移技術(shù)形成的2D/C-3D/2D異質(zhì)結(jié)構(gòu)克服了傳統(tǒng)異質(zhì)結(jié)存在的鐵電性惡化和能量損失的問(wèn)題。
    的頭像 發(fā)表于 04-29 10:27 ?535次閱讀
    通過(guò)<b class='flag-5'>2D</b>/3<b class='flag-5'>D</b>異質(zhì)結(jié)構(gòu)精確控制鐵電材料弛豫時(shí)間

    基于MAXWELL 2D 的永磁電機(jī)研究

    電子發(fā)燒友網(wǎng)站提供《基于MAXWELL 2D 的永磁電機(jī)研究.pdf》資料免費(fèi)下載
    發(fā)表于 04-23 14:18 ?7次下載

    f446rct6在使用dma控制pwm占空比時(shí),pwm波形異常的原因?

    單片機(jī):f446rct6 系統(tǒng):freertos 庫(kù):hal 程序邏輯: 1.初始化timer輸出pwm波同時(shí)初始化dma并連接到Capture/Compare 寄存器 2.啟動(dòng)
    發(fā)表于 04-09 07:45

    STM32G030F ADC-DMA1通道3,串口收發(fā)-DMA1的通道1和通道2,同一個(gè)DMA的不同通道為什么會(huì)相互影響呢?

    同一個(gè)DMA的不同通道為什么會(huì)相互影響呢,關(guān)閉ADC,串口工作正常,串口波形正常。打開(kāi)ADC,串口雖然也能工作,但是波形在跳動(dòng),好像是ADC的DMA
    發(fā)表于 03-26 07:01

    STM32F051C8 PA0不能以DMA的方式輸出PWM,沒(méi)有正確波形輸出是哪里出了問(wèn)題?

    啟動(dòng)timer2 PWM,用示波器檢測(cè)不到輸出波形; 使用STM32F030C8 ,同樣的配置和WS2812B的應(yīng)用代碼,更換為PA6(對(duì)應(yīng)的timer3,channel1)能夠正常
    發(fā)表于 03-13 06:20

    Xilinx高性能PCIe DMA控制器IP,8個(gè)DMA通道

    基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem實(shí)現(xiàn)了使用DMA地址隊(duì)列的獨(dú)立多通道、高性能Continous或
    的頭像 發(fā)表于 02-22 11:11 ?1311次閱讀
    Xilinx高性能PCIe <b class='flag-5'>DMA</b>控制器IP,8個(gè)<b class='flag-5'>DMA</b><b class='flag-5'>通道</b>

    STM32U5系列TIMER+DMA+DAC應(yīng)用演示

    有人使用STM32U575芯片的DAC功能。他希望使用TIMER事件觸發(fā)DMA,并通過(guò)DMA傳輸內(nèi)存數(shù)據(jù)到DAC輸出寄存器,進(jìn)而產(chǎn)生相應(yīng)的DAC輸出
    的頭像 發(fā)表于 01-24 09:10 ?1582次閱讀
    STM32U5系列<b class='flag-5'>TIMER+DMA</b>+DAC應(yīng)用演示

    dma通道技術(shù)的區(qū)別

    DMA(Direct Memory Access)和通道技術(shù)是計(jì)算機(jī)系統(tǒng)中用來(lái)優(yōu)化數(shù)據(jù)傳輸和處理的重要技術(shù)。盡管它們都與數(shù)據(jù)傳輸相關(guān),但它們?cè)?b class='flag-5'>實(shí)現(xiàn)方法、特點(diǎn)和應(yīng)用場(chǎng)景等方面存在一些重要的區(qū)別
    的頭像 發(fā)表于 01-04 14:31 ?2135次閱讀

    一文了解3D視覺(jué)和2D視覺(jué)的區(qū)別

    一文了解3D視覺(jué)和2D視覺(jué)的區(qū)別 3D視覺(jué)和2D視覺(jué)是兩種不同的視覺(jué)模式,其區(qū)別主要體現(xiàn)在立體感、深度感和逼真度上。本文將詳細(xì)闡述這些區(qū)別,并解釋為什么3
    的頭像 發(fā)表于 12-25 11:15 ?2788次閱讀

    2D與3D視覺(jué)技術(shù)的比較

    作為一個(gè)多年經(jīng)驗(yàn)的機(jī)器視覺(jué)工程師,我將詳細(xì)介紹2D和3D視覺(jué)技術(shù)的不同特點(diǎn)、應(yīng)用場(chǎng)景以及它們能夠解決的問(wèn)題。在這個(gè)領(lǐng)域內(nèi),2D和3D視覺(jué)技術(shù)
    的頭像 發(fā)表于 12-21 09:19 ?1041次閱讀

    利用搭載全域硬2D NoC的FPGA器件去完美實(shí)現(xiàn)智能化所需的高帶寬低延遲計(jì)算

    可以商用的集成全域硬2D NoC的FPGA器件,以每通道512Gbps的速率和超過(guò)2Tbps的總帶寬來(lái)與所有系統(tǒng)接口和FPGA邏輯陣列互連。
    的頭像 發(fā)表于 11-24 16:19 ?377次閱讀

    一種高性能多通道通用DMA設(shè)計(jì)與實(shí)現(xiàn)

    為充分發(fā)揮異構(gòu)多核DSP芯片的實(shí)時(shí)計(jì)算能力,設(shè)計(jì)并實(shí)現(xiàn)了一種高性能多通道的通用DMA,該DMA最大支持64個(gè)通道的數(shù)據(jù)搬運(yùn),并支持一維、二維
    的頭像 發(fā)表于 11-20 15:52 ?1064次閱讀
    一種高性能多<b class='flag-5'>通道</b>通用<b class='flag-5'>DMA</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>