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

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

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

關(guān)于定時器輸出的PWM頻率范圍及占空比精度

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-12 10:37 ? 次閱讀

我想要TIM定時器輸出的PWM波形:0.1%精度占空比, 頻率范圍:200Hz - 10KHz。請問能實現(xiàn)嗎?

Ⅰ寫在前面

如果有朋友下載了上一篇文章我提供的例程,在“bsp_timer.h”文件下,你就會發(fā)現(xiàn)有如下一段被我注釋了的【說明性文字】。

這個工程是我從之前項目中提取出來(復(fù)制部分代碼),從新整理的一個的工程。里面的這個被注釋了的描述文字是之前整理的,今天重新對其說明一下。

這里句題外話:

我一般都是注重讓大家明白其原理,提供的工程代碼以簡單為原則。比如:沒有添加系統(tǒng),沒有添加參數(shù)越界檢查等額外的代碼。不是讓你直接拷貝過去就用,一般需要結(jié)合你實際工程,對其修改。

Ⅱ解讀那段文字

想要認(rèn)真掌握定時器輸出PWM的朋友,可以品味一下那段文字。

1.定時器的位數(shù)

STM32中,定時器分16位和32位,這個好理解。簡單的來說,就是16位定時器相關(guān)的寄存器包含計數(shù)器是16位的,計數(shù)的范圍是0 ~ 0xFFFF。同理,32位計數(shù)范圍為0 ~ 0xFFFF FFFF。

當(dāng)然,上面提到的相關(guān)的寄存器,其實只有幾個,計數(shù)器、自動重載寄存器、捕獲/比較寄存器等,具體請參看手冊中關(guān)于TIM寄存器章節(jié)。

截圖中,頻率的范圍,其實說明了32位定時器的優(yōu)勢。但是,在STM32中,有些型號的MCU是沒有32位的定時器的(具體請見選型手冊,或數(shù)據(jù)手冊)。

2.占空比,周期(頻率)

PWM占空比是指在一個脈沖循環(huán)內(nèi),通電時間相對于總時間所占的比例。

比如:拿1KHz波形來說,占空比為20%,即高電平0.2ms。

在STM32定時器中,占空比其實是對應(yīng)【捕獲/比較寄存器】的值,你可看見我提供的代碼:

#define PWM_TIM_SetComparex TIM_SetCompare1

捕獲/比較寄存器有1,2,3,4,對應(yīng)的其實是你輸出的通道。

占空比的數(shù)值,需要結(jié)合PWM的頻率,所以代碼中是:

pwm_pulse = (pwm_period + 1)*Dutycycle / 100;

pwm_period:是PWM周期值;

/100代表:占空比的大小。

周期值:其實就是【自動重載寄存器 (TIMx_ARR)】是值;

看見我標(biāo)記為紅色的文字沒有?這兩個值決定了PWM的周期和占空比。

3.計算頻率和占空比

頻率 = 1/周期; 1KHz的周期 = 0.001秒,即1ms.

波形頻率(周期)案例:

假如計數(shù)時鐘CK_CNT(看上圖)一秒鐘計數(shù)10M次:

我們需要1KHz波形,即1ms(波形1K)CNT計數(shù)個數(shù)為10K個,自動重載寄存器ARR設(shè)定值為10K。

我們需要10KHz波形,同理:自動重載寄存器設(shè)定值為100K。

占空比(1KHz波形)案例:

假如CK_CNT一秒鐘計數(shù)1M次:

我們需要1KHz,0.1占空比波形:同上分析,ARR的值為1K,則捕獲/比較寄存器 1 (TIMx_CCR1)值為1。(為什么是1? 1KHz * 0.1%就等于1)

我們需要10KHz,0.1占空比波形:同理計算CCR1值:等于1KHz * 0.1%就等于0.1。顯然

兩案例的結(jié)論:

1.100K > 65535,對于16位定時器來說,肯定不行啊。對于32位定時器就行。

2.CCR1的值不可能為0.1。

3.我們就需要改變計數(shù)時鐘CK_CNT來達(dá)到要求,也就是分頻。

4.自己設(shè)定邊界值,通過修改TIMx_PSC、TIMx_ARR和TIMx_CCR三個寄存器參數(shù),來滿足自己要求。如果不能滿足,那么選擇32位定時器。如果32位都還不能滿足,那就······

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

    關(guān)注

    114

    文章

    5099

    瀏覽量

    212837
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10846

    瀏覽量

    353772
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3227

    瀏覽量

    114148
收藏 人收藏

    評論

    相關(guān)推薦

    PLC輸出pwm信號怎么看頻率

    一、PWM信號的基本概念 脈沖寬度調(diào)制(PWM) :PWM是一種對模擬信號進(jìn)行數(shù)字控制的方法。它通過改變脈沖的寬度來控制信號的占空比,從而實現(xiàn)對輸出
    的頭像 發(fā)表于 08-08 15:32 ?474次閱讀

    定時器的工作方式介紹

    或?qū)崿F(xiàn)周期性事件的硬件模塊。它可以用于實現(xiàn)各種定時任務(wù),如定時中斷、PWM(脈沖寬度調(diào)制)輸出、頻率測量等。
    的頭像 發(fā)表于 07-12 10:29 ?569次閱讀

    STM32G4系列芯片定時器的延時輸出問題

    有人使用STM32G4系列芯片內(nèi)部的多個定時器PWM輸出,輸出頻率一樣,占空比也一樣,均為50
    的頭像 發(fā)表于 07-01 09:45 ?1214次閱讀
    STM32G4系列芯片<b class='flag-5'>定時器</b>的延時<b class='flag-5'>輸出</b>問題

    三菱plc定時器范圍怎么設(shè)置

    定時器的設(shè)置范圍直接影響到程序的執(zhí)行效率和控制精度。本文將詳細(xì)介紹三菱PLC定時器的設(shè)置范圍及其設(shè)置方法。
    的頭像 發(fā)表于 06-20 11:04 ?1907次閱讀

    求助,關(guān)于STM8S103F3定時器1產(chǎn)生PWM信號的問題

    我在使用STM8S103F3 單片機(jī)定時器2產(chǎn)生PWM信號時,是沒有問題的,CH1CH2CH3 都是能正常輸出PWM信號的; 但是在使用 定時器
    發(fā)表于 04-25 07:18

    STM32同一定時器PWM輸出定時,會影響我的PWM輸出嗎?

    求助各位大佬 ,我用定時器2通道1輸出PWM 定時器設(shè)置為TIM2_PERIODE (1000-1) TIM2_PRESCALER 36,現(xiàn)在還想開啟2的中斷用
    發(fā)表于 03-26 07:23

    STM32f4定時器TIM1輸出PWM占空比快速變化時,串口2接收的數(shù)據(jù)頻繁出錯是為什么?

    STM32f4定時器TIM1輸出PWM占空比快速變化時,導(dǎo)致串口2接收的數(shù)據(jù)頻繁出錯是為什么?
    發(fā)表于 03-15 06:27

    使用555定時器的可調(diào)雙定時器電路

    定時器 IC 555 是最通用和最常用的 IC 之一,因為它的應(yīng)用范圍更廣,如 PWM放大器、延遲定時器、開關(guān)電路、占空比選擇
    的頭像 發(fā)表于 02-25 15:16 ?1846次閱讀
    使用555<b class='flag-5'>定時器</b>的可調(diào)雙<b class='flag-5'>定時器</b>電路

    一個通道如何捕獲PWM頻率占空比

    一,前言正常情況是雙通道捕獲PWM波,這種方法簡單且準(zhǔn)確,但是它占用的資源太多了,因為它使用定時器的兩個通道,且這兩個通道映射在一個通道上,同時配置一路捕獲為觸發(fā)定時器復(fù)位,所以只能使用2個通道
    的頭像 發(fā)表于 12-30 08:00 ?2298次閱讀
    一個通道如何捕獲<b class='flag-5'>PWM</b>的<b class='flag-5'>頻率</b>和<b class='flag-5'>占空比</b>?

    pwm頻率占空比的計算公式

    PWM(脈寬調(diào)制)是一種常用的控制技術(shù),在電子系統(tǒng)中廣泛應(yīng)用。PWM頻率占空比是其重要參數(shù)之一,對于設(shè)計和優(yōu)化PWM控制系統(tǒng)非常重要。本
    的頭像 發(fā)表于 12-28 11:40 ?1.8w次閱讀

    怎么實現(xiàn)dsp芯片輸出占空比固定的pwm波形

    的比例。例如,占空比為50%表示高電平持續(xù)時間等于一個周期的一半。在實現(xiàn)DSP芯片輸出占空比固定的PWM波形之前,我們需要先確定所需的占空比
    的頭像 發(fā)表于 12-26 17:28 ?2184次閱讀

    pid值如何轉(zhuǎn)化成pwm占空比 pid輸出是怎么計算出來的

    ,輸出PWM占空比還可以受限制于硬件限制(如PWM模塊的精度頻率
    的頭像 發(fā)表于 11-10 17:11 ?9168次閱讀

    PWM定時器的脈寬測量精度

    您好!請問PWM定時器的脈寬測量精度是多少?
    發(fā)表于 11-02 22:51

    STM32F10X定時器PWM輸入模式測量頻率占空比精度問題如何處理?

    今天使用了STM32F10X定時器PWM輸入模式,用來測量輸入方波信號的頻率占空比,發(fā)現(xiàn)精度不高,設(shè)置
    發(fā)表于 10-28 07:14

    定時器定時啟動信號特點

    來自外部電子設(shè)備,也可以由定時器本身生成。定時器定時啟動信號具有以下特點: 1. 精度定時器定時
    的頭像 發(fā)表于 10-24 11:49 ?776次閱讀