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

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

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

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

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

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

Ⅰ寫(xiě)在前面

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

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

這里句題外話:

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

Ⅱ解讀那段文字

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

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

STM32中,定時(shí)器分16位和32位,這個(gè)好理解。簡(jiǎn)單的來(lái)說(shuō),就是16位定時(shí)器相關(guān)的寄存器包含計(jì)數(shù)器是16位的,計(jì)數(shù)的范圍是0 ~ 0xFFFF。同理,32位計(jì)數(shù)范圍為0 ~ 0xFFFF FFFF。

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

截圖中,頻率的范圍,其實(shí)說(shuō)明了32位定時(shí)器的優(yōu)勢(shì)。但是,在STM32中,有些型號(hào)的MCU是沒(méi)有32位的定時(shí)器的(具體請(qǐng)見(jiàn)選型手冊(cè),或數(shù)據(jù)手冊(cè))。

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

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

比如:拿1KHz波形來(lái)說(shuō),占空比為20%,即高電平0.2ms。

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

#define PWM_TIM_SetComparex TIM_SetCompare1

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

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

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

pwm_period:是PWM周期值;

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

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

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

3.計(jì)算頻率和占空比

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

波形頻率(周期)案例:

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

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

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

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

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

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

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

兩案例的結(jié)論:

1.100K > 65535,對(duì)于16位定時(shí)器來(lái)說(shuō),肯定不行啊。對(duì)于32位定時(shí)器就行。

2.CCR1的值不可能為0.1。

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

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

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

    關(guān)注

    114

    文章

    5119

    瀏覽量

    213176
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354305
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3232

    瀏覽量

    114332
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLC輸出pwm信號(hào)怎么看頻率

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

    定時(shí)器的工作方式介紹

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

    STM32G4系列芯片定時(shí)器的延時(shí)輸出問(wèn)題

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

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

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

    STM8L052定時(shí)器1同時(shí)輸出3路PWM,想讓其中的兩路PWM輸出頻率跟另外一個(gè)不同,可以實(shí)現(xiàn)嗎?

    STM8L052的定時(shí)器1同時(shí)輸出3路PWM但是想讓其中的兩路PWM輸出頻率跟另外一個(gè)不同,請(qǐng)問(wèn)
    發(fā)表于 05-13 09:06

    用STM8L定時(shí)器PWM輸出方波,為什么定時(shí)器的計(jì)數(shù)頻率和官方描述的不一致?

    我用STM8L定時(shí)器PWM輸出方波 看官方例程說(shuō)定時(shí)器計(jì)數(shù)頻率是1MHZ 也就是1us計(jì)數(shù)一次 我用示波器測(cè)試波形,
    發(fā)表于 04-29 07:18

    求助,關(guān)于STM8S103F3定時(shí)器1產(chǎn)生PWM信號(hào)的問(wèn)題

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

    一文帶你了解PWM原理、頻率占空比

    時(shí)間,假設(shè)周期T為 1s 那么頻率就是 1Hz 那么高電平時(shí)間0.5s ,低電平時(shí)間0.5s 總的占空比就是 0.5 /1 =50%。PWM原理以單片機(jī)為例,我們知道,單片機(jī)的IO口輸出
    發(fā)表于 03-27 14:12

    STM32同一定時(shí)器PWM輸出定時(shí),會(huì)影響我的PWM輸出嗎?

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

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

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

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

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

    pwm占空比和電壓的關(guān)系 pid輸出pwm占空比怎么聯(lián)系

    PWM(脈寬調(diào)制)指的是通過(guò)改變周期內(nèi)的高電平時(shí)長(zhǎng)來(lái)調(diào)整信號(hào)的占空比。占空比是指高電平時(shí)長(zhǎng)與周期時(shí)長(zhǎng)的比值,常用百分比來(lái)表示。PWM的主要應(yīng)用是在調(diào)速控制、電源控制以及通信傳輸?shù)阮I(lǐng)域。
    的頭像 發(fā)表于 02-02 17:17 ?5966次閱讀

    一個(gè)通道如何捕獲PWM頻率占空比?

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

    pwm頻率占空比的計(jì)算公式

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

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

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