• Resolved

DRV8308: Boot up issue after chip Power-Cycle

Prodigy 110 points

Replies: 18

Views: 357

Part Number: DRV8308

Hello TI team,

I am facing one issue with our Motor-Driver boards that integrates DRV8303 chip. This board is integrated within an Energy Storage System. This design is in production for more than one year now.

Issue: After the DRV chip has been power cycle. It happens quite frequently that DRV8303 driver isn't responsive anymore on SPI bus after boot-up.

To provide some context, our board integrates a MCU and interfaced through SPI bus to the DRV chip. MCU and DRV chip are powered by two different power supplies: PSU_CTRL for MCU and PSU_PWR for DRV chip and for motor DC bus:

  • It turns that this issue occurs on some board but never on some other ones.
  • DRV chip ENABLE pin is always set active by MCU even during the whole power cycle.
  • DRV chip happens to not be responsive in a really repeatable context: The PSU_PWR OFF period shall be above a certain duration but not too long. If OFF period is long enough the DRV chip boot-up properly and is always responsive.

Consecutively to the fact that I was able to repeatably re-create the issue, I instrumented the board to capture PSU_CTRL, PSU_PWR (DRV8308_VM) and DRV8308_VINT (Internal DRV chip core power supply) in order to figure out if this timing behaviour could be the consequence of some internal power supply behavior upon power cycling.

I obtained the following scope capture:

CH1 (Yellow): [Motor 2] PSU_PWR Voltage (DRV_VM)

CH2 (Green): [Motor 2] PSU_CTRL Voltage (3.3 V for MCU)

CH3 (Purple): [Motor 2] DRV8308_VINT Voltage

 

Step #1: PSU_PWR turned OFF

Step #2: First voltage discontinuity appears on DRV8308_VINT

Step #3: Second voltage discontinuity appears on DRV8308_VINT

 

Observation:

  • If I bring back PSU_PWR Voltage (DRV_VM) between Step #2 and Step #3, I will always have the DRV Chip bring-up issue.
  • However, If I bring-up PSU_PWR Voltage (DRV_VM) after Step #3, the chip will always boot-up properly and be responsive on SPI bus.

 

In the field, we don't have the possibility to adjust the power cycle OFF time duration. Therefore, we are unable to operate some systems in the field when this issue occurs.

Do you have any idea of what the rootcause can be and what can be a potential way to mitigate that? I would really appreciate any help with this problem.

 

Many thanks in advance.

  • In reply to Adam Sidelsky:

    Hi Adam,

    Sure, please find the related scope capture below:

    CH1 (Yellow): [Motor 2] VM Voltage
    CH2 (Green): [Motor 2] Enable signal
    CH3 (Purple): [Motor 2] V_INT
    CH4 (Pink): [Motor 1] V_INT

    Step #1: DRV_VM turned OFF

    Step #2: First voltage discontinuity appears on [Motor 2] DRV8308_VINT

    Step #3: Second voltage discontinuity appears on [Motor 2] DRV8308_VINT

    Step #4: Third voltage discontinuity appears on [Motor 2] DRV8308_VINT

    As you suggested, I switched VM back ON when VINT voltage dropped below 300 mV. (Monitored with a DMM) In this case DRV8303 is responsive on the SPI bus after boot-up.

    I noticed that this test doesn't lead to repeatable results as some time VINT voltage drops below 300 mV before step #4 and on next try it will drops below 300 mV after step #4. In this last case only, the DRV8303 (VINT purple CH3 trace) driver will be responsive on the SPI bus.

    Moreover, I leverage this post to add a better DRV chip behaviour description following some additional test I've performed on an actual DRV8308 chip that shows the boot-up failure. It seems that there is a kind of memory behaviour when the chip previous failed to boot-up properly (Non-responsive on SPI bus)

    Observation:

    • If PSU_PWR Voltage (DRV_VM) is brought back between Step #1 and Step #2, the DRV Chip doesn't show start-up issue only if it had previously started OK.
    • If PSU_PWR Voltage (DRV_VM) is brought back between Step #2 and Step #3, the DRV Chip doesn't show start-up issue only if it had previously started OK.
    • If PSU_PWR Voltage (DRV_VM) is brought back between Step #3 and Step #4, the DRV Chip will always shows start-up issue, even if it had previously been brought up OK.
    • However, if PSU_PWR Voltage (DRV_VM) is brought back after Step #4, the chip will always boot-up properly and be responsive on SPI bus whatever the chip was responsive or not on SPI bus before it has been power cycled.

    Hope this can help.

    Regards,

    Guillaume

  • In reply to user6110249:

    Guillaume,

    What you are seeing is the digital core resetting itself and shutting down as the 1.8V regulator starts to decrease. In the cases that there is a startup failure, the Digicore is not getting reset correctly and therefore SPI will not respond on subsequent startups.

    It seems like your shutdown is taking a very long time, maybe almost a whole minute?

    Did you try the parallel resistor as I suggested?

    I would think that the answer here is to simply alter the VINT such that it shuts down much quicker and then the chip should always reset itself correctly.

    Regards,

    -Adam

  • In reply to Adam Sidelsky:

    Hello Adam

    Thanks for providing further detail about chip behavior upon power cycle.

    Indeed, the shutdown seems to take more than one minute in particular in the case when the motor are not running while the Motor-Drive function is power-cycled. This is likely due to a large amount of capacitance on the motor DC-bus.

    I haven't tried yet to integrate a resistor in parallel with VINT. What value do you recommend to start with and which load value to not exceed?

    Regards,

    Guillaume

  • In reply to user6110249:

    Guillaume,

    You can start with a 10k and monitor the time it takes to discharge. We can adjust up or down from here.

    Regards,

    -Adam

  • In reply to Adam Sidelsky:

    Hello Adam,

    Understood, I will be able to perform some further testing beginning of next week. I'll keep you updated with the outcomes.

    Regards,

    Guillaume

  • In reply to user6110249:

    Hello Adam,

    I had the opportunity to perform the test with integrated 10 kΩ resistor in // of the DRV VINT pin. I confirm DRV power cycle issue never occurs.

    V_INT pin then discharge 3x faster than previously (See scope capture below) preventing DRV chip power cycle issues for power cycle OFF duration from 0 to 40 s. This thus seems to be a great corrective update of our hardware!

    Also, as a possible containment action, I noticed that if ENABLE signal is set low during power cycle, the chip always boots up properly (Chip responsive on SPI bus). Does this behavior align with your knowledge of the chip behavior?

    CH1 (Yellow): [Motor 2] VM Voltage
    CH2 (Green): [Motor 2] Enable signal
    CH3 (Purple): [Motor 2] V_INT (10 kΩ resistor in //)
    CH4 (Pink): [Motor 1] V_INT (No 10 kΩ resistor in //)

    Finally, I am curious about what can cause the discrepancy we observe between the 2x DRV8303 of this same board, integrated into identical function and layout. Can this be explained by different DRV8303 chip version?

    Regards,

    Guillaume

  • In reply to user6110249:

    Guillaume,

    Great to hear this fixed the issue. We haven't seen this issue before and we usually don't see VINT held up this high and for this long on other systems. 

    It makes sense to me that toggling ENABLE would help here as this would reset some internal nodes that help us additionally.

    I am not certain of the differences between your two devices but we also haven't reviewed the layout or schematic.

    Regards,

    -Adam

  • In reply to Adam Sidelsky:

    Hello Adam,

    Thank you for your feedback and your great help for this issue investigation. Part of our corrective update will be also to decrease our DC bus capacitance that in order to help VM dropping more quickly in addition of the parallel resistor on VINT.

    Again thank you for your help.

    Regards,

    Guillaume