一、Encoder Interface编码器接口
工作流程:编码器接口可以接受增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲自动控制CNT自增或者自减,从而只是编码器的位置、旋转方向和旋转速度。其实编码器接口就是一个带有方向控制的外部时钟,并通过其控制CNT的值以及符号,就可以表示编码器接口的旋转方向以及旋转速度。只需要每隔一段时间进行对CNT取值、清零,就可以得到瞬时速度及方向
每个高级定时器以及通用计时器都只有一个编码器接口,一个定时器使用了编码器接口,就基本无法使用其他功能,所以本款芯片C8T6最多使用4个编码器接口,但是此外,还可以使用外部中断来接编码器
两个输入引脚借用了输入捕获的通道1和通道2,CH3和CH4不能接编码器
二、正交编码器
想要测量方向,就必须需要两条线进行辅助。当正转时,A相提前B相90度,对应正值;当反转时,B相提前A相90度,对应的是负值。相较于将B相改造为一个方向引脚,正交的优点有精度更高,抗噪声能力更强
三、结合电路图理解执行路线
高级和通用都只有一个编码器接口,低级定时器没有编码器接口。该图中有效部分仅为TI1、TI2,TI1FT1以及TI2FT2,编码器接口。其余的输出控制和输入捕获电路,包括预分频器,CCR等都没有作用
之前一直对PSC使用的72MHz的内部时钟,时基单元初始化设置的计数方向都不会使用,都处于编码器托管的状态,受编码器控制
四、编码器结构的基本结构
仅使用TI1或者TI2计数,会导致精度下降,但是效果差不多
如图,表位毛刺的部分中,TI1发生不正常抖动,代表输入出现噪音,会被编码器自动过滤
在实际应用中,会出现TI1取反的现象
此时如果还是使用正常的方式进行对电平的判断,就会得到错误的结果,应当在使用前就先进行取反