新颖的归类总结,引领进入定时器认识;独有的STM32F10XX固件库V3.5.0的中文手册,指导定时器应用。
STM32F10XX通用定时器应用指南
湖北文理学院 阮海蓉
在STM32微处理器中,定时器是使用频率最高、用途最广、变化组合最灵活的部件,初学者往往不得要领。本文提纲携领,帮助初学者入门。介绍中以通用定时器为基本对象,高级定时器和基本定时器是在通用定时器的基础上增减了几种功能,在弄懂通用定时器以后就不难理解了。
固件库升级到STM32F10x_StdPeriph_Lib_V3.5.0后,定时器部分与使用手册UM0427有了较大改变,本文做了修订。
通用定时器(TIM2~5)
图1:通用定时器框图
图2:主从定时器实例
1. 每个通用定时器(TIM2~5)的主要组成部件:①一个16位的预分频器(图1中的PSC),对输入的
计数脉冲进行预分频;②一个16位的计数器(图1中的CNT),计数器可以按给定数值向上计数、向下计数、中央对齐(循环向上向下计数)方式工作;③一个主模式控制器(在图2中),用于输出信
新颖的归类总结,引领进入定时器认识;独有的STM32F10XX固件库V3.5.0的中文手册,指导定时器应用。
2. 3.
4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
17.
18. 19. 20. 21. 22. 23. 24.
号(图1及图2中的TRGO)到另一个定时器(也可以是其他部件),供其作为时钟源或触发源使用;④一个从模式控制器(在图1和图2中),用于选择时钟源和触发源;⑤四个捕获/比较控制器(图1中),用于纪录某一输入事件发生时的计数器当前值或用于在计数器到达某一预定数值时使输出发生变化。
预分频器PSC在被使用时其值会自动加上1,即其值为0时不分频,为1时2分频……。 时钟源:①内部时钟(来自APB1),SMS[2:0]=000,ECE=0;②外部引脚ETR(外部时钟模式2,滤波分频后的指定边沿),ECE=1;③由从模式控制器提供的3种可±1的编码器模式(共3种);④由从模式控制器提供的TRGI源(即外部时钟模式1)。
使用内部时钟且分频系数不为1时,定时器时钟=(ABP1频率/ABP分频系数)×2。 TRGI源:①外部触发ETR(外部时钟模式1,滤波分频后的指定边沿);②TRC源(见图1);③TI1FP1(来自于输入TI1经滤波和边沿检测)④TI2FP2(来自于输入TI2经滤波和边沿检测)。 TRC源:①来自另一定时器主模式控制器的输出ITR0~ITR3(各定时器定义不同);②来自外部输入TI1(本定时器的CH1或者CH1、CH2和CH3的异或)的跳变边沿(上升沿+下降沿)TI1F_ED。 计数器影子寄存器:放置计数器向上计数时溢出值、向下计数时重装值的寄存器。 更新:重置预分频寄存器和计数器的影子寄存器。
复位:重置预分频寄存器和计数器影子寄存器,清除现存分频值,计数器从0或溢出值开始计数。复位会产生更新事件,更新事件并不会产生复位。 触发:计数器启动、停止、初始化。
更新事件可由计数器上溢/下溢、设置UG位和从模式控制器发出的复位产生,可以被UDIS=0关闭。 计数器可设定为发生更新时不停止和停止(单脉冲模式)。
写入自动重装载寄存器TIMx_ARR,可以选择立即更新到计数器影子寄存器(ARPE=0)或暂不更新(ARPE=1)。
写入预分频寄存器TIMx_PSC后,要在发生更新后才能装载到影子寄存器中。
设置UDIS=1可以禁止更新事件,但是设置UG位以及从模式控制器发出的复位可以使计数器和预分频器被重新初始化。
主模式控制器的输出可作为另一定时器的输入,主模式控制器可使用以下事件中的一个作为输出:①本定时器复位(设置UG或由TRGI引起);②本定时器使能(CEN=1或从模式控制器的触发);③本定时器更新;④捕获/比较通道1上一次成功的输入捕获/输出匹配(CC1IF);⑤指定通道1~通道4中的一个,其输出有效(OC1REF~OC4REF)。
从模式控制器可以将输入作为本定时器的时钟源或控制源,控制方式有:①关闭从模式,即TRGI无效;②编码器模式1,根据TI1FP1的电平,计数器在TI2FP2的边沿向上/向下计数;③编码器模式2,根据TI2FP2的电平,计数器在TI1FP1的边沿向上/向下计数;④编码器模式3,根据另一信号的电平,计数器在TI1FP1和TI2FP2的边沿向上/向下计数;⑤复位,在TRGI的上升沿重新初始化计数器并产生更新信号;⑥门控,TRGI高电平时计数,TRGI低电平时停止计数;⑦触发,TRGI高电平时开始计数(若已在计数中则无影响);⑧外部时钟模式1:以TRGI作为计数脉冲,在TRGI的上升沿计数。
以上从模式控制器的8种状态,①为无效,②③④⑧为提供时钟源,⑤⑥⑦为提供控制源。 输入捕获的触发源:①本通道的输入(TIx映射到通道x);②相邻通道的输入(通道1、2为一组通道3、4为另一组);③TRC源。
使用TRC作为触发源时,时钟源只能是内部时钟或外部时钟模式2的ETRF。
输入捕获工作方式:触发源有效时,将计数器CNT的值复制到本通道的捕获/比较寄存器,并产生CCxIF标志请求中断和DMA。
在输入捕获模式下将同一个输入以相反的有效沿作用到两个相邻通道(限通道1和通道2),并对计数器复位,可实现PWM输入模式,这种模式用于测量输入波形的占空比。
ETR、TI1~TI4均配有边沿检测器和数字滤波器,边沿检测器可以设置为上升沿/下降沿,数字滤波器可以频率fCK_INT或fDTS/n连续采样N次后判定其状态,fDTS可设为时钟fCK_INT或fCK_INT/2、fCK_INT/4。 外部触发ETR配有预分频器(1、2、4、8)。
新颖的归类总结,引领进入定时器认识;独有的STM32F10XX固件库V3.5.0的中文手册,指导定时器应用。
25. TRGI上的事件对本定时器的作用可以选择被延迟,以使本定时器与主模式控制器驱动的从定时器完
美同步。
26. 输出比较工作方式:在该通道的捕获/比较寄存器中预存一个值,当计数器CNT的数值与捕获/比较寄
存器的值相符时,设置或改变匹配输出OCxREF的状态,并产生CCxIF标志请求中断和DMA。 27. 输出比较的工作模式:①冻结,不起作用;②匹配时输出有效(高)电平;③匹配时输出无效(低)
电平;④匹配时翻转输出电平;⑤强制输出无效(低)电平;⑥强制输出有效(高)电平;⑦PWM模式1,计数器<寄存器时输出有效(高)电平,反之输出无效(低)电平;⑧PWM模式2,计数器<寄存器时输出无效(低)电平,反之输出有效(高)电平。
百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典医药卫生STM32F10XX通用定时器应用指南在线全文阅读。
最新更新: