更简单的扩展,工程师教你做I2C编码器
在正常操作期间可以即时写入这些寄存器。
通过将寄存器设置为I2C总线,可以配置几个选项。 使用GCONF寄存器,可以配置多个参数。
在配置中,可以设置编码器正交信号的极性,也可以设置编码器的输出是X1还是X2。
为了读取旋转编码器的运动,有4个32位寄存器:CVAL,CMAX,CMIN和ISTEP。
所有这4个寄存器都可以配置为32位INT或IEEE 754浮点数,这种格式可以在GCONF寄存器中设置。
每当编码器移动一步时,CVAL寄存器的值就会增加或减少ISTEP的值。 旋转方向决定是否从CVAL中添加或减去ISTEP。
CMAX和CMIN用于设置CVAL的最小和最大阈值。 在GCONF寄存器中,有WRAPE位。 该位用于在超过阈值时启用或禁用CVAL的包装功能。
例如,如果我将I2C Encoder V2配置如下:
CVAL = 0
CMAX = 5
CMIN = -5
ISTEP = 1
在编码器的每个旋转步骤中,我将使CVAL增加1。 CVAL可以达到的最大值为5,而最小值为-5。
当CVAL达到值5时,WRAPE设置为1时,在下一个增量CVAL处,它将被包装为-5。
每当编码器旋转一步并且CVAL触摸阈值时,就会产生一个中断,并且可以在寄存器ESTATUS中读取。
蓝色和红色线是编码器旋转且禁用WRAPE时的CVAL值
蓝色和红色线是编码器旋转并启用WRAPE时的CVAL值
编码器按钮
I2C Encoder V2还支持带按钮的旋转编码器。 按下按钮时,在上升沿和下降沿产生中断。
以这种方式,可以检查按下或释放按钮的时间。通过在寄存器DPPERIOD中设置窗口时间,还可以读取快速双按。
当在DPPERIOD窗口内进行双重推动时,会产生中断。如果DPPERIOD为0,则禁用双推功能。
所有上述中断均可在寄存器ESTATUS中读取,也可通过寄存器INTCONFIG禁用。
淡入功能
I2C编码器V2具有自动衰落功能。 可以为旋转编码器上集成的RGB LED或GP引脚的PWM输出启用此功能。
有两个寄存器:
FADERGB:用于设置旋转编码器的RGB LED
FADEGP:用于设置GP引脚
您在这些寄存器中写入的值是衰落斜坡的步进速度,以毫秒为单位。 如果值为0,则禁用淡入淡出功能。 这意味着当写入PWM的新值时,它会立即更新为输出。
当写入PWM值时,开始衰落过程。 根据您设置的PWM值完成衰落过程。 当内部衰减PWM值与PWM值相同时(意味着当衰落完成时),将产生中断。
原理:
图片新闻
技术文库
最新活动更多
-
即日-12.26立即报名>>> 【在线会议】村田用于AR/VR设计开发解决方案
-
1月8日火热报名中>> Allegro助力汽车电气化和底盘解决方案优化在线研讨会
-
1月9日立即预约>>> 【直播】ADI电能计量方案:新一代直流表、EV充电器和S级电能表
-
即日-1.14火热报名中>> OFweek2025中国智造CIO在线峰会
-
即日-1.20限时下载>>> 爱德克(IDEC)设备及工业现场安全解决方案
-
即日-1.24立即参与>>> 【限时免费】安森美:Treo 平台带来出色的精密模拟
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论