按时器的相关寄放器

上传人:re****.1 文档编号:507459046 上传时间:2023-08-06 格式:DOCX 页数:16 大小:154.68KB
返回 下载 相关 举报
按时器的相关寄放器_第1页
第1页 / 共16页
按时器的相关寄放器_第2页
第2页 / 共16页
按时器的相关寄放器_第3页
第3页 / 共16页
按时器的相关寄放器_第4页
第4页 / 共16页
按时器的相关寄放器_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《按时器的相关寄放器》由会员分享,可在线阅读,更多相关《按时器的相关寄放器(16页珍藏版)》请在金锄头文库上搜索。

1、按时器在STM32F10xx逐歹【的32位MCUt,按时器资源十分丰硕,包括高级操纵按时器,通用按时器和大体按时器。另外,还有能够实现按时功能的系统滴答按时器,实不时钟和看门狗。关于这些按时器的介绍,占据了STM32F10xx嬉考手册1/5的篇幅,可见其功能的壮大。在低容量和中容量的STM32F103xx品,和互联型产品STM32F105x*口STM32F107x。,只有一个高级操纵按时器TIM1。而在高容量和超大容量的STM32F103xx品中,有两个高级操纵按时器TIM1和TIM8。在所有STM32F10xx逐列产品中,都有通用按时器TIM2TIM5,除非还有说明。除此之外,在超大容量产品

2、中,还有通用按时器TIM9TIM14在高容量和超大容量的STM32F101x*口STM32F103x小品,和互联型产品STM32F105xxF口STM32F107xxK有两个大体按时器TIM6和TIM7。其中,高级操纵按时器的功能最为壮大,能够实现所有其他按时器的所有功能。TrailBreaker开发板利用的是高容量的STM32F103ZE因此有两个高级操纵按时器TIM1和TIM8。下面咱们就着重介绍这两个高级操纵按时器。TIM1和TIM8简介高级操纵按时器(TIM1和TIM8)由一个16位的自动装载计数器组成,它由一个可编程的预分频器驱动。它适合多种用途,包括测量输入信号的脉冲宽度(输入捕捉

3、),或产生输出波形(输出比较、PWM嵌入死区时刻的互补PWMH)利用按时器预分频器和RCC寸钟操纵预分频器,能够实现脉冲宽度和波形周期从几个微秒到几个毫秒的调剂。关于实验顶用到的LED部份原理图和GPIO跑马灯实验所用到的相同,在此再也不多做介绍。TIM1和TIM8按时器的功能包括:16位向上、向下、向上/下自动装载计数器16位可编程(能够实时修改)预分频器,计数器时钟频率的分频系数为165535之间的任意数值多达4个独立通道:一输入捕捉一输出比较一PWMft成(边缘或中间对齐模式)一单脉冲模式输出死区时刻可编程的互补输出利用外部信号操纵按时器和按时器互联的同步电路许诺在指定数量的计数器周期以

4、后更新按时器寄放器的重复计数器刹车输入信号能够将按时器输出信号置于复位状态或一个已知状态如下事件发生时产生中断/DMA一更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或内部/外部触发)一触发事件(计数器启动、停止、初始化或由内部/外部触发计数)一输入捕捉一输出比较一刹车信号输入支持针对定位的增量(正交)编码器和霍尔传感器电路触发输入作为外部时钟或按周期的电流治理高级按时器框图和时钟简介牝前/部CK T MlBiTornRCC FT*# tint 4*内 ffTM -f1时- mi r.*匕 Miw brnAUto DACM0CTIUl CH4 nEtRF需港盟i粒VP*e4cadfgr

5、aterstr*i*fTed9active电9里urmmU电MemsecondiPggcarttfsibrttnbtmtpi & DLW output如框图中的红框所示,红框中的部份,也是时基单元(Time-baseunit),对时基单元进行设置,就能够够完成基础的按时器的利用设置。计数器时钟可由以下时钟源提供: 内部时钟(CK_INT) 外部时钟模式1:外部输入引脚 外部时钟模式2:外部触发输入ETR 内部触发输入(ITRx):利用一个按时器作为另一个按时器的预分频器。如能够配置一个按时器Timeri而作为另一个按时器Timer2的预分频器。详见数据手册的通用按时器部份。内部时钟源(CKIN

6、T):若是禁止了从模式操纵器(SMS=000),那么CENDIR(TIMx_CR1寄放器)和UG&(TIMx_EGR寄放器)是事实上的操纵位,而且只能被软件修改(UG位仍被自动清除)。只要CEN被写成1,预分频器的时钟就由内部时钟CK_INT是供。以下图显示操纵电路和向上计数器在一样模式下,不带预分频器时的操作。外部时钟源模式1当TIMx_SMCRf放器的SMS=11为寸,此模式被选中。计数器能够在选定输入端的每一个上升沿或下降沿计数。以下图为TI2外部时钟连接例子例如,要配置向上计数器在T12输入端的上升沿计数,利用以下步骤:1.配置TIMx_CCMR寄放器CC2s=013 .配置TIMx_

7、CCMR寄放器的IC2F3:0,选择输入滤波器带宽(若是不需要滤波器,维持IC2F=0000)4 .配置TIMx_CCERj放器的CC2P=0选定上升沿极性5 .配置TIMx_SMCRf放器的SMS=111选择按时器外部时钟模式16 .配置TIMx_SMCRf放器中的TS=11Q选定TI2作为触发输入源7 .设置TIMx_CR1寄放器的CEN=1使能计数器注:捕捉预分频器不用作触发,因此不需要对它进行配置当上升沿出此刻TI2,计数器计数一次,且TIF标志被设置。在TI2的上升沿和计数器实际时钟之间的延时,取决于在TI2输入端的从头同步电路。以下图为外部时钟模式1下的操纵电路外部时钟源模式2选定

8、此模式的方式为:令TIMx_SMCRf放器中的ECE=1计数器能够在外部触发ETR的每一个上升沿或下降沿计数。以下图是外部触发输入的框图设置从模式操纵寄放器的ETP位选择选择是用ETR仍是ETR的反相来作为触发操作例如,要配置在ETR下每2个上升沿计数一次的向上计数器,利用以下步骤:1 .本例中不需要滤波器,置TIMXSMCR1放器中的ETF3:0=00002 .设置预分频器,置TIMXSMCR1放器中的ETPS1:0=013 .选才?ETR的上升沿才测,置TIMx_SMCRf放器中的ETP=04 .开启外部时钟模式2,写TIMX_SMCR1放器中的ECE=15 .启动计数器,写TIMx_CR

9、1寄放器中的CEN=1计数器在每2个ETR上升沿计数一次。在ETR的上升沿和计数器实际时钟之间的延时取决于在ETRPJ号端的从头同步电路。以下图为外部时钟模式2下的操纵电路如图,该图为STM32勺时钟树,结合高级操纵按时器框图,咱们能够看出,高级按时器的时钟不是直接来自APBZ而是来自于输入为APB2的一个倍频器。当APB2的预分频系数为1时,那个倍频器不起作用,按时器的时钟频率等于APB2的频率;当APB2的预分频系数为其它数值(即预分频系数为二、4、8或16)时,那个分频器起作用,按时器的时钟频率等于APB2的频率相应倍数。假定AHB=36MHz因为APB2W诺的最大频率为72MHz因此A

10、PB2的预分频系数能够取任意数值;当预分频系数=1时,APB2=72MHzTIMI和TIM8的时钟频率=72MHz分频器不起作用);当预分频系数=2时,APB1=36MHz在倍频器的作用下,TIM1和TIM8的时钟频率=72MHz有人会问,既然需要TIM1和TIM8的时钟频率为72MHz什么缘故不直接取APB2的预分频系数=1?答案是:APB2但要为TIM1和TIM8提供时钟,而且还要为其它外设提供时钟;设置那个倍频器能够在保证其它外设利用较低时钟频率时,TIM1和TIM8仍能取得较高的时钟频率。再举个例子:当AHB=72MH时,APB2因为其他设备需要,时钟为36MHz因为那个倍频器,TIM

11、1和TIM8仍然能够取得72MHzB勺时钟频率。能够利用更高的时钟频率,无疑提高了按时器的分辨率,这也正是设计那个倍频器的初衷。高级按时器寄放器简介可编程高级操纵按时器的要紧部份是一个16位计数器和与其相关的自动装载寄放器。那个计数器能够向上计数、向下计数或向上向下双向计数。此计数器时钟由预分频器分频取得。计数器、自动装载寄放器和预分频器寄放器能够由软件读写,即便计数器还在运行读写仍然有效。时基单元,也确实是决定了按时器的大体功能的模块包括:1 .计数器寄放器(Counterregister,简写为TIMx_CNT)2 .预分频器寄放器(Prescalerregister,简写为TIMx_PS

12、C)3 .自动装载寄放器(Auto-reloadregister,简写为TIMx_ARR)4 .重复次数寄放器(Repetitioncounterregister,简写为TIMx_RCR)这张图是高级按时器框图的一部份,细心的人能够发觉预分频器寄放器、自动重载寄放器和捕捉/比较寄放器下面有一个阴影,其他的寄放器有些也有阴影。这表示在物理上那个寄放器对应2个寄放器:一个是咱们能够能够写入或读出的寄放器,称为预装载寄放器,另一个是咱们看不见的、无法真正对其读写操作的,但在利用中真正起作用的寄放器,称为影子寄放器.数据手册介绍预装载寄放器的内容能够随时传送到影子寄放器,即二者是连通的(permane

13、ntly),或在每一次更新事件(UEV)时才把预装载寄放器的内容传送到影子寄放器。原文如下:Theauto-reloadregisterispreloaded.Writingtoorreadingfromtheauto-reloadregisteraccessesthepreloadregister.Thecontentofthepreloadregisteraretransferredintotheshadowregisterpermanentlyorateachupdateevent(UEV),dependingontheauto-reloadpreloadenablebit(ARPE)i

14、nTIMx_CR1register.Theupdateeventissentwhenthecounterreachestheoverflow(orunderflowwhendowncounting)andiftheUDISbitequals0intheTIMx_CR1register.Itcanalsobegeneratedbysoftware.Thegenerationoftheupdateeventisdescribedindetailedforeachconfiguration.在图中的,表示对应寄放器的影子寄放器能够在发生更新事件时,被更新为它的预装载寄放器的内容;而图中的部份,表示对

15、应的自动重载寄放器能够产生一个更新事件(U)或更新事件中断(UI)。设计预装载寄放器和影子寄放器的益处是,所有真正需要起作用的寄放器(影子寄放器)能够在同一个时刻(发生更新事件时)被更新为所对应的预装载寄放器的内容,如此能够保证多个通道的操作能够准确地同步。若是没有影子寄放器,软件更新预装载寄放器时,那么同时更新了真正操作的寄放器,因为软件不可能在一个相同的时刻同时更新多个寄放器,结果造成多个通道的时序不能同步,若是再加上例如中断等其它因素,多个通道的时序关系有可能会混乱,造成是不可预知的结果。预分频器能够将计数器的时钟频率按1到65536之间的任意值分频。它是基于一个在TIMx_PSCf放器中的16位寄放器操纵的16位计数器。因为那个操纵寄放器带有缓冲器,它能够在运行时被改变。新的预分频器的参数在下一次更新事件到来时被采纳。下面给出了在预分频器运行时,更改计数器参数的例子当预分频器的参数从1变到2时,计数器的时序图如下:当预分频器的参数从1变到4时,计数器的时序图如下:预分频寄放器列位的描述如下:位15:0PSC15:0:预分频值计数器的时钟频率(CK_CNT等于fCK_PSC/(PSC15:0+1)。PSC的值保留在预分频寄放器的预装载寄放器中

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号