STM32学习--定时器(高级定时器)

来源:互联网 发布:js随机数1到10 编辑:程序博客网 时间:2024/06/07 02:46

高级定时器
1、功能增加

这里写图片描述

由上图可了解到高级定时器在通用定时器上增加了三个功能部分:
① 时基部分:增加重复次数计数器和RCR寄存器。允许在指定数量的计数周期后产生更新事件,更新相应寄存器,其实际用处暂不了解,减少中断或DMA处理的资源占用?
②输入部分:增加刹车输入,可产生刹车事件。其源可为外部BKIN口和CCS事件,可控制输的。主要用在安全方面,如遇到紧急事件或系统异常时关闭输出口。
③输出部分:这部分增加功能较多,特别在1~3通道增加死区控制、互补输出、刹车响应及几种输出模式控制。

2、重复次计数器

增加重复次数计数器和RCR寄存器,当RCR寄存器为0时实际和通用定时器一样用。当其不为0时,重复次计数器会随下列事件,当递减至0时才会产生更新事件,在其不为0时计数器溢出或下溢均不产生更新事件。
重复计数器在下述任一条件成立时递减:
● 向上计数模式下每次计数器溢出时,
● 向下计数模式下每次计数器下溢时,
● 中央对齐模式下每次上溢和每次下溢时。
TIMx_RCR:重复计数寄存器
只有低8位有效,每次向下计数器REP_CNT达到0,会产生一个更新事件并且计数器REP_CNT重新从REP值开始计数。TIMx_RCR寄存器写入的新值只在下次周期更新事件发生时才起作用。
在PWM模式中, (REP+1)对应着:
- 在边沿对齐模式下, PWM周期的数目;
- 在中心对称模式下, PWM半周期的数目。

3、互补输出、死区插入、刹车功能
个人理解这个也主要用于电机控制,死区是避免直通烧坏外围器件。互补输出,有利于用于控制不同的驱动电路。
也可只使用CCxN输出,而不使能CCx输出,对于管脚选择也更有选择余地。
死区DTG用来设置死区时间,可根据外围器件的特性如电平转换延时、电源开关延时等进行设置。
刹车功能其源可为外部BKIN口和CCS事件,由BKE选择使能,极性由BKP设置。

相关寄存器:
CCxN输出电平依赖于MOE、 OSSI、 OSSR、OISx、 OISxN和CCxE位的值。
这里写图片描述
与通用定时器不同,TIMx_CCER寄存器中1~3通道每个通道多2个控制位CC1NE和CC1NP,分别用来使能反向输出和设定反向极性。
TIMx_CR2 中增加OISx和OISxN确定输出空闲状态状态。
这里写图片描述
TIMx_BDTR 刹车和死区寄存器
MOE: 主输出使能;
AOE: 自动输出使能
BKP: 刹车输入极性
BKE: 刹车功能使能
OSSR: 运行模式下“关闭状态”选择
OSSI: 空闲模式下“关闭状态”选择
LOOK[1:0]: 锁定设置 (Lock configuration)
该位为防止软件错误而提供写保护。
00:锁定关闭,寄存器无写保护;
01:锁定级别1,不能写入TIMx_BDTR寄存器的DTG、 BKE、 BKP、 AOE位和TIMx_CR2寄存
器的OISx/OISxN位;
10:锁定级别2,不能写入锁定级别1中的各位,也不能写入CC极性位(一旦相关通道通过
CCxS位设为输出, CC极性位是TIMx_CCER寄存器的CCxP/CCNxP位)以及OSSR/OSSI位;
11:锁定级别3,不能写入锁定级别2中的各位,也不能写入CC控制位(一旦相关通道通过
CCxS位设为输出, CC控制位是TIMx_CCMRx寄存器的OCxM/OCxPE位);
注:在系统复位后,只能写一次LOCK位,一旦写入TIMx_BDTR寄存器,则其内容冻结直至复
UTG[7:0]: 死区发生器时间设置

0 0
原创粉丝点击