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.

TPS546D24A: TPS546D24AVRFR shuts off after initialization

Part Number: TPS546D24A

Tool/software:

I have circuit using TPS546D24AVRFR and based on the standard workbench design. I am running into issue where TPS546D24A initializes correctly and then shuts off when a load is applied . No sure what might be wrong with the PCB or design 

        

I (1322) TPS546: Initializing the core voltage regulator
I (1322) TPS546: Device ID: 54 49 54 6d 24 41
I (1322) TPS546: Power config-ON_OFF_CONFIG: 18
I (1332) TPS546: Reading MFR info
I (1342) TPS546: MFR_ID: 
I (1342) TPS546: MFR_MODEL: 
I (1342) TPS546: MFR_REVISION: 000 
I (1342) TPS546: Writing new config values
I (1352) TPS546: VOUT_MODE: 97
I (1352) TPS546: ---Writing new config values to TPS546---
I (1362) TPS546: Setting ON_OFF_CONFIG
I (1362) TPS546: Setting FREQUENCY
I (1372) TPS546: Setting VIN_ON: 4.80
I (1372) TPS546: Setting VIN_OFF: 4.50
I (1382) TPS546: Setting VIN_UV_WARN_LIMIT: 5.80
I (1382) TPS546: Setting VIN_OV_FAULT_LIMIT: 6.00
I (1392) TPS546: Setting VIN_OV_FAULT_RESPONSE: B7
I (1392) TPS546: Setting VOUT SCALE: 0.25
I (1402) TPS546: VOUT_COMMAND: 1.20
I (1402) TPS546: VOUT_MAX: 3
I (1412) TPS546: VOUT_OV_FAULT_LIMIT: 1.25
I (1412) TPS546: VOUT_OV_WARN_LIMIT: 1.10
I (1422) TPS546: VOUT_MARGIN_HIGH: 1.10
I (1422) TPS546: VOUT_MARGIN_LOW: 0.90
I (1422) TPS546: VOUT_UV_WARN_LIMIT: 0.90
I (1432) TPS546: VOUT_UV_FAULT_LIMIT: 0.75
I (1432) TPS546: VOUT_MIN: 1
I (1442) TPS546: Setting IOUT
I (1442) TPS546: Setting TEMPERATURE
I (1442) TPS546: OT_WARN_LIMIT: 105
I (1452) TPS546: OT_FAULT_LIMIT: 145
I (1452) TPS546: OT_FAULT_RESPONSE: ff
I (1462) TPS546: Setting TIMING
I (1462) TPS546: TON_DELAY: 0
I (1472) TPS546: TON_RISE: 3
I (1472) TPS546: TON_MAX_FAULT_LIMIT: 0
I (1472) TPS546: TON_MAX_FAULT_RESPONSE: 3b
I (1482) TPS546: TOFF_DELAY: 0
I (1482) TPS546: TOFF_FALL: 0
I (1492) TPS546: Setting PIN_DETECT_OVERRIDE
I (1492) TPS546: Writing MFR ID
I (1492) TPS546: Writing MFR MODEL
I (1502) TPS546: Writing MFR REVISION
I (1502) TPS546: -----------VOLTAGE---------------------
I (1512) TPS546: VIN ON set to: 4.80
I (1512) TPS546: VIN OFF set to: 4.50
I (1522) TPS546: Vout Max set to: 3.00 V
I (1522) TPS546: Vout OV Fault Limit: 1.25 V
I (1532) TPS546: Vout OV Warn Limit: 1.10 V
I (1532) TPS546: Vout Margin HIGH: 1.10 V
I (1542) TPS546: Vout set to: 1.20 V
I (1542) TPS546: Vout Margin LOW: 0.90 V
I (1552) TPS546: Vout UV Warn Limit: 0.90 V
I (1552) TPS546: Vout UV Fault Limit: 0.75 V
I (1562) TPS546: Vout Min set to: 1.00 V
I (1562) TPS546: -----------TIMING---------------------
I (1572) TPS546: TON_DELAY: 0
I (1572) TPS546: TON_RISE: 3
I (1572) TPS546: TON_MAX_FAULT_LIMIT: 0
I (1582) TPS546: TON_MAX_FAULT_RESPONSE: 3b
I (1582) TPS546: TOFF_DELAY: 0
I (1592) TPS546: TOFF_FALL: 0
I (1592) TPS546: --------------------------------------
I (1602) TPS546: COMPENSATION CONFIG
I (1602) TPS546: 13 11 08 19 04

  • Hi Jacob,

    I recommend first checking the supply rails, specifically PVIN, AVIN, and VDD5, to ensure they are functioning properly and above their UVLO thresholds. I noticed you changed the PVIN UVLO threshold to 4.5V. When you turn on the load, there may be enough voltage drop from your 5V supply to the IC pins, potentially causing the voltage to drop below 4.5V. Please measure the voltage at the IC pins. Additionally, it would be interesting to see if changing the VIN_OFF back to 2.75V resolves the issue. Also, please confirm that there is more than 4V at the VDD5 pin.

    Another possibility is that the device might be triggering an Over Temperature (OT) fault. If the PCB isn’t designed for optimal thermal performance, it could have a higher thermal impedance.

    If you can access the STATUS bits, check which fault was triggered. This information will help narrow down the root cause.

    Thank you,
    Tomoya

  •   

    Here are the voltages across the TPS546 pins Nets. The OT fault is not being triggered because the TPS546 shuts off immediately. There is no heat to indicate over temp fault. The status error is " Status: 0x0840 "

     

    I (1411) TPS546: Initializing the core voltage regulator
    I (1411) TPS546: Device ID: 54 49 54 6d 24 41
    I (1421) TPS546: Power config-OPERATION: 00
    I (1421) TPS546: Power config-ON_OFF_CONFIG: 1F
    I (1431) TPS546: Reading MFR info
    I (1431) TPS546: MFR_ID: 00 00 00
    I (1441) TPS546: MFR_MODEL: 00 00 00
    I (1441) TPS546: MFR_REVISION: 00 00 00
    I (1441) TPS546: Writing new config values
    I (1451) TPS546: VOUT_MODE: 97
    I (1451) TPS546: ---Writing new config values to TPS546---
    I (1461) TPS546: Setting PHASE: 00
    I (1461) TPS546: Setting FREQUENCY: 650MHz
    I (1471) TPS546: Setting VIN_ON: 4.80V
    I (1471) TPS546: Setting VIN_OFF: 4.50V
    I (1481) TPS546: Setting VIN_OV_FAULT_LIMIT: 6.50V
    I (1481) TPS546: Setting VIN_OV_FAULT_RESPONSE: B7
    I (1491) TPS546: Setting VOUT SCALE: 0.25
    I (1491) TPS546: Setting VOUT_COMMAND: 1.20V
    I (1501) TPS546: Setting VOUT_MAX: 2.00V
    I (1501) TPS546: Setting VOUT_MIN: 1.00V
    I (1511) TPS546: Setting VOUT_OV_FAULT_LIMIT: 1.25
    I (1511) TPS546: Setting VOUT_OV_WARN_LIMIT: 1.16
    I (1521) TPS546: Setting VOUT_MARGIN_HIGH: 1.10
    I (1521) TPS546: Setting VOUT_MARGIN_LOW: 0.90
    I (1531) TPS546: Setting VOUT_UV_WARN_LIMIT: 0.90
    I (1541) TPS546: Setting VOUT_UV_FAULT_LIMIT: 0.75
    I (1541) TPS546: ----- IOUT
    I (1541) TPS546: Setting IOUT_OC_WARN_LIMIT: 25.00A
    I (1551) TPS546: Setting IOUT_OC_FAULT_LIMIT: 30.00A
    I (1551) TPS546: Setting IOUT_OC_FAULT_RESPONSE: c0
    I (1561) TPS546: ----- TEMPERATURE
    I (1561) TPS546: Setting OT_WARN_LIMIT: 105C
    I (1571) TPS546: Setting OT_FAULT_LIMIT: 145C
    I (1571) TPS546: Setting OT_FAULT_RESPONSE: ff
    I (1581) TPS546: ----- TIMING
    I (1581) TPS546: Setting TON_DELAY: 0ms
    I (1591) TPS546: Setting TON_RISE: 3ms
    I (1591) TPS546: Setting TON_MAX_FAULT_LIMIT: 0ms
    I (1601) TPS546: Setting TON_MAX_FAULT_RESPONSE: 3b
    I (1601) TPS546: Setting TOFF_DELAY: 0ms
    I (1611) TPS546: Setting TOFF_FALL: 0ms
    I (1611) TPS546: Setting PIN_DETECT_OVERRIDE
    I (1621) TPS546: -----------VOLTAGE---------------------
    I (1621) TPS546: read VIN_ON: 4.80V
    I (1631) TPS546: read VIN_OFF: 4.50V
    I (1631) TPS546: read VIN_OV_FAULT_LIMIT: 6.50V
    I (1641) TPS546: read VIN_UV_WARN_LIMIT: 2.50V
    I (1641) TPS546: read VIN_OV_FAULT_RESPONSE: B7
    I (1651) TPS546: read VOUT_MAX: 2.00V
    I (1651) TPS546: read VOUT_OV_FAULT_LIMIT: 1.50V
    I (1661) TPS546: read VOUT_OV_WARN_LIMIT: 1.39V
    I (1661) TPS546: read VOUT_MARGIN_HIGH: 1.32V
    I (1671) TPS546: read VOUT_COMMAND: 1.20V
    I (1671) TPS546: read VOUT_MARGIN_LOW: 1.08V
    I (1681) TPS546: read VOUT_UV_WARN_LIMIT: 1.08V
    I (1681) TPS546: read VOUT_UV_FAULT_LIMIT: 0.90V
    I (1691) TPS546: read VOUT_MIN: 1.00 V
    I (1691) TPS546: read STATUS_WORD: 0842
    I (1691) TPS546: -----------VOLTAGE/CURRENT---------------------
    I (1701) TPS546: read READ_VIN: 4.94V
    I (1711) TPS546: read READ_IOUT: -0.29A
    I (1711) TPS546: read READ_VOUT: 0.02V
    I (1711) TPS546: -----------TIMING---------------------
    I (1721) TPS546: read TON_DELAY: 0ms
    I (1731) TPS546: read TON_RISE: 3ms
    I (1731) TPS546: read TON_MAX_FAULT_LIMIT: 0ms
    I (1731) TPS546: read TON_MAX_FAULT_RESPONSE: 3b
    I (1741) TPS546: read TOFF_DELAY: 0ms
    I (1741) TPS546: read TOFF_FALL: 0ms
    I (1751) TPS546: ---------CONFIG--------------------
    I (1751) TPS546: read PHASE: 00
    I (1761) TPS546: read STACK_CONFIG: 0000
    I (1761) TPS546: read SYNC_CONFIG: f0
    I (1771) TPS546: read INTERLEAVE: 0020
    I (1771) TPS546: read CAPABILITY: d0
    I (1771) TPS546: ---------OPERATION------------------
    I (1781) TPS546: read OPERATION: 00
    I (1791) TPS546: read ON_OFF_CONFIG: 1f
    I (1791) TPS546: read COMPENSATION CONFIG
    I (1791) TPS546: 13 11 08 19 04
    I (1801) TPS546: Clearing faults
    I (1801) TPS546: read STATUS_WORD: 0840
    I (1811) vcore.c: Set ASIC voltage = 1.150V
    I (1811) TPS546: Vout changed to 1.15 V
    
    I (2321) SystemModule: Existing overheat_mode value: 0
    I (2321) display: Install panel IO
    I (2321) display: Install SSD1306 panel driver
    I (2321) display: Initialize LVGL
    I (2321) LVGL: Starting LVGL task
    I (2481) SystemModule: OLED init success!
    I (2481) input: Install button driver
    I (2481) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:3 
    I (2501) power_management: Starting
    
    I (2631) http_server: Partition size: total: 2884241, used: 837336
    I (2631) http_server: Starting HTTP Server
    I (2641) example_dns_redirect_server: Socket created
    I (2641) example_dns_redirect_server: Socket bound, port 53
    I (2641) example_dns_redirect_server: Waiting for data
    
    I (3011) power_management: setting new vcore voltage to 1150mV
    I (3011) vcore.c: Set ASIC voltage = 1.150V
    I (3061) TPS546: Vout changed to 1.15 V
    
    I (4561) wifi:ap channel adjust o:1,1 n:2,1
    I (4561) wifi:new:<2,1>, old:<1,1>, ap:<2,1>, sta:<2,1>, prof:1, snd_ch_cfg:0x0
    I (4561) wifi:state: init -> auth (0xb0)
    I (4581) wifi:state: auth -> assoc (0x0)
    I (4601) wifi:state: assoc -> run (0x10)
    I (4631) wifi:<ba-add>idx:0 (ifx:0, ac:15:d2:a3:dc:f3), tid:5, ssn:0, winSize:64
    I (4751) wifi:connected with TestWifi24, aid = 6, channel 2, 40U, bssid = ac:15:d2:a3:dc:f3
    I (4751) wifi:security: WPA2-PSK, phy: bgn, rssi: -53
    I (4761) wifi:pm start, type: 0
    
    I (4761) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
    I (4761) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time: 10000
    I (4921) wifi:AP's beacon interval = 102400 us, DTIM period = 1
    
    E (5061) TPS546: Status: 0x0840
    E (5061) TPS546: The voltage regulator is turned off

  • Hi Jacob,

    The STATUS_WORD reading shows that the converter is disabled. This might be because the EN/UVLO pin is going below its threshold. I can't clearly see the value on the schematic, but please try adjusting the EN divider to see if it helps. For a quick test, you can lower the top resistor's value or short it to check if that fixes the problem.

    Thank you,
    Tomoya

  • Resistor R9 = 11.8 K Ohms  and R8 = 3.74 K Ohms  

    Above are the measurements i have taken so far around TPS546 as per the schematic below 

  • Hi Jacob,

    Thank you for clarifying the value of the EN divider. The resistor divider on EN/UVLO is set to shut off at approximately 4.1V. If the PVIN is dropping out due to a sudden load at the input, it may be triggering the EN/UVLO or the VDD5 UVLO, which is around 4V.

    Could you please capture the oscilloscope waveform of PVIN-PGND at the moment the load is applied? Please take the measurement directly across the input capacitor (C6).

    Thank you,
    Tomoya

  • I (1471) TPS546: ----- IOUT
    I (1471) TPS546: Setting IOUT_OC_WARN_LIMIT: 25.00A
    I (1481) TPS546: Setting IOUT_OC_FAULT_LIMIT: 30.00A
    I (1491) TPS546: Setting IOUT_OC_FAULT_RESPONSE: c0
    
    I (1561) TPS546: -----------VOLTAGE---------------------
    I (1571) TPS546: read VIN_ON: 4.80V
    I (1571) TPS546: read VIN_OFF: 4.50V
    I (1581) TPS546: read VIN_OV_FAULT_LIMIT: 6.50V
    I (1581) TPS546: read VIN_UV_WARN_LIMIT: 2.50V
    I (1591) TPS546: read VIN_OV_FAULT_RESPONSE: B7
    I (1591) TPS546: read VOUT_MAX: 2.00V
    I (1601) TPS546: read VOUT_OV_FAULT_LIMIT: 1.50V
    I (1601) TPS546: read VOUT_OV_WARN_LIMIT: 1.39V
    I (1611) TPS546: read VOUT_MARGIN_HIGH: 1.32V
    I (1611) TPS546: read VOUT_COMMAND: 1.20V
    I (1621) TPS546: read VOUT_MARGIN_LOW: 1.08V
    I (1621) TPS546: read VOUT_UV_WARN_LIMIT: 1.08V
    I (1631) TPS546: read VOUT_UV_FAULT_LIMIT: 0.90V
    I (1631) TPS546: read VOUT_MIN: 1.00 V
    I (1641) TPS546: read STATUS_WORD: 0840
    
    
    
    Board 5 Power TPS546 readings during powerup:
    ---------------------------------------------
    
    I (2991) TPS546: Got Vin: 5.289 V
    I (2991) TPS546: Got Iout: 1.516 A
    I (2991) TPS546: Got Vout: 1.145 V
    I (3001) power_management: setting new vcore voltage to 1150mV
    I (3001) vcore.c: Set ASIC voltage = 1.150V
    I (3041) TPS546: Vout changed to 1.15 V
    .......
    .......
    I (5051) TPS546: Got Vin: 5.266 V
    I (5051) TPS546: Got Iout: 1.420 A
    I (5051) TPS546: Got Vout: 1.145 V
    .......
    .......
    I (15051) TPS546: Got Vin: 5.266 V
    I (15051) TPS546: Got Iout: 2.293 A
    I (15051) TPS546: Got Vout: 1.145 V
    .......
    .......
    I (17051) TPS546: Got Vin: 4.883 V
    I (17051) TPS546: Got Iout: 4.812 A
    I (17051) TPS546: Got Vout: 1.145 V
    .......
    .......
    I (19051) TPS546: Got Vin: 5.102 V
    I (19051) TPS546: Got Iout: 7.984 A
    I (19051) TPS546: Got Vout: 1.145 V
    .......
    .......
    
    ***** After this point , i see High IOUT Current > 12.0A in a very short time but with steady Vout = 1.145V , TRIGGERS a TPS546 Shut off ******
    .......
    .......
    I (21051) TPS546: Got Vin: 5.312 V
    I (21051) TPS546: Got Iout: 3.496 A
    I (21051) TPS546: Got Vout: 0.475 V   <====**** is this Too Low Vout during Powerup < 1.05V ? ******
    ....
    ....
    I (23051) TPS546: Got Vin: 5.359 V
    I (23051) TPS546: Got Iout: -0.292 A
    I (23051) TPS546: Got Vout: 0.021 V
    E (23061) TPS546: Status: 0x0840
    E (23061) TPS546: The voltage regulator is turned off
    

    It seems that the  IOUT ( OUT Current might be triggering the Shut off ) . Not sure how to resolve this 

  • Hi Jacob,

    That may be possible because you have the IOUT_OC_FAULT_REPONSE to 0xC0, which sets the OCF response to shutdown immediately. 
    If that is the case, you can change IOUT_OC_FAULT_REPONSE to 0x00, which makes it ignore the fault and limits the current set by the IOUT_OC_FAULT_LIMIT. 

    Let me know if this resolves the issue. If not, feel free to contact me directly(t-ide@ti.com), and we can set up a call to debug.

    Thank you,
    Tomoya

  • Hi Tomoya,

    i have sent you a latest logs after the change to your email. That change didn't not resolve the issue. Is it possible to do a TPS546 debug to try and resolve the issue .

  • Hi Jacob,

    I received your email, so I will close the thread here.

    Thank you,
    Tomoya