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.

DRV8912-Q1: SPI Messaging for Large DRV89xx Chain

Part Number: DRV8912-Q1

Hello,

I have a question about how to structure the SPI message for my large chain of DRV89xx devices.

My solution consists of eight boards.  Each of the eight boards contains six DRV89xx parts.  The parts are organized in this order:  Previous board / SDO on processor -> DRV8912 -> DRV8912 -> DRV8908 -> DRV8912 -> DRV8912 -> DRV8908 -> Next board / SDI on processor.

The devices will be running in half-bridge mode with only the high side switching loads.  The function is simply on/off, no speed control, etc.

I'm digesting the programming information from the data sheet and trying to understand how to create the SPI message data.

Questions:

A) Must I send the entire chain of data if I want to make a change in, say, device 30 in the chain of 48 devices?

B) If I must, then what would you suggest as a 'dummy' message for the other devices in the chain if I want the other devices to remain in their current state?

C) Am I correct in my understanding that the SPI message would take on this format.  Assuming that the 0th device is the one closest to the processor and the nth device is the last device in the chain.

| HDR1 | HDR2 | A0 | A1 | A2 | ... An | D0 | D1 | D2 | Dn |

And, returning to the processor from the nth device would be the data in the following format:

| Sn | Sn-1 | Sn-2 | ... | S0 | HDR1 | HDR2 | Rn | Rn-1 | Rn-2 |...|R0|

D) Does one have to set the PWM on the outputs to 100% if they are simply switching on and off?

E) Does the team have any cautionary advice on this design?  Eg: Is mixing devices in the chain like this acceptable?  (The data sheet seems to indicate that it is.). 

I'd appreciate any feedback on this concept since I'm sending for blank PCBs very soon.

Thank you in advance for your time.

  • Hi Chip,

    I will go through your questions and have a response for you by the end of today.

    Regards,
    Mike

  • Hi Chip,

    Please find my responses inline below.  Let me know if there is anything else we can clarify.

    Regards,
    Mike

    A) Must I send the entire chain of data if I want to make a change in, say, device 30 in the chain of 48 devices?

    Correct.

    B) If I must, then what would you suggest as a 'dummy' message for the other devices in the chain if I want the other devices to remain in their current state?

    A dummy message could be a read command, perhaps a register you'd like to continuously monitor.

    C) Am I correct in my understanding that the SPI message would take on this format. Assuming that the 0th device is the one closest to the processor and the nth device is the last device in the chain.

    | HDR1 | HDR2 | A0 | A1 | A2 | ... An | D0 | D1 | D2 | Dn |

    Correct. All the address byes are shifted out, followed by all the data bytes.

     

    And, returning to the processor from the nth device would be the data in the following format:

    | Sn | Sn-1 | Sn-2 | ... | S0 | HDR1 | HDR2 | Rn | Rn-1 | Rn-2 |...|R0|

    Correct.

    D) Does one have to set the PWM on the outputs to 100% if they are simply switching on and off?

    Correct.

    E) Does the team have any cautionary advice on this design? Eg: Is mixing devices in the chain like this acceptable? (The data sheet seems to indicate that it is.).

    Mixing devices will be fine - the message formatting is the same for devices in the family and will not cause confusion in the chain.

  • Mike,

    Thank you so much for these answers. 

  • Happy to help Chip!