Bootstrap

STM32F103的定时器

一、定时器的简介



1、在计算59.65s之前先简要叙述下时钟频率计数器
计数时钟频率:这是计数器每秒钟可以增加多少次计数的速率。在此例中,频率为72 MHz,即每秒可计数72000000次。
计数器溢出:计数器通常是有位宽的(例如16位、32位等),当计数达到其最大值后将会“溢出”并重置为0。这里的预分频器和自动重装寄存器都是16位
③在单片机中对于时钟的频率我们可以通过预分频器降低频率,即72000000(72MHZ)/65536 = 1098.632hz,这样我们便得到了单片机的最小频率,即1/1098.632时,单片机的计数器加1,可得从0-65535需要的时间为(1/1098.632)*65536 = 59.652秒。

2、通过定时器衍生出的功能包括:计数器定时器输出比较输入捕获

二、定时器的类型



1、定时器的类型包括了高级定时器、通用定时器、基本定时器
2、我们用的这款单片机只包含:TIM1、TIM2、TIM3、TIM4


三、定时器的结构图


1、高级定时器


①重复计器功能

假设RCR(重复计数器)=2,ARR(自动重装器)=1013,当计算到1013时,进入定时器中断

计数过程

  • 第一次计数:

    • 从0计数到1003,触发第一个更新事件。此时,定时器确实重置到了0,但是因为 RCR 的存在,它会进入一个特殊的状态。正常情况下,进入定时器中断以后,该定时器会停止自增,等退出中断后重新开始计数自增,但这种情况下,依然会进行置零再重新计数。
  • 第二次计数:

    • 在达成第一次更新事件后,计数器并不会像普通的定时器那样停止,而是继续在自增,实际上是在软件上处理这些更新事件。
    • 在这次计数过程中,计数器继续从0计数。当再次计数到1003时,产生第二个更新事件。
  • 第三次计数:

    • 再次从0计数,当计数到1003时,再次产生第三个更新事件。

当达成 RCR + 1 次更新(即3次更新)后,后续的更新就会遵循正常的计数重置行为。进入定时器中断以后,该定时器会停止自增,等退出中断后重新开始计数自增。

②互补输出


互补输出指的是两个信号相对的方式工作,即一个信号为高时另一个信号为低,反之亦然。换句话说,在任何给定时间,这两个信号的输出总是相反的。

时间点PWM_APWM_B
t1
t2
t3
t4

③死区插入


死区插入是为了防止互补输出信号之间的冲突而设计的。在某些应用中,如H桥驱动电路,如果两个信号同时为高,则可能造成短路,从而损坏设备。因此,在高电平和低电平之间插入一个小的“死区”时间,以确保两个信号不会在同一时间内处于高状态。

时间点PWM_APWM_B死区时间
t1-
t2-
t30.5ms
t4-

在此示例中,t3 时刻引入了 0.5 毫秒的死区时间,确保 PWM_APWM_B 变高之前已经完全变为低。这段时间可以防止两个信号同时为高而导致短路的问题。

④刹车功能
当外部输入检测到刹车信号时,定时器会停止输出PWM,包括两种停止方式

  • 立即停止模式:当接收到刹车信号时,PWM 输出立即停止。
  • 慢速刹车模式:通过调节 PWM 占空比逐渐减少电机的速度,而不是立即停止。

2、通用定时器


注:除了少了上面讲述的几个高级定时器专有的功能,其通用定时器和高级定时器并无区别


①时钟选择


可以自由选择内部时钟外部时钟


输出比较功能

(用户可以调整 PWM 信号的占空比,以实现不同的输出效果)

工作原理

a、计数器:定时器内部有一个计数器,计数从零开始,直到达到预设的最大值(称为自动重载寄存器)。

b、占空比:在计数过程中,当计数器的值与设定的比较值相等时,定时器会触发输出状态的改变。占空比是指信号高电平持续的时间与整个周期的比例,通常以百分比表示。

c、PWM 模式:通过配置定时器工作在 PWM 模式下,可以使得 PWM 信号的频率和占空比可调。用户只需修改比较值(即占空比),即可实现对输出信号特性的控制。

d、假设我们想要控制一盏 LED 灯的亮度
当我们希望 LED 以 25% 的亮度运行时,我们将比较值设置为 250(在 1000 的周期中,250 表示 0.25 毫秒为高电平,其余时间为低电平)。
如果我们希望 LED 以 50% 的亮度运行,则将比较值设置为 500。
最后,如果希望 LED 达到最大亮度,即 100%,则将比较值设置为 1000

输入捕获功能

a、在输入捕获功能下,①代表着每次进入上升沿,硬件电路就会将CNT的值保存到CCR中去,同时CNT的值会被清零
b、②代表着外部的脉冲或者方波的输入,为了避免因为噪音造成的毛刺信号,在滤波器的作用下,在一个采样周期中,信号的标准为连续N个高电平或低电平时,信号方可有效。如连续的次数小于N则该信号会被过滤,不在进入边沿检测极性选择器中,若信号有效,则信号进入边沿选择器,将当前信号与上次信号进行比对,观察是上升沿或是下降沿,分到不同的选择通道中去
c、③被选择的上升或下降沿的信号再次通过触发源的选择,主动是触发从模式Reset,将CNT的值值为0,就像①中所表示的那样
d、④CNT的值每进入一个上升沿的周期,就会被传给CCR进行保存


④PWMI的结构


PWMI与输入捕获的不同在于多了TIFP2的一个输入通道,这个通道的作用在于可以TIFP1测频率的同时,利用TIFP2计算占空比,利用上升沿到下降沿的时间,得到高电平保持时间

;