STM32F0x高级定时器简介

TIM1主要功能

  • 16位向上、向下、向上/向下自动重装载计数器。
  • 16位可编程预分频器,允许将计数器时钟频率除以(也可以是“动态”)165535之间的任何因子。
  • 最多4个独立通道用于:
    • 输入捕获
    • 输出比较
    • 生成PWM(边沿和中心对齐模式)
    • 单脉冲模式输出
  • 具有死区时间可编程的互补输出。
  • 同步电路,用外部信号控制定时器,并将几个定时器互连在一起。
  • 重复计数器,仅在给定的计数器周期数之后才更新定时器寄存器。
  • 刹车信号输入,使定时器的输出信号处于复位状态或已知状态。
  • 在以下事件中生成中断/DMA
    • 更新事件:计数器上溢/下溢,计数器初始化(通过软件或内部/外部触发器)
    • 触发器事件(计数器启动、停止、初始化或通过内部/外部触发器计数)
    • 输入捕获
    • 输出比较
    • 刹车信号输入
  • 支持增量(正交)编码器和霍尔传感器电路,用于定位。
  • 外部时钟或逐周期电流管理的触发器输入

时基单元

可编程高级控制定时器的主要模块是一个16位计数器及其相关的自动重载寄存器。计数器可以向上计数、向下计数或同时向上和向下计数。计数器时钟可以被预分频器分频。

计数器、自动重载寄存器和预分频器寄存器可以通过软件读写。即使在计数器运行时也是如此。

时基单元包括:

  • 计数器寄存器(TIMx_CNT)
  • 预分频器寄存器(TIMx_PSC)
  • 自动重载寄存器(TIMx_ARR)
  • 重复计数寄存器(TIMx_RCR)

自动重载寄存器是被预装载的。写入或读取自动重载寄存器会访问预装载寄存器。根据 TIMx_CR1 寄存器中的自动重载预装载使能位(ARPE),预装载寄存器的内容会永久性地或在每次更新事件(UEV)时传输到影子寄存器。当计数器达到上溢(或递减计数时的下溢)且 TIMx_CR1 寄存器中的UDIS位等于 0 时,会发送更新事件。它也可以由软件生成。对于每种配置,均详细描述了更新事件的生成。

计数器由预分频器的输出CK_CNT计时,仅当TIMx_CR1寄存器中的计数器使能位(CEN)置位时它才被使能(有关计数器使能的更多信息,另请参考从机模式控制器描述)。

注意,在 TIMx_CR1 寄存器的CEN位置位后,计数器开始计数1个时钟周期。

预分频器描述

预分频器可以将计数器时钟频率除以 1 到 65536 之间的任意因子。它基于通过16位寄存器(在 TIMx_PSC 寄存器中)控制的16位计数器。当该控制寄存器被缓冲时,它可以动态改变。在下一次更新事件时会考虑新的预分频器比率。

图42给出了预分频器比率动态变化时计数器行为的一些示例:

图42,预分频器的分频值从1变为2的计数器时序图
看到这张图是不是就头大?现在很多人都喜欢看文字解释,一看到图表就没耐心了。其实只要静下心来仔细分析就不难理解。

  • 图中第一行CK_PSC是定时器的时钟源,它还没有被预分频器分频。
  • 第二行的CEN上文已解释,可以把它理解为总开关,它为高时,CK_CNT才能输出频率。
  • 第三行的CK_CNT为预分频器分频后输出的频率。
  • 第六行,当预分频寄存器的值从0变到1时,注意看,CK_CNT的频率并没有立即变化,而是等到UEV事件发生后才变化,可以看到频率是变低了!
  • 第四行是干啥的?它就是计数器,说通俗点,就是数CK_CNT中脉冲的个数,来一个脉冲计一个,所以定时器记下的时间就是这么来的,所以CK_CNT至关重要。
  • 第七行是干啥的?它预分频寄存器的缓冲器,只有它变化了之后,输出的频率才会跟着变。在预分频寄存器更新后,这个缓冲器并没有立即变,而是等到更新事件后。
  • 最后一行是预分频的计数值,这个计数是基于原来的频率CK_PSC作参考的,可以这么通俗的理解,现在的CK_CNT的一个周期是由原来的两个周期合成的,看图中虚线,它等于是不停地在数现在的一个周期里,原来频率的脉冲数有几个。预分频值升高后,频率会变低。如果预分频的值为4,那么最后一行的计数值应该是从0~4计数。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值