国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

工程師筆記|TIM DMA burst 輸出變頻 PWM 波形

STM32單片機 ? 來源:未知 ? 2022-12-26 20:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關鍵詞:TIM, GPDMA

目錄預覽

1.問題背景

2.TIM DMA burst

3.產生 PWM

4.結論

1.問題背景

客戶需要 MCU 輸出一組變頻的 PWM 波形來控制外圍器件,并且不同頻率脈沖的個數也不同。STM32U5 芯片擁有 TIM1/TIM8 高級定時器,還有通用定時器TIM2/TIM3/TIM4/TIM5 以及 TIM15/TIM16/TIM17。

TIM 模塊中,可通過修改 ARR 寄存器的值來修改 PWM 的頻率。如果使用 TIM1/TIM8 或者 TIM15/TIM16/TIM17,則可以通過修改 RCR 與 CCR 寄存器,來控制脈沖個數及占空比。由于要同時修改多個 TIM 寄存器,需要使用 TIM 的 DMA burst 功能來實現此需求。

2.TIM DMA burst

STM32 片內部分 TIMER 在產生單個定時器事件情況下可以基于特定硬件機制觸發多個 DMA 請求,這樣產生多個連續的 DMA 傳輸來實現對多個 TIMER 寄存器的批量訪問。

這就是所謂的 TIM DMA burst 功能,這里有兩個專用寄存器:

TIMx_DCR :DBSS : 觸發 DMA burst 的事件源DBL : DMA burst 傳輸個數 DBA : DMA burst 傳輸的 TIM 寄存器基地址索引

TIMx_DMAR :TIM DMA Burst 時,DMA 訪問此寄存

3.產生 PWM

本文使用 TIM1 來產生 PWM,在 U575 NECLEO 板上測試,MCU 主頻為 100MHz。

使用兩個頻率分別對應 TIM 寄存器組的值如下:ARR/ RCR/ CCR1

uint32_t pulse1[3] = {1000, 2, 500} ;

uint32_t pulse2[3] = {5000, 1, 2500} ;

即輸出 3 個 pulse1 的脈沖后,再輸出 2 個 pulse2 脈沖,這樣交替輸出。

3.1.1. TIM1 配置

TIM1 配置如下,使能寄存器預裝載功能。

3de6edb0-8514-11ed-bfe3-dac502259ad0.png

3.1.2. GPDMA 配置

使用 GPDMA 通道 12 的 linked list 模式,并配置為循環模式:

3df8049c-8514-11ed-bfe3-dac502259ad0.png

Linked List 配置中,創建一個 list queue,并添加兩個 list node,選擇 GPDMA 來執行此 list queue,同樣配置為循環模式,指定循環起始節點為 TN1,如下圖。

3e112e22-8514-11ed-bfe3-dac502259ad0.png

Linked List 節點配置中,使用 TIM1 update 事件來產生 DMA 請求,指定 DMA 目的地址為 TIMx_DMAR 寄存器,源地址為 pulse1 數組地址。TN2 只需將 pulse1 修改為 pulse2即可。

3e2a4d62-8514-11ed-bfe3-dac502259ad0.png

3.1.3. TIM DMA burst

在 CubeMX 生成代碼后,添加以下代碼,將 TIM 與 DMA 通道綁定,并配置TIMx_DCR 寄存器:

3e430de8-8514-11ed-bfe3-dac502259ad0.png

3.1.4. 測試結果

測試結果如下圖,可以看到兩個頻率的 PWM 波形交替輸出,且脈沖個數也符合需求:

3e5ae9c2-8514-11ed-bfe3-dac502259ad0.png

本篇工程師筆記主要通過在TIM 模塊中,修改 ARR 寄存器的值來修改 PWM 的頻率滿足客戶需要 MCU 輸出一組變頻的 PWM 波形控制外圍器件的需求。由于文章篇幅有限,完整內容請點擊“閱讀原文”下載原文檔閱讀。

3e73f444-8514-11ed-bfe3-dac502259ad0.png

長按掃碼關注公眾號

更多資訊,盡在STM32

點擊“閱讀原文”,可下載原文檔


原文標題:工程師筆記|TIM DMA burst 輸出變頻 PWM 波形

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


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

    關注

    6076

    文章

    45495

    瀏覽量

    670285
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373417

原文標題:工程師筆記|TIM DMA burst 輸出變頻 PWM 波形

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電子工程師的雙標瞬間 #電子 #電子愛好者 #電子工程師 #揚興科技 #雙標

    電子工程師
    揚興科技
    發布于 :2026年03月02日 18:04:13

    LAT1189+Timer 結合 DMA 2D 通道實現不同波形輸出應用筆記

    TIM 來定時切換輸出正弦波或固定電平。使用 TIM 輸出 PWM 產生正弦波形時,需要結合
    發表于 01-11 17:25 ?0次下載

    LAT1202+TIM DMA burst 輸出變頻 PWM 波形應用筆記

    客戶需要 MCU 輸出一組變頻PWM 波形來控制外圍器件,并且不同頻率脈沖的個數也不同。STM32U5 芯片擁有 TIM1/
    發表于 01-11 17:22 ?0次下載

    硬件工程師面試必會:10個核心考點#硬件設計 #硬件工程師 #電路設計 #電路設計

    硬件工程師
    安泰小課堂
    發布于 :2025年09月23日 18:00:33

    103rc rt-studio TIM4 CH2輸出PWM不正常怎么解決?

    : RT-Thread Studio 輸出PWM詳細教程 配置TIM4的CH2、CH4均無法正常輸出pwm,以下是配置過程 rtthrea
    發表于 09-16 08:20

    如何測量變頻輸出電壓

    變頻輸出電壓的測量是電力電子和工業自動化領域的重要技術環節。由于變頻輸出的是高頻PWM(脈寬調制)
    的頭像 發表于 07-13 17:44 ?2559次閱讀
    如何測量<b class='flag-5'>變頻</b>器<b class='flag-5'>輸出</b>電壓

    做了電子工程師之后,最好拍的視頻出現了#硬件設計 #電子DIY #電子工程師

    電子工程師
    安泰小課堂
    發布于 :2025年06月24日 17:45:57

    搞SK6812燈珠的控制,選擇了PWM+DMA的方式,遇到的問題求解決

    最近在搞SK6812燈珠的控制,選擇了PWM+DMA的方式,在執行HAL_TIM_PWM_Start_DMA的時候能看到長度和數據都是我配置的值: 但是輸出波形就是不對:
    發表于 04-23 07:44

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

    硬件工程師
    揚興科技
    發布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發布于 :2025年03月25日 17:30:51

    STM32F103 TIM1_CH3N輸出PWM波形為什么會多出一個邊沿?

    紅色為TIM1_CH3N,綠色為TIM1_CH3,為什么TIM1_CH3N輸出PWM波形會多
    發表于 03-13 06:58

    如何使用TIM2的更新事件觸發TIM1的PWM DMA

    3個表格去實現3路PWM的占空比控制,且每路相位相差120度,然后我使用TIM2的更新事件去觸發TIM1的PWM DMA更新,也就是比如我設
    發表于 03-07 07:34