AT32定時(shí)器概述
定時(shí)器種類有基本定時(shí)器、通用定時(shí)器、高級(jí)控制定時(shí)器,以AT32F435xx舉例,下表為各種類型定時(shí)器的功能總表。本文主要就定時(shí)器溢出中斷進(jìn)行基礎(chǔ)講解和案列解析。表1. 各定時(shí)器功能總表
例 定時(shí)器溢出中斷
功能簡介
定時(shí)器溢出中斷是定時(shí)器最基礎(chǔ)功能,進(jìn)入中斷的時(shí)間周期可由相關(guān)寄存器配置。
- 定時(shí)器計(jì)數(shù)器值TMRx_CVAL
- 定時(shí)器預(yù)分頻寄存器TMRx_DIV
- 定時(shí)器周期寄存器(TMRx_PR)
定時(shí)器中斷頻率計(jì)算公式如下其中,TMRxCLK雖然來源于APB1/2時(shí)鐘,但下圖時(shí)鐘架構(gòu)可以看出,檔APB1/2 Divider存在非1除頻時(shí),TMRxCLK會(huì)有x2。例如AHB=240 MHz,APB1/2=120MHz,TMRxCLK的實(shí)際頻率為240 MHz.以向上計(jì)數(shù)模式舉例,TMREN bit使能后,TMRx_CVAL會(huì)開始進(jìn)行累加1,直到其值等于TMRx_PR后,OVFIF位會(huì)置起并且定時(shí)器會(huì)觸發(fā)溢出中斷事件,(若溢出中斷有開啟,則會(huì)產(chǎn)生溢出中斷),同時(shí)TMRx_CVAL會(huì)再次從0開始計(jì)數(shù),周而復(fù)始。圖1. 定時(shí)器時(shí)鐘源架構(gòu)
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\timer_base
軟件設(shè)計(jì)
1) 配置流程
- 編寫定時(shí)器溢出中斷函數(shù)的應(yīng)用程序
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置定時(shí)器為向上計(jì)數(shù)方向
- 開啟定時(shí)器溢出中斷
- 開啟NVIC溢出中斷
- 開啟定時(shí)器計(jì)數(shù)
2) 代碼介紹
- main函數(shù)代碼描述
- TMR1_OVF_TMR10_IRQHandler中斷函數(shù)代碼描述
實(shí)驗(yàn)效果
- LED3每1秒翻轉(zhuǎn)一次。
例 PWM輸出
功能簡介
定時(shí)器的輸出部分由比較器和輸出控制構(gòu)成,用于編程輸出信號(hào)的周期、占空比、極性。高級(jí)定時(shí)器的輸出部分在不同通道上有所不同。
高級(jí)定時(shí)器在通道1到通道3上擁有互補(bǔ)輸出,且配備死區(qū)調(diào)節(jié);通道1到通道4擁有剎車控制。通用定時(shí)器的輸出部分沒有上述功能,只配備了4個(gè)通道輸出?;径〞r(shí)器、通用定時(shí)器和高級(jí)定時(shí)器的具體功能差異可查看RM的TMR章節(jié)。
如下圖為高級(jí)定時(shí)器通道1到3輸出部分原理圖:
圖2.高級(jí)定時(shí)器通道1到3輸出部分原理圖圖3. 高級(jí)定時(shí)器通道4輸出部分原理圖
PWM輸出是定時(shí)器最常用的輸出模式,分為PWM模式A和PWM模式B。其差異在于:
PWM模式A:-OWCDIR=0,若TMRx_C1DT>TMRx_CVAL時(shí)設(shè)置C1ORAW為高,否則為低;-OWCDIR=1,若TMRx_C1DT時(shí)設(shè)置C1ORAW為低,否則為高。PWM模式B:-OWCDIR=0,若TMRx_C1DT>TMRx_CVAL時(shí)設(shè)置C1ORAW為低,否則為高;-OWCDIR=1,若TMRx_C1DT時(shí)設(shè)置C1ORAW為高,否則為低。
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\7_pwm_output
軟件設(shè)計(jì)
1) 配置流程
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置輸出管腳
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置定時(shí)器為向上計(jì)數(shù)方向
- 配置定時(shí)器輸出通道為PWM模式B
- 開啟定時(shí)器計(jì)數(shù)
2) 代碼介紹
- main函數(shù)代碼描述
實(shí)驗(yàn)效果
- 通過邏輯分析儀或者示波器可將波形打出來。
如下圖:圖4. 7路PWM輸出圖中通道1到4輸出頻率相同但占空比不同的波形,互補(bǔ)通道通過輸出極性的調(diào)節(jié)與其對應(yīng)的通道輸出相同的波形。
例 PWM輸入捕獲
功能簡介
定時(shí)器的輸入部分由專門的捕獲電路實(shí)現(xiàn),可用于對輸入信號(hào)的濾波、選擇、分頻和輸入捕獲功能;通過對捕獲值的計(jì)算,可得到輸入波形的頻率和占空比。
如下圖為輸入部分原理圖:
圖5. 定時(shí)器輸入部分原理圖
輸入模式下,當(dāng)選中的觸發(fā)信號(hào)被檢測到時(shí),通道寄存器(TMRx_CxDT)會(huì)記錄當(dāng)前計(jì)數(shù)器計(jì)數(shù)值,并將捕獲比較中斷標(biāo)志位(CxIF)置1,若已使能通道中斷(CxIEN)、通道DMA請求(CxDEN)則產(chǎn)生相應(yīng)的中斷和DMA請求。若在CxIF已置1后檢測到選中的觸發(fā)信號(hào),則將CxOF位置1。
另外,還提供了更加高效的PWM波輸入捕獲功能,可以更方便的計(jì)算出輸入波形的頻率和占空比。此模式的通過內(nèi)部兩個(gè)CxDT寄存器實(shí)現(xiàn),輸入波形通過定時(shí)器的通道1或者通道2輸入即可。圖6. 定時(shí)器捕獲PWM波原理圖
將定時(shí)器配置成PWM輸入模式后,可通過C1DT和C2DT的值計(jì)算出對應(yīng)PWM波形的頻率和占空比:
頻率=TMR_CLK/C1DT占空比=C2DT/C1DT
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\pwm_input
軟件設(shè)計(jì)
1) 配置流程
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置輸入管腳
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置定時(shí)器為向上計(jì)數(shù)方向
- 配置定時(shí)器的PWM輸入模式
- 開啟定時(shí)器計(jì)數(shù)
2) 代碼介紹
- main函數(shù)代碼描述
- 中斷函數(shù)代碼描述
實(shí)驗(yàn)效果
- 從PA7灌入PWM波形;
- 將串口1連接到上位機(jī),然后通過上位機(jī)串口工具即可看到打印信息。
例 輸入捕獲
功能簡介
通過對外部信號(hào)的上升沿或者下降沿進(jìn)行捕獲可以實(shí)現(xiàn)對外部信號(hào)輸入捕獲并計(jì)算頻率的功能。本例程實(shí)現(xiàn)了對外部信號(hào)進(jìn)行捕獲并通過串口打印出頻率。
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\input_capture
軟件設(shè)計(jì)
1) 配置流程
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置輸入管腳
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置定時(shí)器為向上計(jì)數(shù)方向
- 配置定時(shí)器的輸入捕獲功能
- 開啟定時(shí)器計(jì)數(shù)
2) 代碼介紹
- main函數(shù)代碼描述
- 中斷函數(shù)代碼描述
實(shí)驗(yàn)效果
- 從PA7灌入PWM波形;
- 將串口1連接到上位機(jī),然后通過上位機(jī)串口工具即可看到打印信息。
例 DMA傳輸
功能簡介
定時(shí)器擁有強(qiáng)大的DMA傳輸能力,基本每個(gè)定時(shí)器都支持DMA請求的產(chǎn)生。這使得應(yīng)用更加靈活。
本實(shí)驗(yàn)將src_buffer[0]、src_buffer[1]和src_buffer[2]數(shù)據(jù)通過DMA傳輸?shù)絋MR的TMRx_C3DT寄存器。實(shí)現(xiàn)了每個(gè)周期占空比都發(fā)生改變,且占空比在src_buffer[0]、src_buffer[1]和src_buffer[2]的值之間進(jìn)行有序的切換。
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\dma
軟件設(shè)計(jì)
1) 配置流程
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置輸入管腳
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置定時(shí)器為向上計(jì)數(shù)方向
- 配置DMA通道
- 配置定時(shí)器的溢出事件產(chǎn)生DMA請求
- 開啟定時(shí)器計(jì)數(shù)
2) 代碼介紹
- main函數(shù)代碼描述
實(shí)驗(yàn)效果
從PA10、PB15輸出PWM波形;
例 burst傳輸
功能簡介
高級(jí)定時(shí)器和通用定時(shí)器除了支持常規(guī)的DMA傳輸功能,還額外支持DMA burst傳輸功能。在配置為burst傳輸后,當(dāng)TMR產(chǎn)生一個(gè)DMA請求可連續(xù)傳輸以TMR地址為起始地址的多筆數(shù)據(jù);傳輸數(shù)據(jù)的起始地址和數(shù)據(jù)量可通過軟件配置。
如何配置burst傳輸:
1. 配置TMRx_DMACTRL寄存器,此寄存器的bit0到bit4為DMA傳輸?shù)刂菲?,此值決定了DMA傳輸?shù)钠鹗嫉刂罚籦it8到bit12為DMA傳輸長度配置,此值決定了DMA傳輸?shù)臄?shù)據(jù)筆數(shù)。2. 配置DMA通道,此配置流程與常規(guī)DMA通道配置相同;需要注意的是DMA通道的源與目標(biāo)地址寄存器中的一個(gè)必須為TMRx_DMADT寄存器地址;具體是源還是目標(biāo)就由數(shù)據(jù)傳輸?shù)姆较驔Q定。
本實(shí)驗(yàn)將src_buffer[0]和src_buffer[2]數(shù)據(jù)通過burst傳輸?shù)絋MR的TMRx_PR和TMRx_C1DT寄存器。
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\dma_burst
軟件設(shè)計(jì)
1) 配置流程
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置輸入管腳
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置定時(shí)器為向上計(jì)數(shù)方向
- 配置DMA通道和定時(shí)器的burst功能
- 配置DMAMUX
- 開啟定時(shí)器計(jì)數(shù)
2) 代碼介紹
- main函數(shù)代碼描述
實(shí)驗(yàn)效果
- 從PA8輸出PWM波形;
例 單脈沖輸出
功能簡介
單脈沖輸出模式是PWM模式的特例,將OCMEN位置1可開啟單周期模式,此模式下,僅在當(dāng)前計(jì)數(shù)周期中進(jìn)行比較匹配,完成當(dāng)前計(jì)數(shù)后,TMREN位清0,因此僅輸出一個(gè)脈沖。當(dāng)配置為向上計(jì)數(shù)模式時(shí),需要嚴(yán)格配置CVAL;向下計(jì)數(shù)時(shí),需嚴(yán)格配置CVAL>CxDT。
當(dāng)TMR受到外部觸發(fā)或者軟件使能CNT時(shí),TMR開始計(jì)數(shù)并在此次overflow事件時(shí)停止計(jì)數(shù)。此過程中輸出也會(huì)根據(jù)配置產(chǎn)生波形。
單脈沖輸出原理如下圖:
圖7. 單脈沖輸出原理圖
圖中當(dāng)受到外部觸發(fā)后,TMR開始計(jì)數(shù),當(dāng)CVAL等于CxDT時(shí),改變輸出狀態(tài),當(dāng)CVAL溢出時(shí),輸出狀態(tài)再次改變從而達(dá)到輸出一個(gè)單脈沖的目的。
本實(shí)驗(yàn)將TMR4配置為單脈沖模式。TMR4的通道1配置為輸入并充當(dāng)觸發(fā)輸入的源頭,通道2配置為輸出模式,充當(dāng)單脈沖輸出的端口。
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\one_cycle
軟件設(shè)計(jì)
1) 配置流程
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置輸入、輸出管腳
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置定時(shí)器為向上計(jì)數(shù)方向
- 配置定時(shí)器為單脈沖模式
- 配置通道2為輸出口,并作為TMR觸發(fā)的觸發(fā)源
2) 代碼介紹
- main函數(shù)代碼描述
實(shí)驗(yàn)效果
- PB7輸入管腳,外部給上升沿觸發(fā)即可;
- PB6為輸出管腳,輸出單脈沖波形。
使用邏輯分析儀打出波形如下:
圖8. 單脈沖輸出結(jié)果
例 32位定時(shí)器
功能簡介
部分定時(shí)器可支持?jǐn)U展為32位定時(shí)器(具體請查看RM)。擴(kuò)展后,不單CVAL寄存器為32位,DIV和CxDT都會(huì)自動(dòng)擴(kuò)展為32位。
使能32位定時(shí)器只需要設(shè)置TMRx_CTRL1寄存器的bit10為1即可。
本實(shí)驗(yàn)將TMR2配置為32位定時(shí)器模式,然后配置為PWM輸出模式使其輸出PWM波形。
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\tmr2_32bit
軟件設(shè)計(jì)
1) 配置流程
- 開啟定時(shí)器外設(shè)時(shí)鐘
- 配置輸入、輸出管腳
- 使能32位模式
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置通道輸出PWM波形
2) 代碼介紹
- main函數(shù)代碼描述
實(shí)驗(yàn)效果
- PA0/1/2/3輸出波形;
圖9. 32位定時(shí)器輸出結(jié)果
例 定時(shí)器同步
功能簡介
主次定時(shí)器之間可由內(nèi)部連接信號(hào)進(jìn)行同步。主定時(shí)器可由PTOS[2:0]位選擇主定時(shí)器輸出,即同步信息;次定時(shí)器由SMSEL[2:0]位選擇從模式,即次定時(shí)器的工作模式。定時(shí)器從模式有以下幾種:
復(fù)位模式:
此模式下,當(dāng)次定時(shí)器收到一個(gè)同步信號(hào)后,次定時(shí)器復(fù)位計(jì)數(shù)器和預(yù)分頻器,定時(shí)器的 CVAL寄存器變?yōu)?重新開始計(jì)數(shù)。若OVFS位為0,將產(chǎn)生一個(gè)溢出事件。圖10. 復(fù)位模式圖
掛起模式:
掛起模式下,計(jì)數(shù)的計(jì)數(shù)和剎車受選中觸發(fā)輸入信號(hào)控制,當(dāng)觸發(fā)輸入為高電平時(shí)計(jì)數(shù)器開始計(jì)數(shù);當(dāng)為低電平時(shí),計(jì)數(shù)器暫停計(jì)數(shù)。圖11. 掛起模式圖
觸發(fā)模式:
觸發(fā)模式下,次定時(shí)器當(dāng)受到外部觸發(fā)信號(hào)后,自動(dòng)啟動(dòng)定時(shí)器,即硬件置TMR_EN為1。所以在觸發(fā)模式下,初始化定時(shí)器后軟件不需要使能定時(shí)器。圖12. 掛起模式圖本例程實(shí)現(xiàn)了TMR2同步TMR3和TMR4。主定時(shí)器TMR2選擇溢出事件作為同步信號(hào)輸出,次定時(shí)器TMR3和TMR4選擇掛起模式作為從模式。
資源準(zhǔn)備
1) 硬件環(huán)境對應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境project\at_start_xxx\examples\tmr\parallel_synchro
軟件設(shè)計(jì)
1) 配置流程
- 定時(shí)器外設(shè)時(shí)鐘
- 配置輸入、輸出管腳
- 配置定時(shí)器TMRx_DIV寄存器和TMRx_PR寄存器
- 配置主模式和從模式
- 配置PWM輸出模式
- 使能定時(shí)器
2) 代碼介紹
- main函數(shù)代碼描述
實(shí)驗(yàn)效果
- 通過PA6/PA0/PB6輸出波形,可使用邏輯分析儀抓取波形查看。
關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級(jí)別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。
-
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
367168
發(fā)布評論請先 登錄
AT32 IAP using the USART
AT32的ERTC與RTC的區(qū)別
澎湃微電子LED顯示驅(qū)動(dòng)IC PTH036X的特性
MCU定時(shí)器/計(jì)數(shù)器

史上最暢銷的芯片,竟然是555定時(shí)器! #科技 #電子 #555定時(shí)器 #YXC晶振 #揚(yáng)興科技
GD32G5x3系列高分辨率定時(shí)器使用指南

TMS320C645x DSP 64位定時(shí)器用戶指南

燈光定時(shí)器自動(dòng)控制器怎么調(diào)
STM32轉(zhuǎn)AT32代碼轉(zhuǎn)換

定時(shí)器自動(dòng)控制開關(guān)怎么設(shè)置
AT32講堂088 | 雅特力AT32F402/F405時(shí)鐘配置

AT32講堂087 | 雅特力AT32 IDE快速入門指南

雅特力AT32 MCU的隨機(jī)數(shù)生成

AT32講堂085 | 雅特力AT32 MCU HICK時(shí)鐘校準(zhǔn)

評論