×
模拟电子 > 模拟电路设计 > 详情

I2C编码器V2升级版本——用于连接I2C总线上的多个旋转编码器

发布时间:2020-06-28 发布时间:
|

在第一个版本的I2C编码器之后,也收集了所有建议,制作了这个新的升级版本!大多数传感器都支持RGB编码器,扩展到7bit的寻址和新的形状。

新功能:

  • 它支持标准旋转编码器和RGB编码器
  • 可以通过SMD跳线设置I2C地址的所有7位
  • 尺寸为25x25mm或0.98x0.98in
  • 通过c形孔可以在4个侧面上连接多个板
  • 可以焊接I2C总线上的上拉电阻
  • 3个通用引脚。 (GP引脚)
  • 256字节的内部EEPROM分为2个128字节的存储区
  • 高级配置尊重第一个版本
  • A / B信号的最大频率为150Hz。

细节:

这个新版本由PIC16F18345供电。在第一版上尊重MCU,它有更多的GPIO和EEPROM存储器。该板的新设计支持标准编码器和发光RGB编码器。此外,PC的所有4个侧面都有c形孔,这样就可以通过焊接连接多个板。

还有3个可配置的GPIO,它们与RGB LED具有相同的占位面积。它们被称为GP1 GP2和GP3。但如果您使用的是RGB编码器,则可配置的GPIO仅为2:GP1和GP2。

GPIO配置:

  • PWM:通过这种方式,您可以添加RGB LED
  • 输出:您可以将引脚用作标准数字输出。
  • 模拟:引脚连接到PIC的内部ADC。通过这种方式,您可以添加传感器或电位计
  • 输入:您可以将引脚用作标准数字输入。另外,您还可以在边缘配置中断

I2C地址设置

I2C编码器V2是I2C从器件,可以设置127个不同的地址。所有7位地址都可以通过焊接电路板底部的跳线A0-A6来定制。当跳线打开时,它表示逻辑0.如果跳线短路则表示逻辑1。

I2C编码器V2具有I2C上拉电阻,默认情况下它们不是焊接的。可以焊接两个电阻R1和R2。必须在主机没有这些电阻且必须在链中仅启用一个I2C编码器V2的情况下执行此操作。该电阻的典型值为4.7k。

 

中断配置:

  • INT引脚是漏极开路输出,用于向主机发送中断。
  • 中断为低电平有效,并且有多个可以屏蔽的源。

中断来源:

  • 按下编码器按钮
  • 编码器按钮释放
  • 编码器按钮被双推
  • 顺时针移动编码器
  • 编码器逆时针移动
  • 计数器值达到最大值
  • 计数器值达到最小值
  • 配置为数字输入时,GP引脚发生了变化

I2C寄存器:

这是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值相同时(意味着当衰落完成时),将产生中断。

原理:

 

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
电子工程师须知:有效降低传导辐射干扰的技巧