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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]之前就聽到網(wǎng)友說定時(shí)器這部分比較復(fù)雜,難搞,實(shí)驗(yàn)室里有個(gè)同學(xué)也搞了一段時(shí)間,不過它屬于哪種專研型的人!學(xué)著學(xué)者,我也來到了定時(shí)器這章。在網(wǎng)上查看了一下,也翻閱了一些書籍,高級(jí)定時(shí)器,通用定時(shí)器,普通定

之前就聽到網(wǎng)友說定時(shí)器這部分比較復(fù)雜,難搞,實(shí)驗(yàn)室里有個(gè)同學(xué)也搞了一段時(shí)間,不過它屬于哪種專研型的人!學(xué)著學(xué)者,我也來到了定時(shí)器這章。


在網(wǎng)上查看了一下,也翻閱了一些書籍,高級(jí)定時(shí)器,通用定時(shí)器,普通定時(shí)器這三種就從通用的開始學(xué)吧!

一、首先還是將定時(shí)器框圖分解一下吧,那么令人窒息的框圖著實(shí)讓人恐怖!雖然窒息,但是還是有必要貼上去!


對(duì)上面框圖中的寄存器名字解釋如下

TIMx_ETR:TIMER外部觸發(fā)引腳ETR:外部觸發(fā)輸入ETRP:分頻后的外部觸發(fā)輸入ETRF:濾波后的外部觸發(fā)輸入

ITRx:內(nèi)部觸發(fā)x(由另外的定時(shí)器觸發(fā))TI1F_ED:TI1的邊沿檢測器。TI1FP1/2:濾波后定時(shí)器1/2的輸入TRGI:觸發(fā)輸入

TRGO:觸發(fā)輸出 CK_PSC:應(yīng)該叫分頻器時(shí)鐘輸入CK_CNT:定時(shí)器時(shí)鐘。(定時(shí)周期的計(jì)算就靠它)

TIMx_CHx:TIMER的輸入腳 TIx:應(yīng)該叫做定時(shí)器輸入信號(hào)xICx:輸入比較xICxPS:分頻后的ICx

OCx:輸出捕獲xOCxREF:輸出參考信號(hào)


1、通用定時(shí)器的主要部分是一個(gè)【16位計(jì)數(shù)器】和與其相關(guān)的【自動(dòng)裝載寄存器】。

可以實(shí)現(xiàn)三種計(jì)數(shù)方式:

a、【增計(jì)數(shù)】

b、【減計(jì)數(shù)】

c、【同時(shí)進(jìn)行增減計(jì)數(shù)】(注意理解這里的同時(shí),從同時(shí)非彼同時(shí))

datasheet上關(guān)于計(jì)數(shù)模式的解釋如下!

在向上計(jì)數(shù)模式中,計(jì)數(shù)器從0 計(jì)數(shù)到自動(dòng)加載值(TIMx_ARR計(jì)數(shù)器的內(nèi)容) ,然后重新從0 開始
計(jì)數(shù)并且產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件。

在向下模式中,計(jì)數(shù)器從自動(dòng)裝入的值(TIMx_ARR計(jì)數(shù)器的值)開始向下計(jì)數(shù)到0,然后從自動(dòng)
裝入的值重新開始并且產(chǎn)生一個(gè)計(jì)數(shù)器向下溢出事件。

在中央對(duì)齊模式,計(jì)數(shù)器從0 開始計(jì)數(shù)到自動(dòng)加載的值(TIMx_ARR寄存器)?1 ,產(chǎn)生一個(gè)計(jì)數(shù)器
溢出事件,然后向下計(jì)數(shù)到1并且產(chǎn)生一個(gè)計(jì)數(shù)器下溢事件;然后再從0開始重新計(jì)數(shù)。

對(duì)于中央對(duì)齊模式,開始不怎么了解,現(xiàn)在我個(gè)人的理解就是相當(dāng)于:如果初值是3的話,那么它的計(jì)數(shù)方式就是

3、2、1、0、1、2、3這樣,先進(jìn)性-1操作,后進(jìn)行+1操作!

完畢!

2、那么首先就引進(jìn)時(shí)鐘單元:定時(shí)器是由什么提供時(shí)鐘節(jié)拍的呢?

先來看一下幾種時(shí)鐘模式:

計(jì)數(shù)器時(shí)鐘可以由下列時(shí)鐘源提供:
·內(nèi)部時(shí)鐘(CK_INT)
·外部時(shí)鐘模式1:外部輸入腳(TIx)
·外部時(shí)鐘模式2:外部觸發(fā)輸入(ETR)
·內(nèi)部觸發(fā)輸入(ITRx):使用一個(gè)定時(shí)器作為另一個(gè)定時(shí)器的預(yù)分頻器,如可以配置一個(gè)定時(shí)器Timer1而作為另一個(gè)定時(shí)器Timer2的預(yù)分頻器。

由于定時(shí)器功能實(shí)在過于強(qiáng)大,所以采用內(nèi)部時(shí)鐘模式,其它的等有空在說吧!實(shí)在扛不住啊!那么什么是內(nèi)部時(shí)鐘模式呢??

截取網(wǎng)上的一張圖,你就會(huì)相當(dāng)清晰了


TIM1和TIM8是由APB2分頻提供的,而TIM2--TIM7是由分頻APB1提供的,從時(shí)鐘來源,我們是否就可以猜測到定時(shí)器1和定時(shí)器8更加高級(jí)呢?

APB2提供,最高可以到72M呀!至少我是這樣猜想的!截取某網(wǎng)友對(duì)定時(shí)器時(shí)鐘設(shè)置這部分的詳解,如果你看了,你定會(huì)豁然開朗的,我把他的話整理了一下!

1、從圖中可以看出,定時(shí)器的時(shí)鐘不是直接來自APB1或APB2,而是來自于輸入為APB1或APB2的一個(gè)倍頻器,圖中的藍(lán)色部分,注意了是倍頻器,不是分頻器,繼續(xù)看!!


2、下面以定時(shí)器2~7的時(shí)鐘說明這個(gè)倍頻器的作用:(當(dāng)然定時(shí)器和定時(shí)器8也是這樣的原理)

a、當(dāng)APB1的預(yù)分頻系數(shù)為1時(shí),這個(gè)倍頻器不起作用(也就是倍頻系數(shù)為1),定時(shí)器的時(shí)鐘頻率等于APB1的頻率;

b、當(dāng) APB1的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為2、4、8或16)時(shí),這個(gè)倍頻器起作用,定時(shí)器的時(shí)鐘頻率等于APB1的頻率兩倍(倍頻系數(shù)為2)。


3、可以通過這幾個(gè)例子來敘述(對(duì)于定時(shí)器2至定時(shí)器7)


a、假定AHB=36MHz,因?yàn)锳PB1允許的最大頻率為36MHz,所以APB1的預(yù)分頻系數(shù)可以取任意數(shù)值;

b、當(dāng)APB1預(yù)分頻系數(shù)=1 時(shí),APB1=36MHz,TIM2~7的時(shí)鐘頻率=36MHz(倍頻器不起作用);當(dāng)APB1預(yù)分頻系數(shù)=2時(shí),APB1=18MHz,在倍頻器的作用下,TIM2~7的時(shí)鐘頻率=36MHz。

總結(jié):有人會(huì)問,既然需要TIM2~7的時(shí)鐘頻率=36MHz,為什么不直接取APB1的預(yù)分頻系數(shù)=1?

答案是:APB1不但要為TIM2~7提供時(shí)鐘,而且還要為其它外設(shè)提供時(shí)鐘;設(shè)置這個(gè)倍頻器可以在保證其它外設(shè)使用較低時(shí)鐘頻率時(shí),TIM2~7仍能得到較高的時(shí)鐘頻率。

再舉個(gè)例子:當(dāng)AHB=72MHz時(shí),APB1的預(yù)分頻系數(shù)必須大于2,因?yàn)锳PB1的最大頻率只能為36MHz。如果APB1的預(yù)分頻系數(shù)=2,則因?yàn)檫@個(gè)倍頻器,TIM2~7仍然能夠得到72MHz的時(shí)鐘頻率。能夠使用更高的時(shí)鐘頻率,無疑提高了定時(shí)器的分辨率,這也正是設(shè)計(jì)這個(gè)倍頻器的初衷。

相信到這里,我們都可以熟悉的操作定時(shí)器的時(shí)鐘了,但是這只是其中的一個(gè)模式,也就是內(nèi)部時(shí)鐘的模式!

還有其它三種模式暫時(shí)不做討論。

3、跟著時(shí)鐘有個(gè)大概的了解之后,繼續(xù)看一個(gè)難點(diǎn)

所謂的帶陰影的寄存器就出來了,看到上圖那5個(gè)帶陰影的寄存器沒有,千萬別以為是印刷或者掃描的問題,下面一起來看看對(duì)這個(gè)陰影寄存器的通俗解釋:有陰影的寄存器,表示在物理上這個(gè)寄存器對(duì)應(yīng)2個(gè)寄存器,一個(gè)是程序員可以寫入或讀出的寄存器,稱為preloadregister(預(yù)裝載寄存器),另一個(gè)是程序員看不見的、但在操作中真正起作用的寄存器,稱為shadowregister(影子寄存器);正如手冊(cè)上的14.3.1節(jié)所說,根據(jù)TIMx_CR1寄存器中APRE位的設(shè)置,preloadregister的內(nèi)容可以隨時(shí)傳送到shadowregister,即兩者是連通的(permanently),或者在每一次更新事件(UEV)時(shí)才把preloadregister的內(nèi)容傳送到shadowregister !

現(xiàn)在估計(jì)是明白了這個(gè)特點(diǎn)了,我的理解 也就是一個(gè)復(fù)雜的自動(dòng)重裝過程。

4、到這里你一定還發(fā)現(xiàn)了大寫的 U和那個(gè)小箭頭了!再看下面的分析:

表示對(duì)應(yīng)寄存器的影子寄存器可以在發(fā)生更新事件時(shí),被更新為它的preload register的內(nèi)容;而圖中UI部分,表示對(duì)應(yīng)的Autoreload register可以產(chǎn)生一個(gè)更新事件(U)或更新事件中斷(UI)。

所謂的時(shí)間U ,事件中斷UI就是這么來的!

5、這樣設(shè)計(jì)的好處是什么呢?

設(shè)計(jì)preload register和shadow register的好處是,所有真正需要起作用的寄存器(shadow register)可以在同一個(gè)時(shí)間(發(fā)生更新事件時(shí))被更新為所對(duì)應(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ù)知的。

6、接著看左下角的定時(shí)器通道:

TM32的定時(shí)器輸入通道都有一個(gè)濾波單元,分別位于每個(gè)輸入通路上(下圖中的黃色框)和外部觸發(fā)輸入通路上(下圖中的蘭色框),它們的作用是濾除輸入信號(hào)上的高頻干擾。

具體操作如下:

在TIMx_CR1中的CKD[1:0]可以由用戶設(shè)置對(duì)輸入信號(hào)的采樣頻率基準(zhǔn),有三種選擇:
1)采樣頻率基準(zhǔn)fDTS=定時(shí)器輸入頻率fCK_INT
2)采樣頻率基準(zhǔn)fDTS=定時(shí)器輸入頻率fCK_INT/2
3)采樣頻率基準(zhǔn)fDTS=定時(shí)器輸入頻率fCK_INT/4

然后使用上述頻率作為基準(zhǔn)對(duì)輸入信號(hào)進(jìn)行采樣,當(dāng)連續(xù)采樣到N次個(gè)有效電平時(shí),認(rèn)為一次有效的輸入電平。


實(shí)際的采樣頻率和采樣次數(shù)可以由用戶程序根據(jù)需要選擇;外部觸發(fā)輸入通道的濾波參數(shù)在從模式控制寄存器(TIMx_SMCR)的ETF[3:0]中設(shè)置;每個(gè)輸入通道的濾波參數(shù)在捕獲/比較模式寄存器1(TIMx_CCMR1)或捕獲/比較模式寄存器2(TIMx_CCMR2)的IC1F[3:0]、IC2F[3:0]、IC3F[3:0]和IC4F[3:0]中設(shè)置。




注意了:注入的引腳和輸出的引腳是一樣的!,其實(shí)手冊(cè)上也有說明之前的操作!請(qǐng)看

例如:當(dāng)fCK_INT=72MHz時(shí),選擇fDTS=fCK_INT/2=36MHz,采樣頻率fSAMPLING=fDTS/2=18MHz且N=6,則頻率高于3MHz的信號(hào)將被這個(gè)濾波器濾除,有效地屏蔽了高于3MHz的干擾。

比如,結(jié)合輸入捕獲的中斷,可以輕松地實(shí)現(xiàn)按鍵的去抖動(dòng)功能,而不需要軟件的干預(yù);這可是由硬件實(shí)現(xiàn)的去抖動(dòng)功能,大大節(jié)省了軟件的開銷和程序代碼的長度。

每個(gè)定時(shí)器最多可以實(shí)現(xiàn)4個(gè)按鍵的輸入,這個(gè)方法也可以用于鍵盤矩陣的掃描,而且因?yàn)槭峭ㄟ^中斷實(shí)現(xiàn),軟件不需頻繁的進(jìn)行掃描動(dòng)作。

這段話,也是摘抄某位網(wǎng)友的,示波器學(xué)習(xí)的時(shí)候就很蛋疼,所以不是很理解!

7、最后來說說比較捕獲通道,這個(gè)可是核心的東西!

每一個(gè)捕獲/ 比較通道都是圍繞著一個(gè)捕獲/ 比較寄存器( 包含影子寄存器) ,包括捕獲的輸入部分
(數(shù)字濾波、多路復(fù)用和預(yù)分頻器),和輸出部分(比較器和輸出控制)。關(guān)于影子寄存器已經(jīng)講解的很明白了!

首先看著我用紅色圈起來的那塊,那就是一個(gè)捕獲比較通道:


異或那塊先不管他,好像跟編碼器有關(guān),輸入有個(gè)特色就是可以把TI的輸入搞到CC1上去,也可以把T2的輸入搞到CC1上去,其實(shí)也可以把T1搞到CC1上去同時(shí)把T1搞到CC2上去,這樣就有了后來的PWM輸入。輸出上的特色是不直接輸出,而是有個(gè)OC1REF,這樣可以定義高有效還是低有效,輸出自己需要的有效電平!

以上只是定時(shí)器

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉