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

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

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

Timer結(jié)合DMA 2D通道實(shí)現(xiàn)不同波形輸出

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

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

wKgaomU6EzCAWfw5AAInklhBFsk120.jpg

圖1. TIM1 CH1 PWM

2.1.2. GPDMA CH12 配置

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

wKgZomU6EzCAerhVAAPOxQvJEsA120.jpg

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

wKgaomU6EzCAdWZeAADifVzLGPs423.jpg

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

wKgZomU6EzCAVJpiAAFjZfU5VU4417.jpg

圖4. Linked List Node1

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

wKgZomU6EzCAFHgZAAFXpheqJ3M564.jpg

圖5. Linked List Node2

2.2. 測(cè)試代碼

wKgaomU6EzCAbArFAAHo5WB52Go549.jpg

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

wKgZomU6EzCANhsAAABfbe_y3EQ015.jpg

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

03

PWM濾波輸出

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

wKgZomU6EzCAQFK0AATY_Zm02Ok639.jpg

圖7. 實(shí)際輸出

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

wKgaomU6EzCAX6PEAANLej_RDE8997.jpg

圖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,則可得到多種不同波形。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    158

    文章

    7596

    瀏覽量

    176572
  • 正弦波
    +關(guān)注

    關(guān)注

    11

    文章

    619

    瀏覽量

    54937
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2241

    瀏覽量

    93970
  • PWM波
    +關(guān)注

    關(guān)注

    0

    文章

    99

    瀏覽量

    16791
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    278

    瀏覽量

    14619

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32 TIMER+DMA輸出PWM異常案例的問(wèn)題解析

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

    使用STM32H563開(kāi)發(fā)板簡(jiǎn)單演示DMA 2D模式的應(yīng)用

    我這里使用STM32H563開(kāi)發(fā)板來(lái)簡(jiǎn)單演示一下DMA 2D模式的應(yīng)用。所謂DMA 2D模式,個(gè)人理解是DMA可以通過(guò)事先設(shè)置塊內(nèi)尋址偏移量
    發(fā)表于 08-14 09:32 ?1192次閱讀
    使用STM32H563開(kāi)發(fā)板簡(jiǎn)單演示<b class='flag-5'>DMA</b> <b class='flag-5'>2D</b>模式的應(yīng)用

    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 ?1327次閱讀
    STM32U5系列<b class='flag-5'>TIMER+DMA</b>+DAC應(yīng)用演示

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

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

    在小尺寸DSP上實(shí)現(xiàn)2D條形碼解碼

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

    2D仿真培訓(xùn)

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

    適用于顯示屏的2D多點(diǎn)觸摸與3D手勢(shì)模塊

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

    使用STM32F4的DMA輸出波形

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

    AD 2D標(biāo)準(zhǔn)封裝庫(kù)下載

    AD 2D標(biāo)準(zhǔn)封裝庫(kù)下載
    發(fā)表于 01-17 10:16 ?22次下載

    2d封裝庫(kù)Altium

    2d封裝庫(kù)Altium
    發(fā)表于 09-20 15:27 ?0次下載

    基于STM32F446的PWM輸出程序

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

    2D中值濾波算法的設(shè)計(jì)實(shí)現(xiàn)

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

    TIM DMA burst輸出變頻PWM波形

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

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

    產(chǎn)生正弦波形時(shí),需要結(jié)合 GPDMA 來(lái)實(shí)現(xiàn)。在 STM32U5 系列中,GPDMA 共有 16 個(gè)獨(dú)立通道,其中 12-15 通道還具有
    的頭像 發(fā)表于 10-26 15:20 ?939次閱讀
    實(shí)戰(zhàn)經(jīng)驗(yàn) | <b class='flag-5'>Timer</b> <b class='flag-5'>結(jié)合</b> <b class='flag-5'>DMA</b> <b class='flag-5'>2D</b> <b class='flag-5'>通道</b><b class='flag-5'>實(shí)現(xiàn)</b>不同<b class='flag-5'>波形</b><b class='flag-5'>輸出</b>

    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ù)是實(shí)現(xiàn)
    的頭像 發(fā)表于 12-21 09:19 ?907次閱讀