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.

TPS65381A-Q1: “The device may not be able to respond to MCU SPI communication during a BIST”

Part Number: TPS65381A-Q1

If the device responds to MCU SPI during a BIST, is the readback data trustable or not? Thanks. 

  • Hi Wayne,

     

    It is recommended in the datasheet to not interact with the device via SPI during LBIST.  See section 5.4.7:

    The SPI registers may be unavailable during a BIST, so no SPI reads or writes should be made while the BIST is running.”

     

    There are some points in time during LBIST run that the registers will read and write, however it is recommended not to do this during LBIST. LBIST uses shadow registers and a read or write might be corrupted or have out dated results by these LBIST actions.

  • Thank you Scott.

    Since MCU needs to know if BIST is running or not, so they have to read the LBIST_RUN register to check if it is running or not, so sometimes MCU reads registers during BIST. Do you have a better way to check if BIST is running or not?

  • Hi Scott,

    Could you please help to reply my question below? Thanks. 

    Since MCU needs to know if BIST is running or not, so they have to read the LBIST_RUN register to check if it is running or not, so sometimes MCU reads registers during BIST. Do you have a better way to check if BIST is running or not?

  • Hi Wayne,

    When the automatic BIST run is used (AUTO_BIST_DIS = 0) the BIST run is the first 21ms (+/-5%) of DIAGNOSTIC state so the software code should not use the SPI in the first 22.05 ms of its boot up procedure after NRES pin goes high. The application software should be able to use a timer or be characterized to no use SPI during this time. Similarly, if the software manually runs BIST, it should use a timer and not use the SPI for the next 22.05 ms and then it can use the SPI and double check that the BIST / LBIST run is done.

    So the best is to use a timer or known boot time for the 22.05ms maximum LBIST run time and then double check with the LBIST_RUN bit.