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.

DRV2667: Troubleshooting the DRV2667

Part Number: DRV2667

Similar to another user, I am using the Fyber labs DRV2667 breakout board for initial prototyping, and using example 8.3.2.1 in the datasheet. I have confirmed that the I2C communication is performing flawlessly using a logic analyzer, and all packets are being acknowledged by the DRV2667. When I run the full I2C example, I observe 79.4 V at the BST pins (this voltage is consistent whether I set the gain to 25V as in the example or 100V). But the voltage at the output pins is only about about 0.2 Vpp. Where should I look to identify the problem?

  • Hi Brad,

    My colleague will be responding the next week with further information.

    Best Regards
    José Luis Figueroa
    Audio Applications Engineer
  • Hi Brad,

    Have you tried the suggestion from the related post? I mean have you verified that GND connection is not being an issue in this case?
    Regarding the boost voltage, this voltage is set by the external resistor divider on FB network, not by the gain.
    Also, could you share the I2C script you're using? You mention an example, but what would it be? Is it the one on section 8.3.2.1 from data sheet?

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • I have checked the GND and VDD pins on the DRV2667 and they are at 0V and 3.3V respectively, so it does not appear to be an issue with the GND connection.

    I am using the example given in Section 8.3.2.1. The script below is a function in BGScript, and the only change from the example is to line 6, where the gain is set to the maximum.

    procedure play_wave()
      # CONTROL ##########################
      # Disable standby mode
      call hardware_i2c_write(DRV2667,1,2,"\x02\x00")
      # Set gain to 50V
      call hardware_i2c_write(DRV2667,1,2,"\x01\x03")
      # Set sequencer to play waveform ID #1
      call hardware_i2c_write(DRV2667,1,2,"\x03\x01")
      # End of sequence
      call hardware_i2c_write(DRV2667,1,2,"\x04\x00")
    
      # HEADER ###################
      # Set memory to page -1
      call hardware_i2c_write(DRV2667,1,2,"\xFF\x01")
      # Header size -1
      call hardware_i2c_write(DRV2667,1,2,"\x00\x05")
      # Start address upper byte, also indicates Mode 3
      call hardware_i2c_write(DRV2667,1,2,"\x01\x80")
      # Start address lower byte
      call hardware_i2c_write(DRV2667,1,2,"\x02\x06")
      # Stop address upper byte
      call hardware_i2c_write(DRV2667,1,2,"\x03\x00")
      # Stop address lower byte
      call hardware_i2c_write(DRV2667,1,2,"\x04\x09")
      # Repeat count, play waveform once
      call hardware_i2c_write(DRV2667,1,2,"\x05\x01")
    
      # DATA ################
      # Amplitude for waveform ID #1, full scale, 50 Vpp at gain = 0
      call hardware_i2c_write(DRV2667,1,2,"\x06\xFF")
      # Frequency for waveform ID #1, 195 Hz
      call hardware_i2c_write(DRV2667,1,2,"\x07\x19")
      # Duration for waveform ID #1, play 5 cycles
      call hardware_i2c_write(DRV2667,1,2,"\x08\x05")
      # Envelope for waveform ID #1, ramp up = no envelope, ramp down = no envelope
      call hardware_i2c_write(DRV2667,1,2,"\x09\x00")
    
      # CONTROL #############
      # Set page register to control space
      call hardware_i2c_write(DRV2667,1,2,"\xFF\x00")
      # Execute waveform sequence (set GO bit)
      call hardware_i2c_write(DRV2667,1,2,"\x02\x01")
    end

  • Actually, the boost converter itself may be enough for my application. Is there a simple way to simply enable and disable the boost converter?
  • Hi Brad,

    Those commands should work for controlling the device, I've verified them on the EVM with an external I2C controller.
    The boost is enabled only during the device playback, if there is no signal going through the device, the boost will be disabled automatically to save power.
    You could try to write a 0x02 into register 0x02 to override the boost and amp enable control.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • That will serve as a good workaround for DC applications. Are there resources to help with troubleshooting the AC output?

  • Hi Brad,

    I think I didn't understand your question. Could you please elaborate? What support do you need?

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators