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.

DRV2625 initialisation sequence

Other Parts Discussed in Thread: DRV2625, DRV2625EVM-CT

Hello,

we are unable to communicate with the DRV2525 over I2C from a Nordic NRF51822 SoC. We never get an ACK, despite the SDA and SCL signals on the bus look right on the oscilloscope.

What I suspect is the problem is the initialisation sequence: the DRV2625 datasheet from Dec 2015 reports the following to be the initialisation sequence.



1. After power-up, wait at least 1 ms before the DRV2625 device accepts I 2C commands.

2. Assert the NRST pin (logic high). The NRST pin can be asserted any time during or after the ?? µs wait period.

3. Write the MODE parameter (address 0x01) to value 0x00 to remove the device from standby mode.

4. Run auto-calibration to configure the DRV2625 device for the desired actuator. Alternatively, rewrite the results from a previous calibration.

5. If using the embedded ROM library, write the library selection bit (LIB_SEL)to select a library.


Now, we see 2 problems with that:

  1. The register at address 0x01 does not have a MODE parameter (According to the same datasheet, there is a MODE parameter in register 0x07). This looks like an error somewhere in the datasheet
  2. the fact that the wait period is said to be ??us doesn't look promising either!

My guess is that the initialisation sequence in the datasheet is somehow wrong and, since we follow that as a reference to initialise the IC, something is stopping the I2C from working.

Unfortunately I cannot find any posts about the DRV2625 on this forum, so we are at a loss about where to go from here.

Any advice?

Thanks in advance,

Matteo

  • Hi Matteo,

    Yes, the DRV2625 datasheet needs some improvements. We are close to releasing an updated version of the datasheet. Sorry for the inconvenience.

    The I2C address is 0x5A (7-bit), refer to section 8.6.3.3 in the datasheet. Write 0x00 to 0xB4 to take the part out of standby. Then you can read all the registers by sending 0xB5 (0xB4 with a read bit instead of write bit). Let me know if this works for you.

    Regards,
    Kelly Griffin
    LPAA Application Engineer

  • Hello Kelly,

    thank you for your prompt answer!

    Do you have a timeline for the datasheet release? Also, is it possible to have access to a draft to the new release? We are really close to entering manufacturing (days), so we need to validate our HW design (and we cannot be 100% sure until we see the device working).

    If you cannot give us access to a datasheet draft, could you please at least paste here the new content of the initialisation procedure (section 9.3.1 in the current datasheet)?

    Regarding your suggestion, I just tried that and it does not wake up the device. Writing 0x00 to 0xB4 looks like an incomplete write transaction (0x00 would be the register address, but then there is no "value" byte), is that what we are supposed to do? Register 0x00, according to the datasheet, is not even writable (it is supposed to be a read-only register containing the CHIPID and REV)

    Thank you in advance,

    Matteo

  • I have the same question, how do I initialize this part?  It doesn't look like there was an answer...  It would be nice to have the source code used on the DRV2625EVM-CT board, so I can see the sequence of messages to use.  Is this source code available?

    Thanks,

    Kevin

  • Hi, Kevin:

    here is the DRV2625EVM-CT firmware:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/38/Firmware_5F00_Source.7z