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.

DRV8305: SPI interface not working

Part Number: DRV8305

Hi, 

I have a DRV8305NPHPR connected over SPI to a STM32F405RGT6 as is shown in this schematic:

My board is powered  with PVDD= 12v.  I have made some voltage checkings  [ VREG =3.3V,  PRGD = 3.3V, VDRAIN = 12V, GND = 0v, ,,,,,]

and everything seems to be OK, as expected.  Then to check if my DRV it alive i decided to check the SPI communications trying to read  Gate

Drive Control register with this code and  SPI configuration as shown in the following images:

Code used:

 

Configuration of SPI:

 

With an oscilloscope I can check that CS, CLK and MOSI are arriving to DRV8305 as shown in the next creen captures (CS,CLK, MOSI) :

                                         

Unfortunately the pin corresponding to MISO does not show any data, the line remains at zero value. Not sure what can be wrong.

Could anyone suggest what can be happening and how to solve it?

Thanks in advance for your help Slight smile

Best regards

Layout: PCB.pdf

Schematic: 4341.Schematic.pdf

  • Hi Jorge,

    Thank you for your question! 

    In your schematic the MISO (Master Input, Slave Output) pin is connected to the SDI (Serial Data Input) pin of the DRV, and the MOSI (Master Output, Slave Input) pin is connected to the SDO (Serial Data Out) pin of the DRV. These need to be switched, since you want the Master Output going to the Serial Data Input of the slave device (MOSI connected to SDI) and you want the Master Input connected to the Serial Data out of the slave device output (MISO connected to SDO). 

     

    Regards,

    Anthony

  • I had it right under my nose and when probing with the osciloscope and I wasn't seeing it.

    I have been told that an alternative way to check if the DRV8305 is "alive" without having access to SPI interface is to power it with PVDD ≤4.5v and check if nFault is it pooled down.  Do you think that this assertion is correct?

    Any way thanks again for your quick and effective support Slight smile

    Best regards
    Jorge

  • Hi Jorge,

    Glad I could help!

    One easy way to check if the device is powered up is to check the AVDD and DVDD pins since these pins are connected to the internal 5V and 3.3V LDOs which power a lot of the internal circuitry. If the internal circuitry is not powering up properly than the voltage at these pins would likely not be what you would expect. This may be a simpler method than trying to trigger a fault on the fault pin by creating a PVDD under voltage condition by reducing the PVDD voltage as you described.

    Regards,

    Anthony 

  • Hi Anthony,

    Thank you very much for this clear, concise and useful information. I can sadly confirm that my beloved DRV8305 passed away ... but his short existence in our world was not in vain as help me to learn something useful for my next attempt. Its legacy will remain in this forum for others to come face a similar problem. Slight smile

    Sincerely
    Jorge

  • Hi Jorge,

    I am sorry to hear about such a tragedy, but I am glad to hear that good things came out of it. Slight smile Please don't hesitate to reach out to us if you have any further questions. 

    Regards,

    Anthony