在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32定時(shí)器(一)PWM輸出

冬至子 ? 來源:不懂幽默的秦二 ? 作者:diandianmo ? 2023-07-21 14:51 ? 次閱讀

一、 STM32定時(shí)器分類眾多,按照內(nèi)核、外核標(biāo)準(zhǔn)分為兩部分:核內(nèi)定時(shí)器+核外定時(shí)器

1)核內(nèi)定時(shí)器:Systick

2)外設(shè)定時(shí)器:特定應(yīng)用定時(shí)器+常規(guī)定時(shí)器

3)特定應(yīng)用定時(shí)器:LPTIM,RTC,WTD,HRTIM

4)常規(guī)定時(shí)器:基本定時(shí)器TIM6&TIM7)、通用定時(shí)器(TIM2TIM5,TIM9TIM14)、高級定時(shí)器(TIM1&TIM8)

【常規(guī)定時(shí)器:

  1. 基本定時(shí)器:計(jì)劃沒有任何對外輸入/輸出,常用作時(shí)基,實(shí)現(xiàn)基本的計(jì)數(shù)和定時(shí)功能。
  2. 通用定時(shí)器:除了基本的定時(shí)器的時(shí)基功能外,還可以對外作輸入捕獲、輸出比較以及連接其他傳感器接口(除了編碼器和霍爾傳感器)
  3. 高級定時(shí)器:此類的定時(shí)器功能強(qiáng)大,除了具備通用的定時(shí)器的功能外,還包含一些與電機(jī)控制數(shù)字電源應(yīng)用的相關(guān)功能,比方帶死區(qū)控制的互補(bǔ)信號輸出、緊急剎車關(guān)斷輸入控制。】

按照計(jì)數(shù)器的位寬來分:分為3部分

1)16bit定時(shí)器

2)32bit定時(shí)器(TIM2、TIM5)

3)24bit定時(shí)器(Systick)

二、三種 定時(shí)器 (高級&通用&基本)區(qū)別

對于STM32F4XX,三種定時(shí)器(高級、通用、基本)的區(qū)別如下表

圖片

根據(jù)以上表格,可以看出

1)高級定時(shí)器(TIM1&TIM8)是16bit,支持向上、向下、向上/向下計(jì)數(shù)模式,可以產(chǎn)生DMA請求,捕獲/比較通道有4個(gè),支持互補(bǔ)輸出(帶可編程死區(qū)的互補(bǔ)輸出)

2)通用定時(shí)器又分為三種,32bit(TIM2&TIM5)和16bit(TIM3&TIM4),這兩種支持向上、向下、向上/向下計(jì)數(shù)模式,且都可以產(chǎn)生DMA請求,捕獲/比較通道4個(gè),16bit(TIM9TIM14)只能向上計(jì)數(shù),不能產(chǎn)生DMA請求,捕獲/比較通道只有2個(gè),沒有這三種都無互補(bǔ)輸出,都能應(yīng)用于定時(shí)器技術(shù),PWM輸出,輸入捕獲,輸出比較。可以認(rèn)為TIM9TIM14是TIM2&TIM5&TIM3&TIM4的簡單版本。

3)基本定時(shí)器(TIM6&TIM7)是16bit,支持向上、向下、向上/向下計(jì)數(shù),可以產(chǎn)生DMA請求,沒有捕獲/比較通道和互補(bǔ)輸出,只能用于驅(qū)動DAC

三、通用定時(shí)器的特性(以TIM2.TIM3,TIM4.TIM5為例)

1)16bit/32bit遞增、遞減、遞增/遞減(中心對齊)計(jì)數(shù)模式,自動重載計(jì)數(shù)器;

2)16bit可編程預(yù)分頻器(可實(shí)時(shí)修改),用于對計(jì)數(shù)器時(shí)鐘進(jìn)行分頻,分頻系數(shù)介于1~65535之間;

3)多達(dá)4個(gè)獨(dú)立通道

--輸入捕獲

--輸出比較

--PWM生成(邊沿和中心對齊模式)

--單脈沖模式輸出

4)可使用外部信號(TIMx_ETR)控制定時(shí)器和定時(shí)器互連(可以用1個(gè)定時(shí)器控制另外一個(gè)定時(shí)器)同步電路

5)如下事件發(fā)生時(shí),可以產(chǎn)生中斷/DMA請求(6個(gè)獨(dú)立的IRQ/DMA請求生成器)

  1. 更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過軟件或內(nèi)部/外部觸發(fā))
  2. 觸發(fā)事件(計(jì)數(shù)器啟動、停止、初始化或由內(nèi)部/外部觸發(fā)計(jì)數(shù))
  3. 輸入捕獲
  4. 輸出比較
  5. 會吃針對定位的增量(正交)編碼器和霍爾傳感器電路
  6. 觸發(fā)輸入作為外部時(shí)鐘或按周期的電流管理

6)STM32的通用定時(shí)器可以被用于:測量輸入信號的脈沖長度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)

7)使用定時(shí)器預(yù)分頻器和RCC時(shí)鐘控制器預(yù)分頻器,脈沖長度和波形周期可以在幾個(gè)us到幾個(gè)毫秒之間調(diào)整。SMT32的每個(gè)通用定時(shí)器都是完全獨(dú)立的,沒有互相共享的任何資源。

四、計(jì)數(shù)器模式

通用定時(shí)器可以向上、向下、向上/向下雙向計(jì)數(shù)模式

  • 向上計(jì)數(shù)模式:計(jì)數(shù)器從0計(jì)數(shù)到自動加載值(TIMx_ARR),然后重新從0開始計(jì)數(shù)并且產(chǎn)生一個(gè)計(jì)數(shù)器向上溢出事件
  • 向下計(jì)數(shù)模式:計(jì)數(shù)器從自動裝入的值(TIMx_ARR)向下計(jì)數(shù)到0,然后從自動裝入的值重新開始,并產(chǎn)生一個(gè)計(jì)數(shù)器向下溢出事件
  • 向上/向下雙向計(jì)數(shù)模式(中央對齊模式)

圖片

五、定時(shí)器框圖分析

圖片

框圖可以分為以下4個(gè)部分

第一部分:定時(shí)器時(shí)鐘源

定時(shí)器時(shí)鐘可由下列時(shí)鐘源提供:

  • 內(nèi)部時(shí)鐘(CK_INT)(內(nèi)部RCC提供的時(shí)鐘)
  • 外部時(shí)鐘模式1:外部輸入引腳(TIx)
  • 外部時(shí)鐘模式2:外部觸發(fā)輸入(ETR),僅適用于TIM2,TIM3,TIM4
  • 內(nèi)部觸發(fā)輸入(ITRx):使用一個(gè)定時(shí)器作為另外一個(gè)定時(shí)器的預(yù)分頻器,例如可以將定時(shí)器配置為定時(shí)器2的預(yù)分頻器

第二部分:時(shí)基單元 :主要包括預(yù)分頻寄存器(TIMx_PSC)、自動重裝載寄存器(TIMx_ARR)、計(jì)數(shù)器寄存器(TIMx_CNT)

第三部分:輸入捕獲通道

第四部分:輸出比較通道

六、PWM輸出

PWM輸出主要用到定時(shí)器框圖中的第四部分:時(shí)基單元和輸出比較通道

PWM工作過程(通道1為例)

圖片

CCR1:捕獲/比較值寄存器(x=1,2,3,4),設(shè)置比較值

CCMR1:OC1M[2:0]位:對于PWM方式下,用于設(shè)置PWM模式1【110】或PWM模式2【111】

CCER:CC1P位:捕獲/比較1輸出極性,0:高電平有效,1:低電平有效

CCER:CC1E位:捕獲/比較1輸出使能,0:OC1關(guān)閉,1:OC1打開

PWM模式1;在遞增計(jì)數(shù)模式下,只要 TIMx_CNTTIMx_CCR1,通道 1 便為無效狀態(tài) (OC1REF=0),否則為有效狀態(tài) (OC1REF=1)。

PWM模式2:在遞增計(jì)數(shù)模式下,只要 TIMx_CNTTIMx_CCR1,通道 1 便為有效狀態(tài),否則為無效狀態(tài)。
注意:在 PWM 模式 1 或 PWM 模式 2 下,僅當(dāng)比較結(jié)果發(fā)生改變或輸出比較模式由“凍結(jié)”模式切換到“PWM”模式時(shí), OCREF 電平才會發(fā)生更改

如下圖就是PWM模式2的例子

圖片

當(dāng)配置某個(gè)IO口為PWM1模式,TIMx_CNT=TIM_CCR1,通道1有效,輸出高電平。

PWM模式本質(zhì)是可以產(chǎn)生一個(gè)由TIMx_ARR寄存器確定頻率,由TIMx_CCRx寄存器確定占空比的信號。在TIMx_CCMRx寄存器中的OCxM位寫入"110-PWM模式1","111-PWM模式2",能夠獨(dú)立地設(shè)置每個(gè)OCx輸出通道產(chǎn)生一路PWM,必須設(shè)置TIMx_CCMRx寄存器OCxPE位以使能相應(yīng)的預(yù)裝載寄存器,最好還要設(shè)置TIMx_CR1寄存器的ARPE位,(在向上計(jì)數(shù)或中心對稱模式中)使能自動重裝載的預(yù)裝載寄存器。

注意:此處提到的“ 必須設(shè)置TIMx_CCMRx寄存器OCxPE位以使能相應(yīng)的預(yù)裝載寄存器.. .”目的是滿足一些特殊的需求,使能預(yù)裝載的意義在于可以多個(gè)通道同時(shí)輸出時(shí),時(shí)序能準(zhǔn)確地同步。網(wǎng)上的一段有意義的解釋是:設(shè)計(jì)preload register和shadow register的好處是,所有真正需要起作用的寄存器(shadow register)可以在同一個(gè)時(shí)間(發(fā)生更新事件時(shí))被更新為所對應(yīng)的preload register的內(nèi)容,這樣可以保證多個(gè)通道的操作能夠準(zhǔn)確地同步。如果沒有shadow register,或者preload register和shadow register是直通的,即軟件更新preload register時(shí),同時(shí)更新了shadow register,因?yàn)檐浖豢赡茉谝粋€(gè)相同的時(shí)刻同時(shí)更新多個(gè)寄存器,結(jié)果造成多個(gè)通道的時(shí)序不能同步,如果再加上其它因素(例如中斷),多個(gè)通道的時(shí)序關(guān)系有可能是不可預(yù)知的。可見如果只是單通道輸出,多通道輸出時(shí)沒時(shí)序精準(zhǔn)的同步更新要求,不使能也可以的。

**七、PWM編程
**

1)要求:使用TIM14的PWM功能,輸出頻率不變,占空比變化的PWM波,驅(qū)動LED燈,達(dá)到LED的亮度由暗變亮,由從亮變暗,如此往復(fù)。

2)編程步驟

2-1,使能定時(shí)器時(shí)鐘和對應(yīng)的GPIO時(shí)鐘,

2-2 初始化IO口為復(fù)用功能輸出,并將復(fù)用功能映射到對應(yīng)的定時(shí)器

2-3 初始化定時(shí)器,ARR,PSC等

2-4 初始化輸出比較參數(shù)

2-5 使能預(yù)裝載寄存器和ARPE位

2-6 使能定時(shí)器

2-7不斷改變比較值CCRx,達(dá)到不同的占空比;

圖片

在功能函數(shù)中,我們初始化要設(shè)置好arr和psc,TIM14采用的APB1(42MHz)經(jīng)過2倍的倍頻獲得的頻率(84MHz),預(yù)分頻系數(shù)設(shè)置為84,那么PWM的頻率為1MHZ,自動重裝載值arr=500,則PWM的頻率為1MHZ/500=2kHz。

TIM14_PWM_Init(500-1,84-1); //1Mhz的計(jì)數(shù)頻率,2Khz的PWM.

u16 led0pwmval=0;

u8 dir=1;

pwm_func{

if(dir)led0pwmval++;

else led0pwmval--;	 

if(led0pwmval >300)dir=0;//實(shí)測當(dāng)TIM_CNT大于300時(shí),亮度變化不明顯,故此處設(shè)置為300為最亮

if(led0pwmval==0)  dir=1;	   					 

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

    關(guān)注

    3538

    文章

    1889

    瀏覽量

    269032
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    194

    瀏覽量

    28104
  • 預(yù)分頻器
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    8170
  • PWM輸出
    +關(guān)注

    關(guān)注

    1

    文章

    66

    瀏覽量

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

    關(guān)注

    0

    文章

    13

    瀏覽量

    2301
收藏 人收藏

    評論

    相關(guān)推薦

    STM32F407 基本定時(shí)器配置輸出PWM方波

    介紹STM32F407定時(shí)器PWM波形輸出配置方式。 通過邏輯分析采集波形數(shù)據(jù)進(jìn)行可視化顯示對比。
    的頭像 發(fā)表于 07-06 14:33 ?5362次閱讀
    <b class='flag-5'>STM32</b>F407 基本<b class='flag-5'>定時(shí)器</b>配置<b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>方波

    STM32定時(shí)器輸出PWM

    STM32定時(shí)器輸出PWM(控制LED燈的亮度)STM32
    發(fā)表于 08-04 07:21

    定時(shí)器輸出PWM實(shí)驗(yàn)

    定時(shí)器輸出PWM 實(shí)驗(yàn) . 實(shí)驗(yàn)?zāi)康睦?b class='flag-5'>定時(shí)器控制產(chǎn)生占空比可變的PWM 波。二. 實(shí)驗(yàn)設(shè)備
    發(fā)表于 09-22 10:49 ?7442次閱讀

    STM32高級定時(shí)器-PWM簡單學(xué)習(xí)案例

    高級定時(shí)器與通用定時(shí)器比較類似,下面是個(gè)TIM1 的PWM 程序,TIM1是STM32的高
    發(fā)表于 04-21 14:47 ?4788次閱讀
    <b class='flag-5'>STM32</b>高級<b class='flag-5'>定時(shí)器</b>-<b class='flag-5'>PWM</b>簡單學(xué)習(xí)案例

    stm32定時(shí)器中斷程序

    STM32定時(shí)器是個(gè)強(qiáng)大的模塊,定時(shí)器使用的頻率也是很高的,定時(shí)器可以做些基本的定時(shí),還可以
    發(fā)表于 10-12 16:59 ?1.3w次閱讀

    STM32單片機(jī)如何通過定時(shí)器的控制輸出PWM

    STM32F103ZET6里共有8個(gè)定時(shí)器,其中高級定時(shí)器有TIM1-TIM5、TIM8,共6個(gè)。 我這里輸出PWM
    發(fā)表于 11-22 15:56 ?8303次閱讀
    <b class='flag-5'>STM32</b>單片機(jī)如何通過<b class='flag-5'>定時(shí)器</b>的控制<b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>

    如何通過STM32定時(shí)器輸出PWM

    ? 本文將介紹通過STM32定時(shí)器輸出PWM,如果對定時(shí)器不太熟悉的同學(xué)可以看下之前的文章《STM32
    的頭像 發(fā)表于 02-20 15:08 ?2.2w次閱讀
    如何通過<b class='flag-5'>STM32</b>的<b class='flag-5'>定時(shí)器</b><b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>?

    淺談定時(shí)器基礎(chǔ)知識與PWM輸出原理

    轉(zhuǎn)速等。 本篇先介紹定時(shí)器的基礎(chǔ)知識,然后對照這些知識介紹一下定時(shí)器輸出PWM的基本原理,以及編程實(shí)現(xiàn)與代碼分析。 首先來看一下定時(shí)器的基礎(chǔ)
    的頭像 發(fā)表于 04-05 10:35 ?1.4w次閱讀
    淺談<b class='flag-5'>定時(shí)器</b>基礎(chǔ)知識與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    [STM32]通用定時(shí)器的使用

    STM32的通用定時(shí)器定時(shí)輸出PWM功能的使用本次還是使用發(fā)光二極管來驗(yàn)證定時(shí)器的使用目錄
    發(fā)表于 11-22 19:06 ?24次下載
    [<b class='flag-5'>STM32</b>]通用<b class='flag-5'>定時(shí)器</b>的使用

    STM32單片機(jī)個(gè)定時(shí)器輸出不同頻率PWM

    ??在使用STM32單片機(jī)輸出PWM波形的時(shí)候,通常可以直接使用定時(shí)器提供的PWM模式。可以通過自動重裝載寄存
    發(fā)表于 11-23 18:21 ?18次下載
    <b class='flag-5'>STM32</b>單片機(jī)<b class='flag-5'>一</b>個(gè)<b class='flag-5'>定時(shí)器</b><b class='flag-5'>輸出</b>不同頻率<b class='flag-5'>PWM</b>波

    STM32-通用定時(shí)器-PWM輸出

    1 通用定時(shí)器PWM概述1.1STM32定時(shí)器輸出通道引腳這里以TIM3為例來講解。STM32
    發(fā)表于 11-26 15:36 ?23次下載
    <b class='flag-5'>STM32</b>-通用<b class='flag-5'>定時(shí)器</b>-<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>

    STM32F4單定時(shí)器獨(dú)立輸出四路PWM脈沖

    本文以STM32F405單片機(jī)為例,介紹如何用個(gè)定時(shí)器的四個(gè)通道獨(dú)立地輸出四路PWM脈沖。主要使用定時(shí)
    發(fā)表于 11-30 10:06 ?28次下載
    <b class='flag-5'>STM32</b>F4單<b class='flag-5'>定時(shí)器</b>獨(dú)立<b class='flag-5'>輸出</b>四路<b class='flag-5'>PWM</b>脈沖

    電機(jī)控制基礎(chǔ)——定時(shí)器基礎(chǔ)知識與PWM輸出原理

    轉(zhuǎn)速等。本篇先介紹定時(shí)器的基礎(chǔ)知識,然后對照這些知識介紹一下定時(shí)器輸出PWM的基本原理,以及編程實(shí)現(xiàn)與代碼分析。首先來看一下定時(shí)器的基礎(chǔ)介紹
    發(fā)表于 11-30 14:21 ?38次下載
    電機(jī)控制基礎(chǔ)——<b class='flag-5'>定時(shí)器</b>基礎(chǔ)知識與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    STM32F407入門開發(fā): 配置定時(shí)器輸出PWM方波

    STM32F407的定時(shí)器的 TIM6 和 TIM7 是普通定時(shí)器,除此之外,其他的定時(shí)器都可以用來產(chǎn)生 PWM
    的頭像 發(fā)表于 05-28 13:43 ?1.5w次閱讀
    <b class='flag-5'>STM32</b>F407入門開發(fā): 配置<b class='flag-5'>定時(shí)器</b><b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>方波

    詳解stm32定時(shí)器8輸出PWM

    我在定時(shí)器3的例程上面改,改了很久都沒改好,百度看別人說定時(shí)器1和定時(shí)器8需要額外的指令用于PWM輸出,今天下午硬件的人來要東西了,來不及研
    的頭像 發(fā)表于 01-05 11:01 ?6762次閱讀
    主站蜘蛛池模板: 亚洲xx视频| 我想看一级黄色片| 91精品福利视频| 午夜看黄| 中文字幕一区视频| 欧洲精品不卡1卡2卡三卡| 海棠高h粗暴调教双性男男| 中文字幕有码视频| 天天做人人爱夜夜爽2020毛片| 婷婷六月激情在线综合激情| 色在线看| 噜噜爽| 成人影院久久久久久影院| 亚洲精品久久久久午夜三| 欧美另类bbw| 欧美极品| 99久久久久国产精品免费| 四虎在线免费播放| 免费一级毛片在级播放| 免费aa| 男操女免费视频| 成人一级毛片| 色视频免费在线观看| 久久综合九色综合欧美狠狠| 丁香婷婷色| 欧美肥胖女人bbwbbw视频| 男人女人的免费视频网站| 久久久久国产一级毛片高清板 | 欧美激情在线| 99精品久久99久久久久久| 色在线视频网站| 国产黄色三级网站| 热之国产| 亚洲福利视频一区| 中文字幕精品一区影音先锋| 自拍你懂的| 欧美一区二区精品| 综合色综合| 夜恋秀场欧美成人影院| 99热网站| 久久婷婷激情综合色综合也去|