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.

DRV8301 status register 0 always reads 0xFFFF

Other Parts Discussed in Thread: DRV8301, MSP430F5638

In our design, we have a DRV8301 on the SPI bus (MSP430F5638 UCSI A1).  Had it working fine when we were breadboarding an MSP430 proto board to the DRV8301 Boosterpack board.

My hardware guy is out for a few days, so forgive me if this is a clueless quesion..

When I send the command word 0x8000 (read status register 0), I read twice.. both reads return 0xFFFF.  I'm sure this is bad data.

What could possibly have the DRV returning garbage?  If it were dead I'd expect all zeros as a response (and, in fact, was seeing that when I hadn't turned on the ENABLE line).

All help appreciated!

Ed Averill

  • Hi Ed,

    Is it possible to verify the issue on another board? This might give a clue if damage has occured or we have a setup problem.

    Are you saying it works fine when you bread boarded but is no good on your custom PCB? Can you share a schematic?

    Does the gate driver still function (input versus output)? Some simple first steps to check the functionaility of the IC is to measure the output voltage from the internal regulators (GVDD, AVDD, and DVDD).

  • I'll check the voltage.. the pins on that DRV8301 are tiny and my probe skills are minimal.. I'll give it a shot!

    Thanks for the response!
  • There should be bypass capacitors for each of these regulators that are easier to probe onto.

  • Thanks! I emailed my hardware guy to get the locations. In the meantime I'digging out a second board to see if the DRV is just fried or some other manufacturing issue is responsible.
  • Ok, got the second board up and running and.. I'm seeing something almost kind of reasonable back on reg reads (0x8000 and 0x8800). This doesn't look like real status register data, just like my read command was echoed back to me. Puzzling.. will investigate further.
  • Every register I read is returning zero so far.. is there any register on the DRV that has a non-zero default value so I can make sure I'm really communicating, or do I need to just "bash and read" a register to make sure we're talking?
  • Control Register 1 should return a non zero response.

    Status Register 2 should also return a 1 in the device ID field.

  • Ok, then I'm not getting back what I expect.. I only see 0x8000 and 0x8800, all the data bits in both reads are zero despite the address being correct. No idea why his is happening.. I guess if this were easy, everyone would be doing it..
  • Weird - all of a sudden, I'm getting an 0x0801 back from a status reg 2 read.. I wonder if I'm running the SPI bus at too high a speed?  My init code:

    	retVal = USCI_A_SPI_masterInit(SPI_BASE,
    	        USCI_A_SPI_CLOCKSOURCE_SMCLK,
    	        UCS_getSMCLK(),
    	        12500000 / 8,
    	        USCI_A_SPI_MSB_FIRST,
    	        //USCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT,		// Seems to work for LCD
    	        USCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT,         // Works for DRV board
    	        USCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW
    		);
    

    ..anything obviously wrong there?

    *edit* if I read the SPI multiple times, repeating until the read is non-zero, THEN I see what appears to be completely valid data.  Weird but apparently functional.  I'd really like to know WHY this works, though.

  • Ed,

    I would check the status of those regulations and can you send a scope capture of the SPI signals. It would be good to take a look at the commands you are sending.

    Sharing the schematic may help debug as well.

  • I'm not sure how much of the schematic I can share, my sick HW guy needs to come back and talk to his boss.. I'm just The Contractor Dude. Getting a scope trace of the SPI will also require the HW guy as I don't have a copy of the schematic (ugh) and poing the SPI lines on the MSP430 is beyond my manual dexterity.

    I'll try to pull something together ASAP, but I suspect this won't get dealt with until Monday...

    Thanks for all the help so far, at least SOMETHING is trying to happen!

    Ed Averill