Stm32高级定时器(二)

Stm32高级定时器(二)

 

1 主从模式:主?从?

 

谈论主从,可知至少有两个以上的触发或者驱动信号,stm32内部有多个定时器,可以相互之间驱动或者控制。

  1. 主模式:定时器使能只受驱动时钟控制或者输出控制信号(TRGO)。
  2. 从模式:复位模式, 在发生一个触发输入事件时,计数器和它的预分频器能够重新被初始化;同时,如果IMx_CR1寄存器的URS 位为低,还产生一个更新事件UEV ;然后所有的预装载寄存器(TIMx_ARR ,TIMx_CCRx)都被更新了。
  3. 从模式:门控模式, 计数器的使能依赖于选中的输入端的电平。
  4. 从模式:触发模式, 计数器的使能依赖于选中的输入端上的事件。
  5. 从模式:外部时钟模式+触发模式, 外部时钟模式2可以与另一种从模式(外部时钟模式1和编码器模式除外)一起使用。这时,ETR信号被用作外部时钟的输入,在复位模式、门控模式或触发模式可以选择另一个输入作为触发输入。不建议使用TIMx_SMCR寄存器的TS位选择ETR作为TRGI。

clip_image002

clip_image004

clip_image006

2 PWM输入模式

clip_image008

该模式是输入捕获模式的一个特例,特点:

  • 两个ICx信号被映射至同一个TIx输入。
  • 这2个ICx信号为边沿有效,但是极性相反。
  • 其中一个TIxFP信号被作为触发输入信号,而从模式控制器被配置成复位模式。

2.1 PWM捕获结果

TIMx通过过复位启动,复位计数器,TIMx_CCR1捕获TI1的上升沿得到此刻CNT中的值,TIMx_CCR2捕获TI1的下降沿得到此刻CNT中的值,那么有他们的关系就可以得到:

  • TI1周期 = TIMx_CCR1 × CNT周期
  • 占空比 = TIMx_CCR2/ TIMx_CCR1

2.2 配置实例

测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2 寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值)

1. 选择TIMx_CCR1的有效输入:置TIMx_CCMR1寄存器的CC1S=01(选中TI1)。

2. 选择TI1FP1的有效极性(用来捕获数据到TIMx_CCR1中和清除计数器):置CC1P=0(上升沿有效)。

3. 选择TIMx_CCR2的有效输入:置TIMx_CCMR1寄存器的CC2S=10(选中TI1)。

4. 选择TI1FP2的有效极性(捕获数据到TIMx_CCR2):置CC2P=1(下降沿有效)。

5. 选择有效的触发输入信号:置TIMx_SMCR寄存器中的TS=101(选择TI1FP1)。

6. 配置从模式控制器为复位模式:置TIMx_SMCR中的SMS=100。

7. 使能捕获:置TIMx_CCER寄存器中CC1E=1且CC2E=1。

 

3 PWM输出模式

脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。

由下图可知,TIMx_ARR=8(周期),TIMx_CCRx=4(占空比)

clip_image010

原文地址:https://www.cnblogs.com/OneFri/p/5925453.html