對于MCU來說,定時(shí)器是必備的一個(gè)模塊,原因在于定時(shí)器是使用頻率最高。
下載地址在ST中文網(wǎng),(最近)進(jìn)入主頁,都能在首頁看到這個(gè)消息。
https://www.stmcu.com.cn/Designresource/design_resource_detail?file_name=STM32+%E5%AE%9A%E6%97%B6%E5%99%A8%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86%E5%8F%8A%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E4%B9%8B%E5%9F%B9%E8%AE%AD%E8%B5%84%E6%96%99&lang=EN&ver=3.1
這個(gè)資料總共有186頁。內(nèi)容比較多,但講述的比較全面。
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í)器:幾乎沒有任何對外輸入/輸出,常用作時(shí)基,實(shí)現(xiàn)基本的計(jì)數(shù)、定時(shí)功能。
2.通用定時(shí)器:除了基本定時(shí)器的時(shí)基功能外,還可對外做輸入捕捉、輸出比較以及連接其它傳感器接口【編碼器和霍爾傳感器】 。
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)源。
? 比較輸出單元:通過對比較寄存器與計(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)容掌握了,對定時(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)志。所以我們在使能定時(shí)器更新中斷之前,可以先做更新中斷標(biāo)志的清除操作。
說明:資料中提供了很多案例說明,以及分析,我覺得比較好,方便大家理解。請多理解一下這些案例。
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)嗎?
-
mcu
+關(guān)注
關(guān)注
147文章
18383瀏覽量
378874 -
STM32
+關(guān)注
關(guān)注
2301文章
11073瀏覽量
369364 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3347瀏覽量
120951
發(fā)布評(píng)論請先 登錄
SysTick系統(tǒng)滴答定時(shí)器簡介

第二十章 TIM——基本定時(shí)器

第十二章 SysTick——系統(tǒng)定時(shí)器

MCU定時(shí)器/計(jì)數(shù)器
deepin 25系統(tǒng)安裝常見問題

STM32定時(shí)器基本原理及常見問題之培訓(xùn)資料
無刷電機(jī)電調(diào)的基本原理

史上最暢銷的芯片,竟然是555定時(shí)器! #科技 #電子 #555定時(shí)器 #YXC晶振 #揚(yáng)興科技
BJT放大電路的常見問題
詳解CKS32F107xx系列的定時(shí)器同步功能

RNN的基本原理與實(shí)現(xiàn)
高級(jí)定時(shí)器PWM輸入模式的配置方法

評(píng)論