對(duì)于MCU來說,定時(shí)器是必備的一個(gè)模塊,原因在于定時(shí)器是使用頻率最高。
1寫在前面
我之前寫過許多關(guān)于定時(shí)器的文章,不過后臺(tái)還是有很多朋友問與定時(shí)期相關(guān)的問題,所以,這里也給大家推薦下面的這個(gè)關(guān)于定時(shí)器的資料。
相信有部分朋友都收到STM32公眾號(hào)的消息了,就是提供了一個(gè)我認(rèn)為比較好的資料: STM32 定時(shí)器基本原理及常見問題之培訓(xùn)資料 。
這個(gè)資料我是第一時(shí)間就下載來看了,覺得 整理的很好 。特別是對(duì)于很多初學(xué)以及學(xué)習(xí)了一段時(shí)間STM32的朋友來說,對(duì)全方面掌握定時(shí)器有很大幫助作用。
考慮到很多朋友都只是知道有這么一個(gè)資料,沒有下載來學(xué)習(xí)、掌握。所以,今天在這里挑一些要點(diǎn), 帶領(lǐng)大家學(xué)習(xí) 。
下載地址在ST中文網(wǎng),(最近)進(jìn)入主頁,都能在首頁看到這個(gè)消息。
這個(gè)資料總共有186頁。內(nèi)容比較多,但講述的比較全面。
( 提示 :公眾號(hào)不支持外部鏈接,請(qǐng)復(fù)制鏈接到瀏覽器打開)
2
資料的主要內(nèi)容
? STM32定時(shí)器概述
? 定時(shí)器時(shí)基單元
? 定時(shí)器輸入捕捉功能
? 定時(shí)器比較輸出功能
? 定時(shí)器觸發(fā)同步與級(jí)聯(lián)
? 定時(shí)器DMA批量傳送
? 定時(shí)器產(chǎn)生的觸發(fā)輸出與其它外設(shè)的關(guān)聯(lián)
? STM32F334/STM32F7/STM32L4等新增的定時(shí)器功能
? 案例分享【穿插在上述內(nèi)容中】
3
STM32定時(shí)器分類
整體講, STM32家族的定時(shí)器眾多,按照核內(nèi)、核外標(biāo)準(zhǔn)大致分為兩部分:
核內(nèi)定時(shí)器 + 外設(shè)定時(shí)器
? 核內(nèi)定時(shí)器 : Systick
? 外設(shè)定時(shí)器: 特定應(yīng)用定時(shí)器+常規(guī)定時(shí)器
? 特定應(yīng)用定時(shí)器: LPTIM;RTC;WTD;HRTIM
? 常規(guī)定時(shí)器: 基本定時(shí)器、通用定時(shí)器、高級(jí)定時(shí)器 【本篇介紹重點(diǎn)】
按計(jì)數(shù)器位寬來分 :
? 16位定時(shí)器
? 32位定時(shí)器 【TIM2 TIM5】
? 24位定時(shí)器 【Systick】
常規(guī)定時(shí)器
1.基本定時(shí)器 :幾乎沒有任何對(duì)外輸入/輸出,常用作時(shí)基,實(shí)現(xiàn)基本的計(jì)數(shù)、定時(shí)功能。
2.通用定時(shí)器 :除了基本定時(shí)器的時(shí)基功能外,還可對(duì)外做輸入捕捉、輸出比較以及連接其它傳感器接口【編碼器和霍爾傳感器】 。
3.高級(jí)定時(shí)器 : 此類定時(shí)器的功能最為強(qiáng)大,除了具備通用定時(shí)器的功能外,還包含一些與電機(jī)控制和數(shù)字電源應(yīng)用相關(guān)的功能,比方帶死區(qū)控制的互補(bǔ)信號(hào)輸出、緊急剎車關(guān)斷輸入控制。
4
STM32定時(shí)器模塊
STM32【通用或高級(jí)】 定時(shí)器大致分為 六個(gè)功能單元 :
? 從模式控制單元 :負(fù)責(zé)時(shí)鐘源、觸發(fā)信號(hào)源的選擇;控制計(jì)數(shù)器的啟停、復(fù)位、門控等;
? 時(shí)基單元 :定時(shí)器核心單元。負(fù)責(zé)時(shí)鐘源的分頻、計(jì)數(shù)、溢出重裝等。
? 輸入單元 :為部分的時(shí)鐘信號(hào)、 捕捉信號(hào)、 觸發(fā)信號(hào)提供信號(hào)源。
? 比較輸出單元 :通過對(duì)比較寄存器與計(jì)數(shù)器的數(shù)值匹配比較,實(shí)現(xiàn)不同輸出波形。
? 觸發(fā)輸出單元 :輸出觸發(fā)信號(hào)給到其它定時(shí)器或外設(shè)。
? 捕捉比較單元 : 是輸入捕捉或比較輸出的公共執(zhí)行單元。
從信號(hào)鏈角度大體了解STM32定時(shí)器:
STM32定時(shí)器中存在著幾種基本的信號(hào): ** 輸入信號(hào)、 時(shí)鐘信號(hào)、 觸發(fā)輸入信號(hào)、 觸發(fā)輸出信號(hào)** ,它們之間相互關(guān)聯(lián)形成相應(yīng)的信號(hào)鏈,從而衍生出各種定時(shí)器的功能。
5
STM32定時(shí)器功能匯總
1、 六類功能單元
【時(shí)基、從模式控制、輸入、輸出、捕捉比較、觸發(fā)輸出】
2、 四類信號(hào)
【時(shí)鐘信號(hào)、外部輸入信號(hào)、觸發(fā)輸入信號(hào)、觸發(fā)輸出信號(hào)】
3、 四類事件
【更新事件、捕捉、 比較事件、觸發(fā)事件】
4、一大特性
【影子寄存器的預(yù)裝載特性】
這上面的一些內(nèi)容掌握了,對(duì)定時(shí)器基本就沒多大問題了,資料中也有詳細(xì)說明。
6
案例:定時(shí)器一使能就進(jìn)中斷的問題
問題描述 : TIMER初始化階段, 經(jīng)常有人反饋一使能更新中斷就就進(jìn)中斷服務(wù)程序?給開發(fā)帶來些困擾,原因可能是什么?如何解決?
因?yàn)樵诙〞r(shí)器的初始化代碼里有軟件更新操作觸發(fā)了更新事件,并置位了更新中斷標(biāo)志,當(dāng)使能更新中斷時(shí)就立刻進(jìn)入更新中斷服務(wù)程序。
在STM32標(biāo)準(zhǔn)庫里的TIM_TimeBaseInit( )函數(shù)里都有這句代碼:
TIMx->EGR = TIM_PSCReloadMode_Immediate;
? 在Cube庫里的HAL_TIM_Base_Init( )函數(shù)里的 函數(shù)有這句代碼:
TIMx->EGR = TIM_EGR_UG;
顯然,這兩行代碼使用到了前面提到的軟件更新操作,觸發(fā)了更新事件,置位更新中斷標(biāo)志。所以我們?cè)谑鼓芏〞r(shí)器更新中斷 之前 ,可以先做更新中斷標(biāo)志的清除操作。
說明:資料中提供了很多案例說明,以及分析,我覺得比較好,方便大家理解。請(qǐng)多理解一下這些案例。
7
時(shí)鐘源問題思考
1、幾種時(shí)鐘源?來自何處?
2、來自TI1fp1與TIF_ED信號(hào)差別是什么?
3、來自TI1/TI2的時(shí)鐘是否可以直接像內(nèi)部時(shí)鐘一樣被計(jì)數(shù)器用來計(jì)數(shù)?
4、根據(jù)時(shí)鐘源的介紹,你了解到了幾種觸發(fā)輸入信號(hào)?
5、TI3FP4可以作為通道2的輸入捕捉信號(hào)嗎?
6、TI4FP4可以作為觸發(fā)信號(hào)嗎?
好了,篇幅有限,就寫到這里。這個(gè)資料的內(nèi)容我基本都看了一遍,可以結(jié)合《參考手冊(cè)》一起學(xué)習(xí),有部分內(nèi)容來自《參考手冊(cè)》。
希望還不知道,卻又想學(xué)習(xí)并深入理解定時(shí)器的朋友盡快下載來看看。
-
單片機(jī)
+關(guān)注
關(guān)注
6061文章
44888瀏覽量
646349 -
mcu
+關(guān)注
關(guān)注
146文章
17816瀏覽量
359888 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3284瀏覽量
117107
發(fā)布評(píng)論請(qǐng)先 登錄
STM32 SYSTICK定時(shí)器常見問題
STM32定時(shí)器基本原理及常見問題之培訓(xùn)資料
通用定時(shí)器的基本原理
MCU定時(shí)器的相關(guān)資料分享
STM32F103通用定時(shí)器的基本原理是什么
STM32F103定時(shí)器原理與例程
STM32通用定時(shí)器基本原理
主要介紹SysTick系統(tǒng)定時(shí)器的基本原理
清除所有定時(shí)器_對(duì)于MCU來說,定時(shí)器太重要了!

STM32定時(shí)器基本原理

STM32定時(shí)器基本原理及常見問題

STM32定時(shí)器基本原理及常見問題之培訓(xùn)資料

評(píng)論