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

通用定時(shí)器(TIMx)

一、TIMx簡(jiǎn)介

二、TIMx主要功能

三、TIMx功能描述

3.1 時(shí)基單元

3.2 計(jì)數(shù)器模式

3.3 時(shí)鐘選擇

3.4捕獲/比較通道

3.5 輸入捕獲模式

3.6 PWM輸入模式

3.7 強(qiáng)置輸出模式

3.8 輸出比較模式

3.9 PWM模式

3.10單脈沖模式

四、簡(jiǎn)單例子理解TIMx

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

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

本文涉及鏈接



一、TIMx簡(jiǎn)介

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


二、TIMx主要功能

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

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

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


三、TIMx功能描述

3.1 時(shí)基單元

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

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

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

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

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

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

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


3.2 計(jì)數(shù)器模式

3.2.1 向上計(jì)數(shù)模式

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

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

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

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

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

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

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

3.2.2向下計(jì)數(shù)模式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

圖19 計(jì)數(shù)器時(shí)序圖, ARPE=1 時(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日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

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

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(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ì)日本游戲市場(chǎng)的投資。

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

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

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

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

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

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

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

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

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

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

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