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.

DRV8908-Q1: how to read device id from drv8908-q1 using spi

Part Number: DRV8908-Q1

Tool/software:

Hello,

I am trying to verify SPI communication with the DRV8908-Q1 by reading the DEVICE_ID register. According to the datasheet, this register is located at address 0x02 and is read-only. I understand that the expected default value is 0x81.

I'm sending the SPI read command as follows (using 8-bit transfers):

UINT8 spi_tx_data[2] = {0x41, 0x00}; // 0x41 = (0x02 << 1) | 1 for read

could you please help me with following

1. is the commant format correct for reading register 0x02;

2. are there are any specific conditions?

thanks

Arun

  • Hello Arun,

    Thank you for your questions.

    The command format you're using is correct. The upper 7 bits for the register address and the LSB is set to 1 for read. However please note that the DRV8908-Q1 follows a two-frame read protocol. This means the data returned in the first frame isn't valid. The actual register data is returned in the second SPI frame.

    To read the device, first send {0x41,0x00} to initiate the read, and follow with {0x00,0x00} to receive the response. This is where you should expect to see the default value 0x81.

    Best regards,

    Ahyiyah