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.

BQ76952: The previous transaction had not completed

Part Number: BQ76952

when I read volt1,sometimes I get wrong return(0xFFFF00 ),which means the previous transaction had not completed when the present transaction was sent.

I send msg( 0x14FFF0 + delay + 0x15FFE5  + delay + 0x15FFE5)to read volt1, and the delay is about 200us,but I still can get 0xFFFF00 sometimes

  • when I read volt1,sometimes I get wrong return(0xFFFF00 ),which means the previous transaction had not completed when the present transaction was sent.

    I send msg( 0x14FFF0 + delay + 0x15FFE5 + delay + 0x15FFE5)to read volt1, and the delay is about 200us,but I still can get 0xFFFF00 sometimes

  • Hi Tan,

    I assume you are using SPI mode with CRC for this transaction. It is important to do a retry when 0xFFFF00 is observed. For this command the typical delay needed is only 50 us, but the delay needed may vary depending on the system operation at the time the command is executed. 

    Best regards,

    Matt

  • Yes, I use SPI mode with CRC. So you mean, I must check the data every time I read,and retry when I get  0xFFFF00

  • Hi Tan,

    Yes, unfortunately that is the only way to detect if a transaction did not successfully complete in SPI mode. For the I2C, the device will use clock stretching to hold the bus until the transaction is complete, so the host code is simpler.

    Best regards,

    Matt