SLDU028A January   2018  – March 2020 TPS65313-Q1

 

  1.   TPS65313-EVM User’s Guide
    1.     Trademarks
    2. TPS65313-EVM Top View With Basic External Connections
    3. TPS65313-EVM Input, Output Voltages, and Load Current Requirements
    4. TPS65313-EVM Jumper Settings
    5. TPS65313-EVM GUI Installing and Opening the GUI
    6. TPS65313-EVM Power-Up and Power-Down Procedure
    7. TPS65313 GUI
      1. 6.1 Device Controls Page
        1. 6.1.1 Re-Initialize USB2ANY Button
        2. 6.1.2 WAKE Button
        3. 6.1.3 Power Off Button
        4. 6.1.4 Device Status Update
        5. 6.1.5 State Transitions
        6. 6.1.6 Enable Q&A Watchdog
        7. 6.1.7 MCU Error Signal Monitor (ESM)
        8. 6.1.8 SPI Status Bits
        9. 6.1.9 Moniter ENDRV and NRES Button
      2. 6.2 Register Map Page
      3. 6.3 EEPROM Programming Page
    8. TPS65313-EVM Typical Plots
      1. 7.1 Efficiency Plots
      2. 7.2 Power-Up Plots
      3. 7.3 Power-Down Plots
      4. 7.4 Ripple Voltage Plots
      5. 7.5 Load Transient Plots
      6. 7.6 Stability Measurements
    9. TPS65313-EVM Schematic Diagram
    10. TPS65313-EVM Part List
    11. 10 PCB Layer Diagram
    12. 11 Description of the Watchdog Algorithm Implemented on EVM
  2.   Revision History

Description of the Watchdog Algorithm Implemented on EVM

This section provides an overview of Q&A functional mode 0 implementation done on the MSP430 MCU on the EVM. To start, follow these steps:

  1. Initialize wait times.
  2. Make sure the value of the MCU answer counter matches the value of the device answer counter.
    If the counter values do not match, the MCU sends answers until a new watchdog window starts and then continues with Step 3.
  3. Read the question, and then wait.
  4. Send Answer3, and then wait.
  5. Send Answer2, and then wait.
  6. Send Answer1, and then wait.
  7. Send Answer0, and then wait.
  8. Repeat Step 3 through Step 7.

The pseudo-code description of the Q&A functional mode 0 algorithm implemented on EVM is as follows:

// Initialize wait times for each answer. These values work for default WDT window settings­ wait_time=[30, 30, 30, 30, 25] mcu_answer_cnt = 3 // wdt_step is the current status of the WDT routine // wdt_step=0: read the question // wdt_step=1: send answer3 // ... // wdt_step=4: send answer0 wdt_step = 0 // Main loop loop:      // Use timer to wait specified amount of time      Wait (wait_time[wdt_step]) ms           // Make sure MCU is synchronized with TPS65313 WDT status      // If not synchronized, send enough commands to force TPS65313 to start a new watchdog window      tps65313_answer_cnt = RD_WDT_STATUS[6:5]      if (mcu_answer_cnt != tps65313_answer_cnt):            Loop (tps65313_answer_cnt+1) times:                 WR_WDT_ANSWER = 0x00           end loop            wdt_step=0            mcu_answer_cnt=3      else:            // Read the question            if wdt_step = 0:                 question = RD_WDT_QUESTION_VALUE                 wdt_step = 1            // Write the answers, calculated by Table 6-10 in device datasheet            else if wdt_step = 1:                 WR_WDT_ANSWER = calculate_answer3(question)                 wdt_step = 2                 mcu_answer_cnt = 2            else if wdt_step = 2:                 WR_WDT_ANSWER = calculate_answer2(question)                 wdt_step = 3                 mcu_answer_cnt = 1            else if wdt_step = 3:                 WR_WDT_ANSWER = calculate_answer1(question)                 wdt_step = 4                 mcu_answer_cnt = 0            else if wdt_step = 4:                 WR_WDT_ANSWER = calculate_answer0(question)                 wdt_step = 0                 mcu_answer_cnt = 3            end if      end if end loop