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.

DRV8904-Q1: Maximum daisy chaining length and connections

Part Number: DRV8904-Q1

Hi, I'm evaluating specification of daisy chain enabled motor driver for current project.

Our requirement is to run 20 * 22 module matrix of small 12V at 15Hz refresh rate.
We are planning to have the driver on each module just for plug and play installation and handling purpose.

It will be distributed in 4000 * 5300 mm space, so single daisy chain would easily get up to 100m in total length.
(Vmm will be supplied at multiple points in parallel, Vdd supplied separately with LDO from Vmm)

Our concern is the length of the chain and its bandwidth speed. 

  1. Does the driver repeat the shifted out data or just passthrough them?
  2. (200ns * 16bit) * (20 * 22) is about 710Hz, is this correct way of calculating refresh rate?
  3. what happens to the chain if single module fails in the middle?

Is it feasible solution?
I'm open to any other recommendation or solutions

Thank you in advance.

  • SJ,

    DRV8904-Q1 supports up to 63 devices in series per daisy chain connection. 20x22 module matrix needs several daisy chain

    1. Does the driver repeat the shifted out data or just passthrough them?

    Yes.

    2. (200ns * 16bit) * (20 * 22) is about 710Hz, is this correct way of calculating refresh rate?

    DRV8904-Q1 supports up to 63 devices in series per daisy chain connection. According to "Figure 72. Daisy Chain SPI Operation", each command could be longer than 16 bits.

    3. what happens to the chain if single module fails in the middle?

    It depends the failure mode. If the failure keeps same bit length and the failure is just value error, it can shift out and only that single module gets failure. If the failure create more bits, it may cause whole command failure.

  • Dear Wang,

    Thank you for your prompt response.

    Now that reading datasheet with max 63 device in mind I understand how it works.

    So max 63 devices command would be:
    2*hdr_byte + 63*addr_byte + 63*data_byte = 1024 bit 

    It makes sense with reporting feature,

    but do you have other driver which simply just shift out and execute final command on SCS?

    Please let me know if such process is not possible.

    I appreciate your support

  • SJ,

    TI motor SPI command format is similar as DRV8904-Q1.

    If the driver simply just shift out and execute final command, it seems not work. For example: when the 3rd motor driver command pass the 1st motor driver device, what the 1st motor driver should do?

  • Wang5577 said:

    TI motor SPI command format is similar as DRV8904-Q1.

    If the driver simply just shift out and execute final command, it seems not work. For example: when the 3rd motor driver command pass the 1st motor driver device, what the 1st motor driver should do?

    I don't get this.

    In typical simple SPI chain, I might send command for 3 devices. perhaps like (where bold is final command executed):

    Frame 0 1 2
    SCS - - _
    Device 1 SDI D3 D2 D1
    Device 2 SDI  ↳ D3 D2
    Device 3 SDI D3

    Please correct me if I got something wrong.

  • SJ,

    I think we have to add the header bytes which contain information of the number of devices connected in the chain.

  • Okay thank you for your clarification.

    I'm probably working on something very uncommon and TI just don't have such device I can safely use.

    It was great help Wang. I really appreciate it :)