This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DRV2605L:DRV2605L AUDIO TO Vibe 寄存器问题

Guru**** 2393725 points
Other Parts Discussed in Thread: DRV2605L, DRV2605

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1439375/drv2605l-drv2605l-audio-to-vibe-register-problems

器件型号:DRV2605L
主题中讨论的其他器件: DRV2605

工具与软件:

我将尝试使用 Audio-to-vibe 模式完成波形播放、如  DRV2605L 器件文档的第8.5.8.2.4节所述。

寄存器设置:

将寄存器0x01上的 MODE[2:0]位设置为4

寄存器0x1B 中的 AC_COMP 位设置为1

并且 寄存器0x1D 中的 N_PWM_ANALOG 位设置为1

如文档中所定义。

我正在驱动 ERM 触觉器件。  DRV2605L 会在启动时以大约18KHz 的100µS 0-1VP 信号自动驱动 ERM 、并忽略 INT/TRIG 引脚上的任何额外输入。

即使 INT/TRIG 引脚接地、也会发生这种行为。

DRV2605L 使用内部波形驱动时、可正常工作。

除了与微控制器的 SDC 和 SCL 连接外、在器件上不使用其他输入。

有人可以就此问题向我提供任何指导吗?

感谢您的任何及所有建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cliff,  

    感谢您的咨询。 我们已收到您的问题、并将尽快提供反馈。  

    此致!

    海龙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为可能损坏了设备上的 INT/TRIG 端口、因此我购买了一个新端口、以获得相同的结果进行测试。  如果它是有用的,我发布我的代码如下:

    # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
    # SPDX-License-Identifier: MIT
    
    from board import SCL, SDA
    from busio import I2C
    from adafruit_bus_device.i2c_device import I2CDevice
    from adafruit_register.i2c_struct import UnaryStruct
    
    DEVICE_ADDRESS = 0x5A  # device address of PCA9685 board
    A_DEVICE_REGISTER_1 = 0x01  # DRV2605_REG_MODE[2:0] (8.5.8.2.4)
    A_DEVICE_REGISTER_2 = 0x1B  # DRV2605_REG_CONTROL1 AC coupled input (8.5.8.2.4)
    A_DEVICE_REGISTER_3 = 0x1D  # DRV2605_REG_CONTROL3 N_PWM_ANALOG (8.5.8.2.4)
    
    class DeviceControl:  # pylint: disable-msg=too-few-public-methods
        def __init__(self, i2c):
            self.i2c_device = i2c  # self.i2c_device required by UnaryStruct class
    
        register1 = UnaryStruct(A_DEVICE_REGISTER_1, "<B")  # 8-bit number
        register2 = UnaryStruct(A_DEVICE_REGISTER_2, "<B")  # 8-bit number
        register3 = UnaryStruct(A_DEVICE_REGISTER_3, "<B")  # 8-bit number
    
    # The follow is for I2C communications
    comm_port = I2C(SCL, SDA)
    device = I2CDevice(comm_port, DEVICE_ADDRESS)
    registers = DeviceControl(device)
    
    # set the bits in the device
    registers.register1 = 4
    registers.register2 = 1 
    registers.register3 = 1
    
    
    # display the device values for the bits
    print("register 1: {}; register 2: {}; register 3: {}"
    .format(registers.register1, registers.register2, registers.register3))

    再次非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我明白了。 感谢您提供代码!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、陈海亮、谢谢!

    关于这个问题的简要更新。  参考以下内容、摘录自 DRV2605L 文档:

    8.5.8.2.4使用 Audio-to-Vibe 模式的波形播放
    为了充分利用 audio-to-vibe 功能、请将 DRV2605L 器件连接到线路输出源、如中所示
    图59。 audio-to-vibe 模式下的 IN/TRIG 引脚的满标量程为1.8 VPP。 0.1 μF 电容器是什么
    建议对音频源和 IN/TRIG 引脚进行交流耦合。 对于1.8 VPP 以下的电源
    寄存器0x13中的 ATH_MAX_INPUT 位可以缩小输入范围。
    当寄存器0x01中的 MODE[2:0]位设置为4且当时、器件进入 audio-to-vibe 模式
    寄存器0x1B 中的 AC_COMP 位和寄存器0x1D 中的 N_PWM_ANALOG 位设置为1。 请参阅寄存器
    详细信息、请参阅"映射"部分。

    我发现、只要我将 MODE[2:0]寄存器位设置为"4"、DRV2605就会自动启动 ERM、即使 IN/TRIG 引脚接地也是如此。  对 PWM 或 AC_COILY 寄存器的任何其他更改都不会生效。  在 IN/TRIG 引脚上注入1.8Vp-p 1KHz 信号(当 PWM 和 AC_COMP 寄存器设置为0x01时)无效、不会更改 ERM 的振动频率。

    我怀疑需要启动一些其他切换、将 DRV2605设置为"Listen"(侦听) IN/TRIG 引脚上的音频输入信号、但文档不清楚(至少对我来说)什么是(如果实际上需要这样的设置)。

    再次感谢您对患者的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供更多信息。 我将需要与我们的固件专家交谈、然后提供反馈。 感谢您的耐心。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hailong Chen:感谢您投入宝贵的时间给予大力支持。  我一直在尝试让它工作一段时间、因为此功能是我正在处理的项目的一个组成部分。  再次感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cliff,  

    感谢您通过电子邮件发送文档。  来解决这个问题。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、陈海龙、我从给你们发了我的"示意图"之后、没有听到你们的任何消息。  在与固件团队交谈后、如果您还有其他需要帮助我的事情、请告诉我。