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.

DRV8323: strange SPI output

Part Number: DRV8323

Hi, 

I am using DRV8323 for design. 

When I was trying to read the data in register 0x06h, the output from SDO become different. 

Please see attach: 

ch1: SCLK; ch2: nSCS; ch3: SDI; ch4: SDO

the result is get from reading SDO each 1ms 

Please help to confirm if this is reasonable, shouldn't it be same result?

thank you.

  • Hi user021864,

    Please note the description of a valid frame in section 8.5.1.1 SPI of the datasheet.

    In your image, the SCLK is high when nSCS transitions from high to low and from low to high. SCLK should be low

    Also the data is propagated on the falling edge of SCLK in your image. Data should be propagated on the rising edge.

    Once these are corrected, please consider lowering the pullup resistor to allow for a faster transition on SDO.

  • Hi Rick

    I'm user021864's customer from TECO Electric Taiwan.

    I corrected about SCLK issue and read SDO Default again.

    But I found the SDO Default are not constant value.

    When I read default (Address is 0x06) first, I received the defult value is 01010000011b (Bit 0~10)

    But I read the same address again, the defult value is change to 00100000010b

    It looks like not constant value at SDO from DRV8323

    Please help to confirm if this is reasonable

    Thank You

    Howard Wu
  • Hi Rick

    I'm user021864's customer from TECO Electric Taiwan

    I fixed SCLK issue and read SDO default value again, but I found the value are not constant
    Read at first time is 01010000011b but second time is change to 01000000010b

    Please help to confirm if this is reasonable

    Thanks!

    Howard Wu
  • Hi Rick, 

    Please refer to below attach for the testing result from customer: 

    testing condition: read default of 0x06h ; ch1: SCLK; ch2: nSCS; ch3: SDI; ch4: SDO

    when keep reading default value, there are several different result shown in below:

    1. getting result in 283h 

    2. getting result in 282h

    3. getting result in 7feh: 

    4. getting result in 0h

    Is the problem from reading the value or writing the value? 

    The default setting of DRV8323 register should be recover after each power on, is this correct? if not, how to set the register to default?

    Thanks for your help.

  • Hi Howard,

    Yes, the registers are set to the default after each power on.

    Are the registers being written between the reads?

    Please zoom in on the SCLK signal and look for noise. If the SCLK had an extra pulse, the wrong register could be read.
  • Hi Rick, 

    Read comment we used shown as follow: 

    B0-B10 : 0 

    B11-B14 : 0110 (0x06)

    B15 : 1 

    it seems that there is no issue of noise, from below reading event: 

    1. getting result in 283 : 

    2. getting result in 286: 

    the result of reading is still changing at each reading. 

    May I know what may be the problem? 

    thanks for your help.