當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]通用定時器(TIMx)一、TIMx簡介二、TIMx主要功能三、TIMx功能描述3.1 時基單元3.2 計數(shù)器模式3.3 時鐘選擇3.4捕獲/比較通道3.5 輸入捕獲模式3.6 PWM輸入模式3.7 強置輸出模式3.8 輸出比較模式3.9 PWM模式3.10單脈沖模

通用定時器(TIMx)

一、TIMx簡介

二、TIMx主要功能

三、TIMx功能描述

3.1 時基單元

3.2 計數(shù)器模式

3.3 時鐘選擇

3.4捕獲/比較通道

3.5 輸入捕獲模式

3.6 PWM輸入模式

3.7 強置輸出模式

3.8 輸出比較模式

3.9 PWM模式

3.10單脈沖模式

四、簡單例子理解TIMx

4.1 使得PB5-TIM3通道2產(chǎn)生頻率為12.5Hz的方波,該方波控制LED1的閃爍

4.2周期控制通用定時器3的2通道,實現(xiàn)1KHz的不同占空比波形,控制LED實現(xiàn)呼吸燈

本文涉及鏈接



一、TIMx簡介

  通用定時器是一個通過可編程預(yù)分頻器驅(qū)動的16位自動裝載計數(shù)器構(gòu)成。它適用于多種場合,包括測量輸入信號的脈沖長度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)。使用定時器預(yù)分頻器和RCC時鐘控制器預(yù)分頻器,脈沖長度和波形周期可以在幾個微秒到幾個毫秒間調(diào)整。每個定時器都是完全獨立的,沒有互相共享任何資源。它們可以一起同步操作。[正版請搜索:beautifulzzzz(看樓主博客園官方博客,享高質(zhì)量生活)嘻嘻?。。


二、TIMx主要功能

  通用TIMx (TIM2、 TIM3、 TIM4和TIM5)定時器功能包括:

●16位向上、向下、向上/向下自動裝載計數(shù)器
● 16位可編程(可以實時修改)預(yù)分頻器,計數(shù)器時鐘頻率的分頻系數(shù)為1 ~65536之間的任意數(shù)值
● 4個獨立通道:
─ 輸入捕獲
─ 輸出比較
─ PWM生成(邊緣或中間對齊模式)
─ 單脈沖模式輸出
● 使用外部信號控制定時器和定時器互連的同步電路
● 如下事件發(fā)生時產(chǎn)生中斷/DMA:
─ 更新:計數(shù)器向上溢出/向下溢出,計數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))
─ 觸發(fā)事件(計數(shù)器啟動、停止、初始化或者由內(nèi)部/外部觸發(fā)計數(shù))
─ 輸入捕獲
─ 輸出比較
● 支持針對定位的增量(正交)編碼器和霍爾傳感器電路
● 觸發(fā)輸入作為外部時鐘或者按周期的電流管理

                        圖1 通用定時器框圖
注:Reg:根據(jù)控制位的設(shè)定,在U事件時傳送預(yù)加載寄存器的內(nèi)容至工作寄存器
斜向下的箭頭:事件
斜向上的箭頭:中斷和DMA輸出


三、TIMx功能描述

3.1 時基單元

  可編程通用定時器的主要部分是一個16位計數(shù)器和與其相關(guān)的自動裝載寄存器。這個計數(shù)器可以向上計數(shù)、向下計數(shù)或者向上向下雙向計數(shù)。此計數(shù)器時鐘由預(yù)分頻器分頻得到。計數(shù)器、自動裝載寄存器和預(yù)分頻器寄存器可以由軟件讀寫,在計數(shù)器運行時仍可以讀寫。

時基單元包含:
● 計數(shù)器寄存器(TIMx_CNT)
● 預(yù)分頻器寄存器 (TIMx_PSC)
● 自動裝載寄存器 (TIMx_ARR)

  自動裝載寄存器是預(yù)先裝載的,寫或讀自動重裝載寄存器將訪問預(yù)裝載寄存器。根據(jù)在TIMx_CR1 寄存器中的自動裝載預(yù)裝載使能位(ARPE)的設(shè)置,預(yù)裝載寄存器的內(nèi)容被立即或在每次的更新事件UEV時傳送到影子寄存器。當(dāng)計數(shù)器達到溢出條件(向下計數(shù)時的下溢條件)并當(dāng)TIMx_CR1 寄存器中的UDIS位等于’0’時,產(chǎn)生更新事件。更新事件也可以由軟件產(chǎn)生。隨后會詳細描述每一種配置下更新事件的產(chǎn)生。

計數(shù)器由預(yù)分頻器的時鐘輸出CK_CNT驅(qū)動,僅當(dāng)設(shè)置了計數(shù)器TIMx_CR1 寄存器中的計數(shù)器使能位(CEN)時, CK_CNT才有效。
注:真正的計數(shù)器使能信號CNT_EN是在CEN的一個時鐘周期后被設(shè)置。

  預(yù)分頻器可以將計數(shù)器的時鐘頻率按1 到65536之間的任意值分頻。它是基于一個(在TIMx_PSC寄存器中的)16位寄存器控制的16位計數(shù)器。這個控制寄存器帶有緩沖器,它能夠在工作時被改變。新的預(yù)分頻器參數(shù)在下一次更新事件到來時被采用。(圖2和圖3給出了在預(yù)分頻器運行時,更改計數(shù)器參數(shù)的例子。)

           圖2 當(dāng)預(yù)分頻器的參數(shù)從1 變到2時,計數(shù)器的時序圖

           圖3 當(dāng)預(yù)分頻器的參數(shù)從1 變到4時,計數(shù)器的時序圖


3.2 計數(shù)器模式

3.2.1 向上計數(shù)模式

  在向上計數(shù)模式中,計數(shù)器從0計數(shù)到自動加載值(TIMx_ARR計數(shù)器的內(nèi)容),然后重新從0開始計數(shù)并且產(chǎn)生一個計數(shù)器溢出事件。
  每次計數(shù)器溢出時可以產(chǎn)生更新事件,在TIMx_EGR寄存器中(通過軟件方式或者使用從模式控制器)設(shè)置UG位也同樣可以產(chǎn)生一個更新事件。
  設(shè)置TIMx_CR1 寄存器中的UDIS位,可以禁止更新事件;這樣可以避免在向預(yù)裝載寄存器中寫入新值時更新影子寄存器。在UDIS位被清’0’之前,將不產(chǎn)生更新事件。但是在應(yīng)該產(chǎn)生更新事件時,計數(shù)器仍會被清’0’,同時預(yù)分頻器的計數(shù)也被請0(但預(yù)分頻系數(shù)不變)。此外,如果設(shè)置了 TIMx_CR1 寄存器中的URS位(選擇更新請求),設(shè)置UG位將產(chǎn)生一個更新事件UEV,但硬件不設(shè)置UIF標(biāo)志(即不產(chǎn)生中斷或DMA請求);這是為了避免在捕獲模式下清除計數(shù)器時,同時產(chǎn)生更新和捕獲中斷。
  當(dāng)發(fā)生一個更新事件時,所有的寄存器都被更新,硬件同時(依據(jù) URS 位)設(shè)置更新標(biāo)志位(TIMx_SR寄存器中的UIF位)。
● 預(yù)分頻器的緩沖區(qū)被置入預(yù)裝載寄存器的值(TIMx_PSC寄存器的內(nèi)容)。
● 自動裝載影子寄存器被重新置入預(yù)裝載寄存器的值(TIMx_ARR)。
下圖給出一些例子,當(dāng)TIMx_ARR=0x36時計數(shù)器在不同時鐘頻率下的動作。

              圖4 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為1

             圖5 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為2

            圖6 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為4

            圖7 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為N

        圖8 計數(shù)器時序圖,當(dāng)ARPE=0時的更新事件(TIMx_ARR沒有預(yù)裝入)

        圖9 計數(shù)器時序圖,當(dāng)ARPE=1 時的更新事件(預(yù)裝入了TIMx_ARR)

3.2.2向下計數(shù)模式

  在向下模式中,計數(shù)器從自動裝入的值(TIMx_ARR計數(shù)器的值)開始向下計數(shù)到0,然后從自動裝入的值重新開始并且產(chǎn)生一個計數(shù)器向下溢出事件。
  每次計數(shù)器溢出時可以產(chǎn)生更新事件,在TIMx_EGR寄存器中(通過軟件方式或者使用從模式控制器)設(shè)置UG位,也同樣可以產(chǎn)生一個更新事件。
  設(shè)置TIMx_CR1 寄存器的UDIS位可以禁止UEV事件。這樣可以避免向預(yù)裝載寄存器中寫入新值時更新影子寄存器。因此UDIS位被清為’0’之前不會產(chǎn)生更新事件。然而,計數(shù)器仍會從當(dāng)前自動加載值重新開始計數(shù),同時預(yù)分頻器的計數(shù)器重新從0開始(但預(yù)分頻系數(shù)不變)。
  此外,如果設(shè)置了 TIMx_CR1 寄存器中的URS位(選擇更新請求) ,設(shè)置UG位將產(chǎn)生一個更新事件UEV但不設(shè)置UIF標(biāo)志(因此不產(chǎn)生中斷和DMA請求),這是為了避免在發(fā)生捕獲事件并清除計數(shù)器時,同時產(chǎn)生更新和捕獲中斷。  當(dāng)發(fā)生更新事件時,所有的寄存器都被更新,并且(根據(jù)URS位的設(shè)置)更新標(biāo)志位(TIMx_SR寄存器中的UIF位)也被設(shè)置。

● 預(yù)分頻器的緩存器被置入預(yù)裝載寄存器的值(TIMx_PSC寄存器的值)。
● 當(dāng)前的自動加載寄存器被更新為預(yù)裝載值(TIMx_ARR寄存器中的內(nèi)容)。

注:自動裝載在計數(shù)器重載入之前被更新,因此下一個周期將是預(yù)期的值。

  以下是一些當(dāng)TIMx_ARR=0x36時,計數(shù)器在不同時鐘頻率下的操作例子。

            圖10 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為1

            圖11 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為2

            圖12 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為4

            圖13 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為N

          圖14 計數(shù)器時序圖,當(dāng)沒有使用重復(fù)計數(shù)器時的更新事件

3.2.3中央對齊模式(向上/向下計數(shù))

  在中央對齊模式,計數(shù)器從0開始計數(shù)到自動加載的值(TIMx_ARR寄存器)?1 ,產(chǎn)生一個計數(shù)器溢出事件,然后向下計數(shù)到1 并且產(chǎn)生一個計數(shù)器下溢事件;然后再從0開始重新計數(shù)。
  在這個模式,不能寫入TIMx_CR1 中的DIR方向位。它由硬件更新并指示當(dāng)前的計數(shù)方向。可以在每次計數(shù)上溢和每次計數(shù)下溢時產(chǎn)生更新事件;也可以通過(軟件或者使用從模式控制器)設(shè)置TIMx_EGR寄存器中的UG位產(chǎn)生更新事件。然后,計數(shù)器重新從0開始計數(shù),預(yù)分頻器也重新從0開始計數(shù)。
  設(shè)置TIMx_CR1 寄存器中的UDIS位可以禁止UEV事件。這樣可以避免在向預(yù)裝載寄存器中寫入新值時更新影子寄存器。因此UDIS位被清為’0’之前不會產(chǎn)生更新事件。然而,計數(shù)器仍會根據(jù)當(dāng)前自動重加載的值,繼續(xù)向上或向下計數(shù)。
  此外,如果設(shè)置了 TIMx_CR1 寄存器中的URS位(選擇更新請求) ,設(shè)置UG位將產(chǎn)生一個更新事件UEV但不設(shè)置UIF標(biāo)志(因此不產(chǎn)生中斷和DMA請求),這是為了避免在發(fā)生捕獲事件并清除計數(shù)器時,同時產(chǎn)生更新和捕獲中斷。
  當(dāng)發(fā)生更新事件時,所有的寄存器都被更新,并且(根據(jù)URS位的設(shè)置)更新標(biāo)志位(TIMx_SR寄存器中的UIF位)也被設(shè)置。

● 預(yù)分頻器的緩存器被加載為預(yù)裝載(TIMx_PSC寄存器)的值。
● 當(dāng)前的自動加載寄存器被更新為預(yù)裝載值(TIMx_ARR寄存器中的內(nèi)容)。

注:如果因為計數(shù)器溢出而產(chǎn)生更新,自動重裝載將在計數(shù)器重載入之前被更新,因此下一個周期將是預(yù)期的值(計數(shù)器被裝載為新的值)。

  以下是一些計數(shù)器在不同時鐘頻率下的操作的例子:

        圖15 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為1 , TIMx_ARR=0x6

             圖16 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為2

        圖17 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為4, TIMx_ARR=0x36

              圖18 計數(shù)器時序圖,內(nèi)部時鐘分頻因子為N

圖19 計數(shù)器時序圖, ARPE=1 時的更新事

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(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)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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