STM32学习--定时器(高级定时器)
2016-11-23 20:48
411 查看
高级定时器
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]: 死区发生器时间设置
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]: 死区发生器时间设置
相关文章推荐
- (转)STM32学习笔记(5):通用定时器PWM输出
- STM32学习笔记(5):通用定时器PWM输出
- cortex_m3_stm32嵌入式学习笔记(八):定时器中断实验(定时器的更新中断)
- [转]STM32学习笔记6-定时器中断
- stm32学习笔记——入门定时器中断
- STM32学习笔记---SysTick定时器
- STM32的高级定时器里面死区的概念
- stm32学习笔记——定时器(1)
- STM32学习笔记6-定时器中断
- 小熊STM32学习总结:STM32的定时器--输入捕捉模式
- STM32菜鸟学习笔记 系统滴答定时器(systick)
- STM32通用定时器---基本定时学习
- STM32----高级定时器、通用定时器(TIMx)、基本定时器(TIM6和TIM7)的区别
- STM32学习笔记6-定时器中断
- STM32的定时器学习
- stm32通用定时器(TIMx)学习笔记
- STM32----高级定时器、通用定时器(TIMx)、基本定时器(TIM6和TIM7)的区别
- STM32学习笔记:通用定时器输出PWM
- cortex_m3_stm32嵌入式学习笔记(十):输入捕捉实验(定时器的输入捕捉)
- stm32-学习经验总结 ———UCOSIII-软件定时器