www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]STM32F103系列的單片機(jī)一共有11個定時器,其中:2個高級定時器4個普通定時器2個基本定時器2個看門狗定時器1個系統(tǒng)嘀嗒定時器出去看門狗定時器和系統(tǒng)滴答定時器的八個定時器列表;8個定時器分成3個組;TIM1和TIM8是高級

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

出去看門狗定時器和系統(tǒng)滴答定時器的八個定時器列表;

8個定時器分成3個組;
TIM1和TIM8是高級定時器
TIM2-TIM5是通用定時器
TIM6和TIM7是基本的定時器
這8個定時器都是16位的,它們的計數(shù)器的類型除了基本定時器TIM6和TIM7都支持向上,向下,向上/向下這3種計數(shù)模式

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

基本定時器(TIM6,TIM7)的主要功能:
只有最基本的定時功能,?;径〞r器TIM6和TIM7各包含一個16位自動裝載計數(shù)器,由各自的可編程預(yù)分頻器驅(qū)動

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

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

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

通用定時期內(nèi)部時鐘的產(chǎn)生:

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

自動裝在寄存器arr值的計算:
Tout= ((arr+1)*(psc+1))/Tclk;
Tclk:TIM3的輸入時鐘頻率(單位為Mhz)。
Tout:TIM3溢出時間(單位為us)。
計時1S,輸入時鐘頻率為72MHz,加入PSC預(yù)分頻器的值為35999,那么:
((1+psc )/72M)*(1+arr )=((1+35999)/72M)*(1+arr)=1秒
則可計算得出自動窗裝載寄存器arr=1999

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

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

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

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

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

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

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

STM32 高級定時器PWM的輸出

一路帶死區(qū)時間的互補(bǔ)PWM的波形圖


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

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

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

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

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

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

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

以TIM1為例說明其頻率是如何產(chǎn)生的。

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

Tdtg死區(qū)時間步進(jìn)值,它的值是定時器的周期乘以相應(yīng)的數(shù)字得到的

下面看看官方給的公式如何使用,如下:
DTG[7:5]=0xx=>DT=DTG[6:0]×Tdtg,Tdtg=TDTS
首先由DTG[7:5]=0xx可以知道的是:DTG的第7位必須為0,剩余的0~6這7位可配置死區(qū)時間,假如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可設(shè)置的死區(qū)時間0~1764ns,也就是說:
如果你的項(xiàng)目需要輸出的PWM信號要求的死區(qū)時間是0——1764ns的時候你就可以用公式1

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

如何設(shè)置死區(qū)時間:
假如我們設(shè)計了一個項(xiàng)目要求輸出的PWM信號中加入一個3us的死區(qū)時間因?yàn)?us這個值在第二個公式?jīng)Q定的死區(qū)范圍之內(nèi)所以選擇第二個公式。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,也就是說這一位可以設(shè)置為高電平,也可以設(shè)置為低電平,在這里我們將這一位設(shè)置為了高電平,所有要在加上一個32.如此而已!


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

單片機(jī)定時器通過晶振頻率來產(chǎn)生精準(zhǔn)的計數(shù)脈沖,從而實(shí)現(xiàn)微秒級別的時間控制。 單片機(jī)定時器依托于一個穩(wěn)定的計數(shù)器,該計數(shù)器與單片機(jī)上的晶振部件相連。晶振經(jīng)過12分頻后,為單片機(jī)提供穩(wěn)定且精準(zhǔn)的1MHZ脈沖。由于晶振的頻率極...

關(guān)鍵字: 單片機(jī) 定時器

編碼器?是一種傳感器,主要用于測量旋轉(zhuǎn)運(yùn)動的角度、角速度和位移等參數(shù)。常見的編碼器類型包括增量式編碼器和絕對值編碼器,前者通過檢測脈沖的增加或減少來測量旋轉(zhuǎn)方向和距離,后者則直接輸出當(dāng)前的絕對位置信息?。

關(guān)鍵字: 編碼器? 定時器

一款語音控制的番茄時間定時器,內(nèi)置Seeed Studio XIAO ESP32S3感測和圓形顯示。用免提時間管理保持高效!

關(guān)鍵字: 定時器 ESP32S3 語音控制

【2025年3月20日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼: IFNNY)近日宣布,其旗下ModusToolboxTM開發(fā)平臺中的AIROC?...

關(guān)鍵字: MCU 物聯(lián)網(wǎng) 定時器

眾所周知,說到延時,很多人都會想到用軟件件來實(shí)現(xiàn),比如定時器之類的。今天就來說說用硬件來實(shí)現(xiàn)定時的方式,雖說沒有那么準(zhǔn),但是有些場合還是用得到的。

關(guān)鍵字: CD4060 定時器

如果定時器的重裝值和分頻設(shè)置不正確,會導(dǎo)致PWM輸出的頻率和占空比不準(zhǔn)確,從而產(chǎn)生誤差?1。

關(guān)鍵字: 定時器 分頻

SysTick定時器的工作原理主要基于一個遞減計數(shù)器的機(jī)制。以下是對SysTick定時器工作原理的詳細(xì)解釋:

關(guān)鍵字: SysTick 定時器

單片機(jī)定時器是一種用于計時和定時操作的功能模塊。它通常用于生成延時、計數(shù)事件以及產(chǎn)生精確的時間間隔信號。

關(guān)鍵字: 定時器 時鐘源

在現(xiàn)代嵌入式系統(tǒng)設(shè)計中,51單片機(jī)作為一種經(jīng)典的微控制器,憑借其豐富的功能和廣泛的應(yīng)用領(lǐng)域,仍然受到工程師們的青睞。定時器中斷是51單片機(jī)中一個非常實(shí)用的功能,它可以在特定的時間間隔內(nèi)自動觸發(fā)中斷,執(zhí)行預(yù)設(shè)的操作,從而提...

關(guān)鍵字: 51單片機(jī) 定時器

Holtek新推出BS67F2432具備觸控按鍵、高精準(zhǔn)度HIRC與LCD驅(qū)動器Flash MCU。主要特色為內(nèi)建高精準(zhǔn)度4MHz HIRC振蕩電路、8路觸控按鍵及最大支持4COM×15SEG LCD驅(qū)動器。適用于觸控接...

關(guān)鍵字: MCU LCD驅(qū)動器 定時器
關(guān)閉