[产品应用] 正交编码计数的使用

[复制链接]
1094|4
 楼主| szt1993 发表于 2024-10-12 10:48 | 显示全部楼层 |阅读模式
芯源MCU的正交编码计数
ATIM 工作于从模式时具有正交编码计数功能,通过CH1A、CH1B 连接外部的正交编码器,根据输入信号的跳变
顺序,实现计数器自动向上或向下计数。其功能框图如下图所示:
图 正交编码计数功能
1.jpg
CH1A、CH1B 输入信号具有滤波功能,分别由ATIM_FLTR 寄存器的OCM1AFLT1A 和OCM1BFLT1B 位域设置;
可配置相位,分别由ATIM_FLTR 寄存器的CCP1A 和CCP1B 位域控制。
IAFP 和IBFP 是CH1A、CH1B 经过滤波和相位选择后的内部信号名称,用作编码器的输入信号接口,IAFP 和
IBFP 二者的相位关系决定计数方向,同时会影响控制寄存器ATIM_CR 的方向位域DIR。
主从模式控制寄存器ATIM_MSCR 的SMS 位域为0x4、0x5、0x6,分别对应正交编码模式1、模式2、模式3。
正交编码模式1 使用CH1A 的边沿计数;模式2 使用CH1B 的边沿计数;模式3 使用CH1A 和CH1B 的边沿计数。
正交编码的三种模式下计数方向和编码器信号的关系如下表所示:
表 正交编码模式计数方向
2.jpg
注意:
为保证计数方向和速度的正确性,CH1A 和CH1B 的相位差应大于一个TCLK 脉冲宽度;CH1A 或CH1B 的
信号脉冲宽度应当大于两个TCLK 脉冲宽度。

星辰大海不退缩 发表于 2024-10-12 11:18 | 显示全部楼层
CH1A 和CH1B 的相位差应大于一个TCLK 脉冲宽度,这样才能不会有问题
AdaMaYun 发表于 2024-10-13 15:40 | 显示全部楼层
CH1A、CH1B 输入信号具有滤波功能非常实用
小小蚂蚁举千斤 发表于 2024-10-27 19:59 | 显示全部楼层
为保证计数方向和速度的正确性需要设计程序上进行防错
OKAKAKO 发表于 2024-11-13 17:07 | 显示全部楼层
CH1A 和CH1B 的相位差一定要注意间隔
您需要登录后才可以回帖 登录 | 注册

本版积分规则

351

主题

3039

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部