一、 基本构成
上图为通用定时器的结构框图,主要涉及TIM1和TIM8,可以理解为通用定时器的进阶版本,图中绿色部分是相对于通用定时器增加的内容。该模块主要应用于电机控制,主要包含了五部分,即:
① 时钟源
② 时基单元
③ 输入捕捉
④ 输出比较
⑤ 刹车
本文只针对新增功能进行描述,重合部分内容参看链接:
stm32学习总结:定时器(1)基本定时器-CSDN博客
stm32学习总结:定时器(2)通用定时器之时钟源选择_stm32 定时器2-CSDN博客
stm32学习总结:定时器(2)通用定时器之输出比较(OC)及PWM-CSDN博客
stm32学习总结:定时器(2)通用定时器之输入捕获(IC)_stm32 定时器通道触发模式-CSDN博客
高级定时器新增功能包含重复计数器、互补输出和死区插入以及刹车,每个高级定时器包含四个通道,TIMx_CH1~TIMx_CH3具有互补输出功能,TIMx_CH4没有互补输出,具体输出引脚参看引脚及复用功能表。
二、 重复计数器
在基本和通用定时器中,时基单元不包含重复计数功能,即将RCR(重复计数寄存器)的值默认为0,而在高级定时器中,可以手动设定RCR的值,从而控制溢出信号与更新事件的关系。下图为不同RCR对应的信号图。
从图中不难发现中央对齐模式下:
RCR = 0,更新事件没有延迟;
RCR = 1,更新事件延后了半个PWM周期;
RCR = 2, 更新事件延后了一个PWM周期;
RCR = 3,更新事件延后了3/2个PWM周期;
因此,中央对齐模式center-aligned mode,更新事件延迟的PWM周期数量等于RCR/2 。
边沿对齐模式下:
RCR = 0,更新事件没有延迟;
RCR = 1,更新事件延后了一个PWM周期;
RCR = 2, 更新事件延后了两个PWM周期;
RCR = 3,更新事件延后了三个PWM周期;
因此,边沿对齐模式延迟的PWM周期数量等于RCR。
三、 互补输出和死区插入
使用互补的PWM波常见与一些半桥电路和全桥电路控制中,如下图所示为一个典型的H桥电路,其中若管Q1及Q4导通视作电机正转,Q2和Q3导通为反转。
可以使用OC1信号实现正转,OC1N信号实现反转,而在实际电路中由于环境等因素影响,使得电平切换有一定延时,为了避免该情况出现而造成电路的短路,可以使用带有死区的信号对其进行控制,如图所示。
死区设置包含了两个步骤:首先明确自己定时器系统时钟,由TIM1和TIM8控制寄存器1(TIMx_CR1)的位9和位8 即CKD[1:0]决定,这2位定义在定时器时钟(CK_INT)频率、死区时间和由死区发生器与数字滤波器(ETR,TIx)所用的采样时钟之间的分频比例,对应含义如下表,其中tCK_INT为APB2总线的时钟即72MHz,分别可以对其进行1分频、2分频和4分频;
CKD[1:0] | 含义 |
---|---|
00 | tDTS = tCK_INT |
01 | tDTS = 2 x tCK_INT |
10 | tDTS = 4 x tCK_INT |
11 | 保留,不要使用这个配置 |
第二步计算死区时间,这里与TIM1和TIM8刹车和死区寄存器(TIMx_BDTR)的0~7位即UTG[7:0]有关,计算公式如下表。
DTG[7:5] | DT |
---|---|
0xx | DTG[7:0] × tDTS |
10x | (64+DTG[5:0]) × 2 × tDTS |
110 | (32+DTG[4:0]) × 8 × tDTS |
111 | (64+DTG[4:0]) × 16 × tDTS |
四、 刹车功能
高级定时器的刹车功能是一个硬件保护功能,工业用电机在工作过程中同时监测电流,故障时电流异常,如果通过软件来关闭输出信号,因为软件的延时,没能及时关闭电机,可能会出现不可逆的后果,所以用高级定时器的刹车功能,将检测端接到TIMx_BKIN,当出现不稳定状态时,用硬件电路及时关闭信号输出,停止电机转动。
五、 总结
本文对高级定时器进行了初步探讨,主要描述了相对于通用定时器的新增功能,该模块主要应用于工业电机控制场景。