14.3.12 编码器接口模式
选择编码器接口模式的方法是:如果计数器只在TI2的边沿计数,则置TIMx_SMCR寄存器中的
SMS=001 ;如果只在TI1 边沿计数,则置SMS=010;如果计数器同时在TI1 和TI2边沿计数,则
置SMS=011 。
通过设置TIMx_CCER寄存器中的CC1P和CC2P位,可以选择TI1 和TI2极性;如果需要,还可以
对输入滤波器编程。
两个输入TI1 和TI2被用来作为增量编码器的接口。参看表77,假定计数器已经启动(TIMx_CR1
寄存器中的CEN=’1’),计数器由每次在TI1FP1 或TI2FP2上的有效跳变驱动。 TI1FP1 和TI2FP2
是TI1 和TI2在通过输入滤波器和极性控制后的信号;如果没有滤波和变相,则TI1FP1=TI1 ,
TI2FP2=TI2。根据两个输入信号的跳变顺序,产生了计数脉冲和方向信号。依据两个输入信号
的跳变顺序,计数器向上或向下计数,同时硬件对TIMx_CR1 寄存器的DIR位进行相应的设置。
不管计数器是依靠TI1 计数、依靠TI2计数或者同时依靠TI1 和TI2计数。在任一输入端(TI1 或者
TI2)的跳变都会重新计算DIR位。
编码器接口模式基本上相当于使用了一个带有方向选择的外部时钟。这意味着计数器只在0到
TIMx_ARR寄存器的自动装载值之间连续计数(根据方向,或是0到ARR计数,或是ARR到0计
数)。所以在开始计数之前必须配置TIMx_ARR;同样,捕获器、比较器、预分频器、触发输出
特性等仍工作如常。
|