国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 資料介紹
    • 前言
    • 實(shí)驗(yàn)
    • 分析
    • 小結(jié)
  • 資料預(yù)覽
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

LAT1259 STM32使用DMA產(chǎn)生PWM時(shí)波形異常分析

03/25 14:52
1140
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

LAT1259 STM32使用DMA產(chǎn)生PWM時(shí)波形異常分析

350.17 KB

前言

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

實(shí)驗(yàn)

根據(jù)客戶的反饋,我們進(jìn)行了實(shí)驗(yàn)。

硬件:STM32F401RE-NUCLEO

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

分析

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

我想我們已經(jīng)知道答案了,TIM2 的計(jì)數(shù)器是 32bit 的,但是我們配置的 DMA 是 halfword 長度,這在 AHB 總線上解析數(shù)據(jù)時(shí)產(chǎn)生了非預(yù)期的結(jié)果。在調(diào)試界面我們也能看到,當(dāng)問題發(fā)生時(shí),TIM2 的 CCR1 竟然比 ARR 的值要大,或者出現(xiàn)異常值,所以出現(xiàn)異常波形。

小結(jié)

對(duì)于 32 位計(jì)數(shù)器的 Timer,我們?cè)谑褂?DMA 時(shí),需要將 DMA 的長度配置為 32bit。因?yàn)?F103 上沒有 32bit 計(jì)數(shù)器的 Timer,所以客戶在 F103 上并沒有出現(xiàn)類似的問題,歸根結(jié)底,我們要學(xué)會(huì)類似查找問題的方法。

資料預(yù)覽

相關(guān)推薦

酉阳| 和平区| 大化| 涿鹿县| 涟源市| 六枝特区| 内乡县| 瑞安市| 额尔古纳市| 巴塘县| 马关县| 含山县| 大埔县| 合水县| 临漳县| 商城县| 宜兰县| 顺义区| 东丰县| 旬阳县| 贵德县| 华阴市| 沂水县| 汝南县| 二手房| 海南省| 信宜市| 黔江区| 上杭县| 岑巩县| 清水河县| 广德县| 岱山县| 广饶县| 义马市| 任丘市| 武胜县| 扎兰屯市| 绥中县| 大安市| 方山县|