女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

應用筆記 | STM32使用DMA產生PWM時波形異常分析

STM32單片機 ? 來源:未知 ? 2023-09-22 17:05 ? 次閱讀

29761040-5926-11ee-939d-92fbcf53809c.gif

關鍵字:回調函數,HAL庫

目錄預覽

1.前言

2.實驗

3.使用實例

4.小結

01 前言

有客戶反饋,使用STM32F4的TIM2結合DMA,產生的PWM波形不符合預期,但是相同的配置使用在TIM3上,得到的PWM波形就是符合預期的。其代碼和配置都是從F1移植過來的,在F1上使用TIM2是沒有問題的,對于F4的TIM2發生的問題,客戶一直沒有找到根本原因。

02

實驗

根據客戶的反饋,我們進行了實驗。

硬件:STM32F401RE-NUCLEO

在STM32CubeMX中,將TIM2和TIM3所有參數均做相同的配置,其中配置DMA兩端均為halfword長度。

2981025c-5926-11ee-939d-92fbcf53809c.png

29a89e48-5926-11ee-939d-92fbcf53809c.png

生成代碼,并定義兩個數組如下圖所示:

29c57252-5926-11ee-939d-92fbcf53809c.png

在主函數中開啟Timer。

29e214a2-5926-11ee-939d-92fbcf53809c.png

我們可以發現,實驗結果如客戶反饋的,TIM2輸出的PWM是不正確的,TIM3輸出的PWM是正確的。

2a022026-5926-11ee-939d-92fbcf53809c.png

03 分析

我們的實驗中,TIM2和TIM3的配置是完全一樣的,即使傳輸相同的數據,得到的PWM波形也是不同的。為此我們比較了TIM2和TIM3的硬件屬性,可以很容易查看出,TIM2的計數器是32bit的,而TIM3的計數器是16bit的。

我想我們已經知道答案了,TIM2的計數器是32bit的,但是我們配置的DMA是halfword長度,這在AHB總線上解析數據時產生了非預期的結果。在調試界面我們也能看到,當問題發生時,TIM2的CCR1竟然比ARR的值要大,或者出現異常值,所以出現異常波形。

2a1fdee0-5926-11ee-939d-92fbcf53809c.png

根本原因在于,對于大部分STM32系列,主設備基于AHB外設進行尋址是不支持byte/half-word傳輸的,總線會強制將數據轉化為32bit傳送到總線上,這就是為什么我們看到CCR1的高半字和低半字的值是相同的原因。

當我們將TIM2的DMA外設端修改為word長度,并將內存數組定義為32bit,再次實驗,可以發現PWM的波形就是正常的了:

2a36b39a-5926-11ee-939d-92fbcf53809c.png

2a666b44-5926-11ee-939d-92fbcf53809c.png

2a79522c-5926-11ee-939d-92fbcf53809c.png

04 小結

因為F103上沒有32bit計數器的Timer,所以客戶在F103上并沒有出現類似的問題。在使用DMA訪問經過AHB轉APB的橋接外設時,我們要注意DMA對外設的訪問寬度配置問題。

完整內容請點擊“閱讀原文”下載原文檔。


原文標題:應用筆記 | STM32使用DMA產生PWM時波形異常分析

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


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

    關注

    6061

    文章

    44853

    瀏覽量

    645755
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5336

    瀏覽量

    217732
  • STM32
    +關注

    關注

    2288

    文章

    10996

    瀏覽量

    361878

原文標題:應用筆記 | STM32使用DMA產生PWM時波形異常分析

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    STM32使用外部中斷觸發ADC采樣DMA搬運出現兩次進入DMA中斷的異常情況,怎么解決?

    STM32使用外部中斷觸發ADC采樣DMA搬運出現兩次進入DMA中斷的異常情況,使用的HAL庫+MX配置的,示波器觀察波形ADC中斷進入一次
    發表于 03-14 12:46

    CDK應用筆記

    電子發燒友網站提供《CDK應用筆記.pdf》資料免費下載
    發表于 01-16 16:17 ?0次下載
    CDK應<b class='flag-5'>用筆記</b>

    ES32VF2264應用筆記

    電子發燒友網站提供《ES32VF2264應用筆記.pdf》資料免費下載
    發表于 01-16 16:14 ?0次下載
    ES32VF2264應<b class='flag-5'>用筆記</b>

    ES7P0214應用筆記

    電子發燒友網站提供《ES7P0214應用筆記.pdf》資料免費下載
    發表于 01-16 16:06 ?0次下載
    ES7P0214應<b class='flag-5'>用筆記</b>

    ES7P0213應用筆記

    電子發燒友網站提供《ES7P0213應用筆記.pdf》資料免費下載
    發表于 01-16 15:26 ?0次下載
    ES7P0213應<b class='flag-5'>用筆記</b>

    AT32F423 PWC應用筆記

    電子發燒友網站提供《AT32F423 PWC應用筆記.pdf》資料免費下載
    發表于 01-15 15:30 ?0次下載
    AT32F423 PWC應<b class='flag-5'>用筆記</b>

    S32K3xxICU應用筆記

    S32K3xxICU應用筆記
    發表于 12-30 15:38 ?2次下載

    STM32產生的1Mhz PWM波作為時鐘信號,波形較差怎么解決?

    我用STM32產生的1Mhz PWM波作為時鐘信號,波形較差,然后代碼參考CSDN的一位博主的,當我讀取校準電阻時,通過串口發送至電腦串口讀取時,都是0,不知是何原因,寄存器的配置檢
    發表于 12-09 07:09

    PWM波形的特性與優化

    PWM波形的特性 1. 定義與基本原理 PWM是一種通過改變脈沖寬度來控制輸出電壓或電流的技術。在PWM信號中,一個周期內,脈沖的高電平(ON時間)和低電平(OFF時間)的持續時間可以
    的頭像 發表于 11-29 09:13 ?1390次閱讀

    用筆記1604:去補償運算放大器

    電子發燒友網站提供《應用筆記1604:去補償運算放大器.pdf》資料免費下載
    發表于 09-29 10:30 ?0次下載
    應<b class='flag-5'>用筆記</b>1604:去補償運算放大器

    波形產生電路的工作原理是什么

    波形產生電路是電子學中一個非常重要的概念,它涉及到將電信號轉換成特定波形的電路設計。波形產生電路可以產生
    的頭像 發表于 09-25 16:17 ?2275次閱讀

    儀表溫度異常產生原因

    電子發燒友網站提供《儀表溫度異常產生原因.docx》資料免費下載
    發表于 09-12 14:09 ?0次下載

    PWM信號產生的原理及方式

    PWM(脈沖寬度調制,Pulse Width Modulation)信號產生的原理及方式是一個涉及電子技術和控制理論的重要話題。以下將從PWM信號的基本原理、產生方式以及具體應用等方面
    的頭像 發表于 08-12 17:23 ?5002次閱讀

    波形產生電路調零指的是什么

    波形產生電路的調零是一個重要的校準過程,它確保電路能夠產生精確的波形輸出。
    的頭像 發表于 05-19 15:37 ?1950次閱讀