日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32F103的11个定时器详解

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32F103的11个定时器详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

STM32F103系列的單片機一共有11個定時器,其中:
2個高級定時器
4個普通定時器
2個基本定時器
2個看門狗定時器
1個系統嘀嗒定時器

出去看門狗定時器和系統滴答定時器的八個定時器列表;

8個定時器分成3個組;
TIM1和TIM8是高級定時器
TIM2-TIM5是通用定時器
TIM6和TIM7是基本的定時器

這8個定時器都是16位的,它們的計數器的類型除了基本定時器TIM6和TIM7都支持向上,向下,向上/向下這3種計數模式

計數器三種計數模式
向上計數模式:從0開始,計到arr預設值,產生溢出事件,返回重新計時
向下計數模式:從arr預設值開始,計到0,產生溢出事件,返回重新計時
中央對齊模式:從0開始向上計數,計到arr產生溢出事件,然后向下計數,計數到1以后,又產生溢出,然后再從0開始向上計數。(此種技術方法也可叫向上/向下計數)

基本定時器(TIM6,TIM7)的主要功能:
只有最基本的定時功能,。基本定時器TIM6和TIM7各包含一個16位自動裝載計數器,由各自的可編程預分頻器驅動

通用定時器(TIM2~TIM5)的主要功能:
除了基本的定時器的功能外,還具有測量輸入信號的脈沖長度( 輸入捕獲) 或者產生輸出波形( 輸出比較和PWM)

高級定時器(TIM1,TIM8)的主要功能:
高級定時器不但具有基本,通用定時器的所有的功能,還具有控制交直流電動機所有的功能,你比如它可以輸出6路互補帶死區的信號,剎車功能等等

通用定時器的時鐘來源;
a:內部時鐘(CK_INT)
b:外部時鐘模式1:外部輸入腳(TIx)
c:外部時鐘模式2:外部觸發輸入(ETR)
d:內部觸發輸入(ITRx):使用一個定時器作為另一個定時器的預分頻器

通用定時期內部時鐘的產生:

從截圖可以看到通用定時器(TIM2-7)的時鐘不是直接來自APB1,而是通過APB1的預分頻器以后才到達定時器模塊。
當APB1的預分頻器系數為1時,這個倍頻器就不起作用了,定時器的時鐘頻率等于APB1的頻率;
當APB1的預分頻系數為其它數值(即預分頻系數為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等于APB1時鐘頻率的兩倍。

自動裝在寄存器arr值的計算:
Tout= ((arr+1)*(psc+1))/Tclk;
Tclk:TIM3的輸入時鐘頻率(單位為Mhz)。
Tout:TIM3溢出時間(單位為us)。

計時1S,輸入時鐘頻率為72MHz,加入PSC預分頻器的值為35999,那么:
((1+psc )/72M)*(1+arr )=((1+35999)/72M)*(1+arr)=1秒
則可計算得出自動窗裝載寄存器arr=1999

通用定時器PWM工作原理
以PWM模式2,定時器3向上計數,有效電平是高電平,定時器3的第3個PWM通道為例:

定時器3的第3個PWM通道對應是PB0這引腳,三角頂點的值就是TIM3_ARR寄存器的值,上圖這條紅線的值就TIM3_CCR3
當定時器3的計數器(TIM3_CNT)剛開始計數的時候是小于捕獲/比較寄存器(TIM3_CCR3)的值,
此時PB0輸出低電平,隨著計數器(TIM3_CNT)值慢慢的增加,
當計數器(TIM3_CNT)大于捕獲/比較寄存器(TIM3_CCR3)的值時,這時PB0電平就會翻轉,輸出高電平,計數器(TIM3_CNT)的值繼續增加,
當TIM3_CNT=TIM3_ARR的值時,TIM3_CNT重新回到0繼續計數,PB0電平翻轉,輸出低電平,此時一個完整的PWM信號就誕生了。

PWM輸出模式;
STM32的PWM輸出有兩種模式:
模式1和模式2,由TIMx_CCMRx寄存器中的OCxM位確定的(“110”為模式1,“111”為模式2)。區別如下:
110:PWM模式1,在向上計數時,一旦TIMx_CNT
在向下計數時,一旦TIMx_CNT>TIMx_CCR1時通道1為無效電平(OC1REF=0),否則為有效電平(OC1REF=1)。
111:PWM模式2-在向上計數時,一旦TIMx_CNTTIMx_CCR1時通道1為有效電平,否則為無效電平。
由以上可知:
模式1和模式2正好互補,互為相反,所以在運用起來差別也并不太大。而從計數模式上來看,PWM也和TIMx在作定時器時一樣,也有向上計數模式、向下計數模式和中心對齊模式

PWM的輸出管腳:
不同的TIMx輸出的引腳是不同(此處設計管腳重映射
TIM3復用功能重映射:

注:重映射是為了PCB的設計方便。值得一提的是,其分為部分映射和全部映射

PWM輸出頻率的計算:
PWM輸出的是一個方波信號,信號的頻率是由TIMx的時鐘頻率和TIMx_ARR這個寄存器所決定的
輸出信號的占空比則是由TIMx_CRRx寄存器確:
占空比=(TIMx_CRRx/TIMx_ARR)*100%
PWM頻率的計算公式為:

其中
F就是PWM輸出的頻率,單位是:HZ;
ARR就是自動重裝載寄存器(TIMx_ARR);
PSC 就是預分頻器(TIMx_PSC);
72M就是系統的頻率;

STM32 高級定時器PWM的輸出

一路帶死區時間的互補PWM的波形圖


STM32F103VC這款單片機一共有2個高級定時器TIM1和TIM8
這2個高級定時器都可以同時產生3路互補帶死區時間的PWM信號和一路單獨的PWM信號,
具有剎車輸入功能,在緊急的情況下這個剎車功能可以切斷PWM信號的輸出
還具有支持針對定位的增量(正交)編碼器和霍爾傳感器電路
高級控制定時器(TIM1 和TIM8) 由一個16位的自動裝載計數器組成,它由一個可編程的預分頻器驅動

它適合多種用途,包含測量輸入信號的脈沖寬度( 輸入捕獲) ,或者產生輸出波形(輸出比較、PWM、嵌入死區時間的互補PWM等)。
使用定時器預分頻器和RCC時鐘控制預分頻器,可以實現脈沖寬度和波形周期從幾個微秒到幾個毫秒的調節。
高級控制定時器(TIM1 和TIM8) 和通用定時器(TIMx) 是完全獨立的,它們不共享任何資源

死區時間
H橋電路為避免由于關斷延遲效應造成上下橋臂直通,有必要設置死區時間
死區時間可有效地避免延遲效應所造成的一個橋臂未完全關斷,而另一橋臂又處于導通狀態,避免直通炸開關管。
死區時間越大,電路的工作也就越可靠,但會帶來輸出波形的失真以及降低輸出效率。
死區時間小,輸出波形要好一些,但是會降低系統的可靠性,一般這個死區時間設置為us級

元器件死區時間是不可以改變的,它主要是取決于元器件的制作工藝和材料!

原則上死區時間當然越小越好。設置死區時間的目的,其實說白了就是為了電路的安全。最佳的設置方法是:在保證安全的前提下,設置的死區時間越小越好。以不炸功率管、輸出不短路為目的。

STM32死區時間探究
設置寄存器:就是剎車和死區控制寄存器(TIMx_BDTR)

這個寄存器的第0—7位,這8個位就是用來設置死區時間的,使用如下:

以TIM1為例說明其頻率是如何產生的。

定時器1適中產生路線:
系統時鐘-> AHB預分頻 -> APB2預分頻 –> TIM1倍頻器–> 產生TIM1的時鐘系統
流程圖看可以看出,要想知道TIM1的時鐘,就的知道系統時鐘,AHB預分頻器的值,還有APB2預分頻器的值,只要知道了這幾個值,即可算出TIM1的時鐘頻率?
這些值從何來,在“SystemInit()”這個時鐘的初始化函數中已經給我們答案了,在這個函數中設置的系統時鐘是72MZ,AHB預分頻器和APB2預分頻器值都是設置為1,由此可算出:TIM1時鐘頻率:
72MHZ了,TDTS=1/72MHZ=13.89ns

Tdtg死區時間步進值,它的值是定時器的周期乘以相應的數字得到的

下面看看官方給的公式如何使用,如下:
DTG[7:5]=0xx=>DT=DTG[6:0]×Tdtg,Tdtg=TDTS

首先由
DTG[7:5]=0xx可以知道的是:DTG的第7位必須為0,剩余的0~6這7位可配置死區時間,假如TIM1的時鐘為72M的話,那么由公式Tdtg=TDTS可計算出:TDTS=1/72MHZ=13.89ns。
有了這個值,然后通過公式DT=DTG[6:0]×Tdtg即可計算出DT的值。

如果DTG的第0~6位均為0的話,DT=0
如果
DTG的第0~6位均為1的話,DT=127*13.89ns=1764ns
如果TIM1的時鐘為72M的話,
公式1可設置的死區時間0~1764ns,也就是說:
如果你的項目需要輸出的PWM信號要求的死區時間是0——1764ns的時候你就可以用公式1


同樣可計算出4個公式的死去區間,如下:
公式1:DT=0~1764ns
公式2:DT=1777.9ns~3528.88ns
公式3:DT=3555.84ns~7000.56ns
公式4:DT=7111.68ns~14001.12ns

如何設置死區時間:
假如我們設計了一個項目要求輸出的PWM信號中加入一個3us的死區時間因為3us這個值在第二個公式決定的死區范圍之內所以選擇第二個公式。3000/(13.89*2)=108,
所以DTG[5:0]=108-64=44
所以DTG=127+44+32=203=0XCB,TIM1->BDTR|=0Xcb
這里為什么要在加上一個32那?在公式2中DTG的第5位是一個X,也就是說這一位可以設置為高電平,也可以設置為低電平,在這里我們將這一位設置為了高電平,所有要在加上一個32.如此而已!

總結

以上是生活随笔為你收集整理的STM32F103的11个定时器详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 添女人荫蒂视频 | 中文字幕69页 | 中国吞精videos露脸 | 久久男人的天堂 | 无码日韩人妻精品久久蜜桃 | 99热这里只有精品在线 | 黄色美女毛片 | 国产一级特黄aaa大片 | 成人免费看片98 | 瑟瑟视频在线观看 | 丝袜制服影音先锋 | 黄色视屏在线播放 | 欧美日韩久 | 假日游船法国满天星 | 国产字幕av| 影音先锋中文字幕一区二区 | 国产麻豆精品视频 | 欧美激情日韩 | 黑人操亚洲女人 | 五月激情六月丁香 | 九色在线观看视频 | 日韩大片免费看 | 香蕉国产片| av性天堂网| 黑帮大佬和我的三百六十五天 | 午夜神马影院 | 五月激情在线 | 波多野结衣欲乱上班族 | 欧美一级淫片 | 日本不卡视频一区 | 一区二区三区福利 | 中国黄色大片 | av在线中文 | 91成人在线观看喷潮动漫 | 国产做爰全过程免费视频 | 99爱免费视频 | 高潮毛片无遮挡高清免费 | 色戒电影未测减除版 | 57pao国产成永久免费视频 | 看毛片网 | 午夜视频在线观看国产 | 精品福利在线观看 | 色老头一区二区 | 性欧美videos高清hd4k | 三级在线观看网站 | 亚洲影院一区 | 97av超碰| www一区| 三级在线观看网站 | 黄色片视频网站 | 国产一级二级三级视频 | 色综合天天综合网天天看片 | 亚洲一级在线播放 | 精品777| 狠狠激情| xzjzjzjzjzj欧美大片 | 中文无码av一区二区三区 | www.xxxx欧美| 亚洲欧美日本一区二区三区 | 午夜激情电影在线观看 | 性欧美videossex精品 | 国产成人综合网 | 久久精品播放 | 国产精品成人69xxx免费视频 | 天天爽夜夜爽人人爽 | 中文av网站| 国产a√精品区二区三区四区 | 97超碰免费在线 | 午夜激情啪啪 | 亚洲美女综合网 | 91偷拍富婆spa盗摄在线 | 91碰碰| 国产麻豆剧传媒精品国产 | 欧美一区二区免费 | 四虎网站最新网址 | 欧美成人性色 | 91香蕉国产在线观看软件 | 抖音视频在线观看 | 国产精品女同一区二区 | 亚洲一区二区三区免费视频 | 欧洲日韩一区二区三区 | 日本在线不卡一区二区三区 | jzzijzzij亚洲成熟少妇在线播放 狠狠躁日日躁夜夜躁2022麻豆 | 欧美少妇一区二区三区 | 超碰这里只有精品 | 国产91热爆ts人妖系列 | 男人的天堂一区二区 | 手机看片中文字幕 | 男人舔女人下部高潮全视频 | 老头老太做爰xxx视频 | 自拍偷拍 亚洲 | 亚洲精品香蕉 | 午夜寂寞影视 | 97精品人妻一区二区三区 | 在线观看视频日韩 | 天使色吧 | 精品人妻一区二区三 | 吃奶摸下的激烈视频 | h视频在线免费看 |