在支持QEI的TIMGx实例中,正交编码器接口(QEI)模式提供了一个到正交编码器输出的接口。它对正交编码数据进行解码,以提供关于线性或旋转运动的相对定位和移动的信息。
QEI由两个格雷编码的正交输入信号PHA和PHB以及索引输入信号IDX组成。所有输入信号进入单个计数器的CCP输入端,使得PHA和PHB被映射到CCP0和CCP1,并且IDX被引入作为单独的输入端。错误检测机制可以报告错误转换以避免不适当的信号解码。
带2个信号的QEI
QEI用于对来自光学位置编码器的信号进行解码。光学位置编码器通常输出2个信号(PHA/PHB),其通常用于测量具有旋转轴的物理物品的旋转或线性运动,例如三相电动机。界面提供的测量是增量的,这意味着随着移动的发生,界面提供了捕捉与先前位置的相对变化的能力。
当在QEI模式下操作时,计数器累加增量更新,从初始位置和累加的变化得出当前位置。初始位置可以通过IDX输入的信号(3信号QEI模式)或通过其他软件手段(直接设置初始位置的软件)来确定。捕获和比较寄存器可以用于通过定义捕获条件来存储位置值。
当发生方向改变(DC)时,RIS寄存器中会产生DC中断。
QEI 2信号模式配置
1.为TIMGx_C0(PHA)和TIMGx_C1(PHB)配置PINCMx。
2.设置TIMG。CCCTL_01[0]。COC=1和TIMG。CCCTL_01[1]。对于CCP通道0和1(PHA和PHB)的捕获模式,COC=1。
3.通过在CCPD寄存器中设置相应的位,将CCP配置为每个CC块的输入。例如,如果TIMx通道0是一个输入,则设置CCPD。C0CCP0=0。
4.设置TIMx。LOAD到编码器分辨率,例如4000。
5.在CTRCTL寄存器中,将CAC、CZC和CLC位设置为4h。
6.如有需要,按照第25.2.3.1.1节所述配置输入捕获设置。
7.通过设置EN=1,使计数器开始计数。
带索引输入的QEI
3信号QEI模式类似于具有附加索引输入信号IDX的2信号模式。通常,IDX输入脉冲每旋转一次,可用于重置计数器。它用于以下两种应用程序之一:
•每个运动周期产生一个IDX脉冲。在这种情况下,累积位置表示移动周期的分数。
•在非循环运动的特定位置产生IDX脉冲。
QEI 3-信号模式配置
1.为TIMGx_C0(PHA)、TIMGx_C1(PHB)和TIMGx_IDX(IDX)配置PINCMx。
2.设置TIMG。CCCTL_01[0]。COC=1和TIMG。CCCTL_01[1]。对于CCP通道0和1(PHA和PHB)的捕获模式,COC=1。
3.通过在CCPD寄存器中设置相应的位,将CCP配置为每个CC块的输入。例如,如果TIMx通道0是一个输入,则设置CCPD。C0CCP0=0。
4.设置TIMx。LOAD值到编码器分辨率,例如4000。
5.在CTRCTL寄存器中,将CAC、CZC和CLC位设置为5h。
6.如有需要,按照第25.2.3.1.1节所述配置输入捕获设置。
7.通过设置EN=1,使计数器开始计数。
QEI错误检测
QEI模块可以检测错误的事务或状态错误。产生QEIERR中断,并且计数器或方向信号在错误状态下不改变。
如果TIMCLK周期比PHA或PHB信号的周期慢,则可能发生QEIERR。
霍尔输入模式(仅支持QEI的TIMG)
在支持QEI的TIMGx实例中,三个数字霍尔信号可以输入到CCP通道0(CCP0)、CCP通道输入1(CCP1)和IDX,用于三相霍尔传感器电机应用的位置控制。霍尔信号用于检测电机控制应用中的实时电机位置,并可用于速度计算测量、位置控制或电机失速状态。
霍尔输入模式配置
1.为TIMGx_C0(HALLA)、TIMGx_C1(HALLB)和TIMGx_IDX(HALLC)配置PINCMx。
2.设置TIMG。CCCTL_01[0]。COC=1和TIMG。CCCTL_01[1]。对于CCP通道0和1(HALLA和HALLB)的捕获模式,COC=1。
3.通过在CCPD寄存器中设置相应的位,将CCP配置为每个CC块的输入。例如,如果TIMx通道0是一个输入,则设置CCPD。C0CCP0=0。
4.设置TIMx。LOAD值。
5.设置TIMG。IFCTL_xy[0/1]。ISEL=4h,选择霍尔信号的XOR选项。
6.通过设置EN=1,使计数器开始计数。