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: Watchdog problem -> ENDRV not enabled/disabled on some boards

Part Number: TPS65381A-Q1
Other Parts Discussed in Thread: TMS570LS1114, , TPS65381-Q1

We have on our design the TMS570LS1114 microcontroller, which triggers the watchdog to the TPS65381-Q1/TPS65381A-Q1 companion chip.

We use the Watchdog triggering over SPI (Q&A watchdog). The problem is, that with the same FW, some boards work fine and some boards not.

We did already the following analysis:

- We made a function with a time stamping of the SPI trigger (in the RAM) from the TMS570LS1114 to the TPS65381-Q1, which shows that also in case of a malfunction, the SPI trigger should be o.k. and in time

- The initialization and the configuration of the TPS65381-Q1 is correct on all boards

- The watchdog is triggered right over SPI, the WDT_FAIL_CNT goes back to 0, means the watchdog is triggered right

- x seconds after the start of the driver, the WDT_FAIL_CNT starts counting. 3 times measured (x1 = 1.8s, x2 = 1.3s, x3 = 1.8s)

- The WDT_STATUS register is read periodically: Before the malfunction, the error flags TOKEN_ERR, SEQ_ERR, TIME_OUT, TOKEN_ERLY are not set. If the malfunction on some boards are reached, the SEQ_ERR flag is set and the other flags TOKEN_ERR, SEQ_ERR, TIME_OUT, TOKEN_ERLY are set in different combinations

What could be the reason for the different behaviour and the malfunction only on some boards?

Any input is welcome.

Best regards

Jürgen Mayr

  • Hello Juergen, thank you for posting your question on the TPS65381A-Q1 in the e2e forum. Your thread has been assigned to the expert within TI, who will reply to your question as soon as possible and attempt to resolve your issue
  • Hi Juergen,

    I don't understand the statement: - x seconds after the start of the driver, the WDT_FAIL_CNT starts counting. 3 times measured (x1 = 1.8s, x2 = 1.3s, x3 = 1.8s)

    I assume you mean the WD_FAIL_CNT is incrementing, due to detected "bad events" by the TPS65381A-Q1 watchdog.  Since you are receiving all types of errors it appears your TMS570 watchdog routine is not staying synchronized to the TPS65381A-Q1 watchdog sequence (WINDOW1 and WINDOW2). 

    Are you sure you have calculated the timing, including inaccuracies for the TMS570 and the TPS65381A-Q1 correctly and are ensuring that all 4 answer bytes arrive before the end of the sequence and that Answer-0 is really in WINDOW 2?

    Once a the TPS65381A-Q1 detects either a good or bad event a new sequence starts immediately.  If the software cannot detect the bad event and re-synchronize it will probably run away.

    Attached is a preliminary spreadsheet to help calculate the timing needed on the MCU for the TPS65381A-Q1 settings used in Window 1 and Window 2.

    TPS65381x-Q1-wd-clock-tolerance-calculation-for-E2E.xlsx

    You can enter the Window 1 and Window 2 settings you use, the MCU tolerance and the targeting times from the MCU to provide Answer-3 to Answer-0  to make sure you are meeting timing that will be good including the timing tolerances of the MCU and the TPS65381A-Q1.

    Best Regards,

    Scott

  • Hi Scott,

    Thank you for your quick answer.

    The three measured times x1, x2 and x3 is the time from the starting of the TMS570LS1114 controller to the point of the detection of the WD_FAIL_CNT incrementing from our driver.

    We have to check your inputs and the Excel list.

    Best regards
    Jürgen
  • Hi Scott,

    In the meantime we did some further tests and made some adaptations in the watchdog trigger timing.
    It seems that we solved our issue.

    Thanks again for your help.

    Best regards
    Jürgen