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.

LP87702-Q1: Cannot set the buck output to 3.3V on USB bus power

Part Number: LP87702-Q1
Other Parts Discussed in Thread: BQ24075, LP87702

I am using the LP87702-Q1 as the primary supply in my design. There is also a BQ24075 for battery management and the output of the BQ is input to the LP. With only battery plugged in, The LP87702 boots fine with default OTP settings (1.8V out on Buck0) and I can configure the LP87702 fine and set the output of both bucks to 3.3V. But as soon as I plug in USB (with battery still connected) or power it only on USB, I can see that the LP87702 resets and Buck0 outputs 1.95V (actually i measured the output and its weirdly 1.95V instead of 1.8V. I get the expected 1.8V on default boot when using only battery). If I then try to set BUCK0_VOUT to 0xFF, the output only goes up to 2.25V only (I read back BUCK0_VOUT to confirm it was infact 0xFF). Also, BUCK1 does not output anything. I am not sure why this is happening. VIN_B0, VIN_B1 and VANA are tied together and are at 4.85V when I plug in USB. 

This is the default register state when USB power is supplied

[0]	unsigned char	0x00 '\x00' (Hex)	0x2000FFC4	
[1]	unsigned char	0xB6 '\xb6' (Hex)	0x2000FFC5	
[2]	unsigned char	0x1B '\x1b' (Hex)	0x2000FFC6	
[3]	unsigned char	0x2C ',' (Hex)	0x2000FFC7	
[4]	unsigned char	0x1B '\x1b' (Hex)	0x2000FFC8	
[5]	unsigned char	0x34 '4' (Hex)	0x2000FFC9	
[6]	unsigned char	0xB1 '\xb1' (Hex)	0x2000FFCA	
[7]	unsigned char	0x7D '}' (Hex)	0x2000FFCB	
[8]	unsigned char	0x5B '[' (Hex)	0x2000FFCC	
[9]	unsigned char	0x32 '2' (Hex)	0x2000FFCD	
[10]	unsigned char	0x23 '#' (Hex)	0x2000FFCE	
[11]	unsigned char	0x14 '\x14' (Hex)	0x2000FFCF	
[12]	unsigned char	0x05 '\x05' (Hex)	0x2000FFD0	
[13]	unsigned char	0x00 '\x00' (Hex)	0x2000FFD1	
[14]	unsigned char	0x00 '\x00' (Hex)	0x2000FFD2	
[15]	unsigned char	0x8B '\x8b' (Hex)	0x2000FFD3	
[16]	unsigned char	0x08 '\x08' (Hex)	0x2000FFD4	
[17]	unsigned char	0xC4 '\xc4' (Hex)	0x2000FFD5	
[18]	unsigned char	0x41 'A' (Hex)	0x2000FFD6	
[19]	unsigned char	0x3F '?' (Hex)	0x2000FFD7	
[20]	unsigned char	0x18 '\x18' (Hex)	0x2000FFD8	
[21]	unsigned char	0x9E '\x9e' (Hex)	0x2000FFD9	
[22]	unsigned char	0x9F '\x9f' (Hex)	0x2000FFDA	
[23]	unsigned char	0x8A '\x8a' (Hex)	0x2000FFDB	
[24]	unsigned char	0xA3 '\xa3' (Hex)	0x2000FFDC	
[25]	unsigned char	0x03 '\x03' (Hex)	0x2000FFDD	
[26]	unsigned char	0xBF '\xbf' (Hex)	0x2000FFDE	
[27]	unsigned char	0x1F '\x1f' (Hex)	0x2000FFDF	
[28]	unsigned char	0xDC '\xdc' (Hex)	0x2000FFE0	
[29]	unsigned char	0x0F '\x0f' (Hex)	0x2000FFE1	
[30]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE2	
[31]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE3	
[32]	unsigned char	0x01 '\x01' (Hex)	0x2000FFE4	
[33]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE5	
[34]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE6	
[35]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE7	
[36]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE8	
[37]	unsigned char	0x09 '\x09' (Hex)	0x2000FFE9	
[38]	unsigned char	0x00 '\x00' (Hex)	0x2000FFEA	
[39]	unsigned char	0x00 '\x00' (Hex)	0x2000FFEB	
[40]	unsigned char	0x01 '\x01' (Hex)	0x2000FFEC	
[41]	unsigned char	0x88 '\x88' (Hex)	0x2000FFED	
[42]	unsigned char	0x01 '\x01' (Hex)	0x2000FFEE	
[43]	unsigned char	0xDD '\xdd' (Hex)	0x2000FFEF	
[44]	unsigned char	0x0D '\x0d' (Hex)	0x2000FFF0	
[45]	unsigned char	0x3F '?' (Hex)	0x2000FFF1	
[46]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF2	
[47]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF3	
[48]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF4	
[49]	unsigned char	0x06 '\x06' (Hex)	0x2000FFF5	
[50]	unsigned char	0x01 '\x01' (Hex)	0x2000FFF6	
[51]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF7	
[52]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF8	
[53]	unsigned char	0x03 '\x03' (Hex)	0x2000FFF9	

Register Settings after I write (which sets BUCK0_VOUT to 2.25V)

[0]	unsigned char	0x00 '\x00' (Hex)	0x2000FFC4	
[1]	unsigned char	0xB6 '\xb6' (Hex)	0x2000FFC5	
[2]	unsigned char	0x19 '\x19' (Hex)	0x2000FFC6	
[3]	unsigned char	0x04 '\x04' (Hex)	0x2000FFC7	
[4]	unsigned char	0x19 '\x19' (Hex)	0x2000FFC8	
[5]	unsigned char	0x04 '\x04' (Hex)	0x2000FFC9	
[6]	unsigned char	0xFF '\xff' (Hex)	0x2000FFCA	
[7]	unsigned char	0xFF '\xff' (Hex)	0x2000FFCB	
[8]	unsigned char	0x58 'X' (Hex)	0x2000FFCC	
[9]	unsigned char	0x32 '2' (Hex)	0x2000FFCD	
[10]	unsigned char	0x23 '#' (Hex)	0x2000FFCE	
[11]	unsigned char	0x14 '\x14' (Hex)	0x2000FFCF	
[12]	unsigned char	0x05 '\x05' (Hex)	0x2000FFD0	
[13]	unsigned char	0x00 '\x00' (Hex)	0x2000FFD1	
[14]	unsigned char	0x00 '\x00' (Hex)	0x2000FFD2	
[15]	unsigned char	0x8B '\x8b' (Hex)	0x2000FFD3	
[16]	unsigned char	0x08 '\x08' (Hex)	0x2000FFD4	
[17]	unsigned char	0xC4 '\xc4' (Hex)	0x2000FFD5	
[18]	unsigned char	0x41 'A' (Hex)	0x2000FFD6	
[19]	unsigned char	0x3F '?' (Hex)	0x2000FFD7	
[20]	unsigned char	0x18 '\x18' (Hex)	0x2000FFD8	
[21]	unsigned char	0xBE '\xbe' (Hex)	0x2000FFD9	
[22]	unsigned char	0x9F '\x9f' (Hex)	0x2000FFDA	
[23]	unsigned char	0x8A '\x8a' (Hex)	0x2000FFDB	
[24]	unsigned char	0xA3 '\xa3' (Hex)	0x2000FFDC	
[25]	unsigned char	0x00 '\x00' (Hex)	0x2000FFDD	
[26]	unsigned char	0xBF '\xbf' (Hex)	0x2000FFDE	
[27]	unsigned char	0x18 '\x18' (Hex)	0x2000FFDF	
[28]	unsigned char	0xDC '\xdc' (Hex)	0x2000FFE0	
[29]	unsigned char	0x0F '\x0f' (Hex)	0x2000FFE1	
[30]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE2	
[31]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE3	
[32]	unsigned char	0x01 '\x01' (Hex)	0x2000FFE4	
[33]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE5	
[34]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE6	
[35]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE7	
[36]	unsigned char	0x00 '\x00' (Hex)	0x2000FFE8	
[37]	unsigned char	0x09 '\x09' (Hex)	0x2000FFE9	
[38]	unsigned char	0x00 '\x00' (Hex)	0x2000FFEA	
[39]	unsigned char	0x00 '\x00' (Hex)	0x2000FFEB	
[40]	unsigned char	0x01 '\x01' (Hex)	0x2000FFEC	
[41]	unsigned char	0x88 '\x88' (Hex)	0x2000FFED	
[42]	unsigned char	0x01 '\x01' (Hex)	0x2000FFEE	
[43]	unsigned char	0xDD '\xdd' (Hex)	0x2000FFEF	
[44]	unsigned char	0x0D '\x0d' (Hex)	0x2000FFF0	
[45]	unsigned char	0x3F '?' (Hex)	0x2000FFF1	
[46]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF2	
[47]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF3	
[48]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF4	
[49]	unsigned char	0x06 '\x06' (Hex)	0x2000FFF5	
[50]	unsigned char	0x01 '\x01' (Hex)	0x2000FFF6	
[51]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF7	
[52]	unsigned char	0x00 '\x00' (Hex)	0x2000FFF8	
[53]	unsigned char	0x03 '\x03' (Hex)	0x2000FFF9	

What am I missing?

  • Hello,

    When running off battery, is the input voltage 3.3V?

    To me it sounds like you are potentially seeing a VANAOVP event when changing to a higher voltage. For LP87702DRHBRQ1 orderable, the default VANA_OVP_SEL value = 1 is for 3.3V input with 4.3 V rising and changing to 5V would cause it to trigger, leading to regulator disable. If regulator is enabling/disabling, it can read as a lower voltage than expected (i.e. if it is 3.3 V output but the on/off cycle is 60% then it will measure 1.95 V with a DC multimeter). You could check if this is happening using an oscilloscope.

  • Hello Kevin,

    Thank you for your response.

    Sorry I didn't mention, but I am using the LP87702D which seems to be the only part available right now for purchase.

    When running on battery, the input is ~3.6V.

    I probed the output of Buck0 with a scope. I did not see it getting enabled and disabled. It was always on. On further investigation, I noticed that I measure 2.25V on the output only when the JTAG is plugged in. The ouput of Buck0 powers DVCC of an MSP432P401R. I think the JTAG is supplying some power to the MSP432 which is causing this issue even though I have it set to not supply power.

    I do see the OVP_INT flag being set in the INT_TOP_1 register. However, according to the technical reference manual, PGOOD_WINDOW is set to 0. Doesn't this mean only undervoltage protection is enabled by default? I tried setting VANA_THRESHOLD to 1 and writing a 0x01 to INT_TOP_1 to clear the OVP_INT flag. But the Buck0 is still at 1.8V even though BUCK0_VOUT is set to 0xFF and OVP_INT is still set. Do I need to take additional steps to recover from this?

    Finally, is it at all possible to run the LP87702D on USB power? How would I have to set it up to do so?

    Thanks!
    Best Regards,

    Anish Pednekar

  • Hi Anish,

    See datasheet explanation about VANA_OVP. Based on that LP87702D disables all the output voltage rails and GPO outputs when VIN voltage is higher than VANA_OVP level. In this LP87702D case it is 4.3V. See Technical Reference Manual for LP87702D from here: http://www.ti.com/lit/ug/snvu593a/snvu593a.pdf

    Also you have noticed that connecting JTAG you see voltage on LP87702D outputs. And as you suspected I suspect too that MSP430 is leaking when there is no voltage present on its inputs.

    Also PGOOD_WINDOW for VANA is different function than VANA_OVP. PGOOD window for VANA only affects PGOOD PG0 and PG1 pin outputs. Also VANA_THRESHOLD affects only PGOOD detection. VANA_OVP is different function and as it is defined to be 3.3 VIN for LP87702D device there is no way to change it for this device spin afterward.

    So nominal VIN for LP87702D is designed to be 3.3V. Or higher than 2.63V and lower than 4.3 to avoid VANA UV/OV protection resetting device.

    For your final question it is not possible to run LP87702D device from higher VIN voltage than 4.3V.

    If you need LP87702x spin for 5V VIN voltage please contact TI sales representative.

  • Hi Anish,

    In your original post your said you have configured BUCK outputs up to 3.3V when BQ24075 is supplying LP87702D. There is the limitation on datasheet for VIN/VOUT difference also. See below. With 3.3V VIN maximum output is either 2.5V or 2.3V depending the required output current.