2015-7-13 11:29| 发布者: kaloha| 查看: 5396| 评论: 0
STM8时钟/触发控制器
时钟/触发控制器允许用户选择计数器的时钟源,输入触发信号和输出信号,框图如图40所示。
(图40:STM8时钟/触发控制器框图)
预分频时钟(CK_PSC)
时基单元的预分频时钟(CK_PSC)可以由以下源提供:
内部时钟源(fMASTER)
如果同时禁止了触发模式控制器和外部触发输入(TIM1_SMCR寄存器的SMS=000,TIM1_ETR寄存器的ECE=0),则CEN、DIR和UG位是实际上的控制位,并且只能被软件修改(UG位仍被自动清除)。一旦CEN位被写成1,预分频器的时钟就由内部时钟提供。下图描述了控制电路和向上计数器在普通模式下,不带预分频器时的操作。
(图41:STM8普通模式下的控制电路,fMASTER分频因子为1)
外部时钟源模式1
当TIMx_SMCR寄存器的SMS=111时,此模式被选中。计数器可以在选定输入端的每个上升沿或下降沿计数。
(图42:STM8-TI2外部时钟连接例子)
例如,要配置STM8向上计数器在T12输入端的上升沿计数,使用下列步骤:1.配置TIM1_CCMR2寄存器的CC2S=01,使用通道2检测TI2输入的上升沿2.配置TIM1_CCMR2寄存器的IC2F[3:0]位,选择输入滤波器带宽(如果不需要滤波器,保持IC2F=0000)注:捕获预分频器不用作触发,所以不需要对它进行配置,同样也不需要配置TI2S位,他们仅用来选择输入捕获源。3.配置TIM1_CCER1寄存器的CC2P=0,选定上升沿极性4.配置TIM1_SMCR寄存器的SMS=111,配置计数器使用外部时钟模式15.配置TIM1_SMCR寄存器的TS=110,选定TI2作为输入源6.设置TIM1_CR1寄存器的CEN=1,启动计数器当上升沿出现在TI2,计数器计数一次,且触发标识位(TIM1_SR1寄存器的TIF位)被置1,如果使能了中断(在TIM1_IER寄存器中配置)则会产生中断请求。在TI2的上升沿和计数器实际时钟之间的延时取决于在TI2输入端的重新同步电路。
(图43:STM8外部时钟模式1下的控制电路)
外部时钟源模式2
计数器能够在外部触发输入ETR信号的每一个上升沿或下降沿计数。将TIM1_ETR寄存器的ECE位写1,即可选定此模式。
(图44:STM8外部触发输入框图)
例如,要配置计数器在ETR信号的每2个上升沿时向上计数一次,需使用下列步骤:1.本例中不需要滤波器,配置TIM1_ETR寄存器的ETF[3:0]=00002.设置预分频器,配置TIM1_ETR寄存器的ETPS[1:0]=013.选择ETR的上升沿检测,配置TIM1_ETR寄存器的ETP=04.开启外部时钟模式2,配置TIM1_ETR寄存器中的ECE=15.启动计数器,写TIM1_CR1寄存器的CEN=1计数器在每2个ETR上升沿计数一次。在ETR的上升沿和计数器实际时钟之间的延时取决于在ETRP信号端的重新同步电路。
(图45:STM8外部时钟模式2下的控制电路)
以上资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
评论
微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )
GMT+8, 2024-10-30 08:22 , Processed in 0.021562 second(s), 20 queries .