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.

TPS92518HV: How do I make Peak Current Register linear across voltage and current?

Part Number: TPS92518HV
Other Parts Discussed in Thread: TPS92518, , LM3409HV, LM3409

I have an unusual product, in that it drives any number and any kind of LEDs from 18V - 48V (plus cable) and from 150 mA - 1.1 Amps.

The equations supplied by the manual are designed for single use applications. Pick a diode, pick chain length, pick current, pick frequency, plop values into equations and get Rsense, L, and register values. The part will power up the chain and run it consistently forever.

My application needs to support a wide range of output voltages and currents and deal with the fact that the voltage of an LED changes based on (temperature) the current flowing through it.

Efficiency plays directly into calculating TOFF and TOFF has to be correct to get the right frequency and the correct current.

So I hand adjusted the register values in your tool to measure the efficiency of the part to get some idea what I'm up against.

It seems rather convoluted:

Measured converter efficiency near 800 KHz:

Converter efficiency
Measured freq PKTH TOFF I Target V Target Iout Vout Iin Vin Pout Pin Efficiency
809000 18 40 0.1 18 0.102 18.5 0.064 57.62 1.887 3.68768 51.17%
807000 61 35 0.3 18 0.3 17.9 0.128 57.71 5.37 7.38688 72.70%
796000 103 35 0.5 18 0.502 18.32 0.2 57.67 9.19664 11.534 79.74%
792000 143 35 0.7 18 0.697 18.56 0.273 57.64 12.93632 15.73572 82.21%
798000 184 34 0.9 18 0.9 17.95 0.34 57.6 16.155 19.584 82.49%
799000 226 34 1.1 18 1.106 18.12 0.423 57.57 20.04072 24.35211 82.30%
800000 255 34 1.26 18 1.249 18.24 0.482 57.54 22.78176 27.73428 82.14%
811000 23 46 0.1 36 0.103 36.34 0.095 57.53 3.74302 5.46535 68.49%
812000 64 38 0.3 36 0.3 36.53 0.224 56.65 10.959 12.6896 86.36%
808000 105 36 0.5 36 0.502 36.42 0.357 57.57 18.28284 20.55249 88.96%
814000 146 35 0.7 36 0.703 36.02 0.488 57.51 25.32206 28.06488 90.23%
812000 186 34 0.9 36 0.901 36.3 0.628 57.435 32.7063 36.06918 90.68%
815000 226 33 1.1 36 1.1 36.5 0.772 57.35 40.15 44.2742 90.68%
800000 255 34 1.26 36 1.242 35.87 0.859 57.32 44.55054 49.23788 90.48%
796000 26 27 0.1 54 0.103 50.31 0.113 57.7 5.18193 6.5201 79.48%
790000 62 13 0.3 54 0.302 52.96 0.31 57.6 15.99392 17.856 89.57%
797000 101 7 0.5 54 0.497 53.98 0.504 57.525 26.82806 28.9926 92.53%
750000 143 6 0.7 54 0.704 53.73 0.703 57.4 37.82592 40.3522 93.74%
777000 185 5 0.9 54 0.903 53.78 0.9 57.32 48.56334 51.588 94.14%
685000 224 3 1.1 54 1.102 54.1 1.102 57.21 59.6182 63.04542 94.56%
410000 255 3 1.26 54 1.255 54.42 1.258 57.128 68.2971 71.86702 95.03%

You can see that efficiency varies based on both current and voltage.

The question is: how do I calculate TOFF and PKTH to ensure I get the correct frequency and linear PKTH for all cases?

I am planning to calibrate each channel, and I was thinking I'll calibrate TOFF, but from what I can see it looks like I'll be stuck filling in very complex tables of data for each channel with will take a long time.

Can you suggest a method -- that may include calibration -- by which I can calculate TOFF to cause PKTH to be linear across voltage and current?

Thanks for your help. I really appreciate it.

  • Hello Brian,

    Your range is from 1.887W to 68.2971W.  And you want to run at fairly high frequency so the efficiency will be fairly low at low output power.

    Unfortunately, for what you want to do, the TPS92518 regulates peak current  This means when you set a lower peak threshold it will not decrease in a linear fashion.  It can be close if the ripple is very low but in most designs it is not.

    The TPS92518 ripple is constant when the output voltage varies, the off-time is proportional to the LED stack voltage making the peak to peak ripple constant.  It also compensates for changes in Vin because it trips on peak current threshold.  In order to do that the frequency has to change.  If you change toff for different operating conditions this will no longer hold true making the set points much more complicated.  The hysteretic control has a lot of benefits, accurate current regulation (based on inductor tolerance and percent ripple) and linear dimming are sacrifices for the benefits.

    "The question is: how do I calculate TOFF and PKTH to ensure I get the correct frequency and linear PKTH for all cases?"

    If you are using a micro it's possible to measure the average output current and adjust what you need to adjust to get close, sort of like trimming for each operating point.  The other is a look up table.  It's going to be difficult because the TPS92518 was not intended to run at a constant or narrow range frequency.

    "I am planning to calibrate each channel, and I was thinking I'll calibrate TOFF, but from what I can see it looks like I'll be stuck filling in very complex tables of data for each channel with will take a long time."

    Yes, this is true.  The other thing complicating your design is the higher switching frequency and wide output power range making the efficiency a major part of the math plus the limited switching frequency range which the part was not designed for.

    The TPS92518 was not intended to run at a fixed frequency, it was intended to regulate peak current and create an average current regardless of input voltage or output voltage requiring Toff to be constant.

    Regards,

  • Thanks Irwin.

    I didn't quite understand the target frequency parameter. How I thought I should use the part is not how I should actually use the part.

    The target frequency is of secondary importance. I gathered that data at around 800 KHz because I misunderstood the purpose of the target frequency and wanted to ensure that the measurements had as much in common as possible.

    Let me rephrase my question.

    Is there a usage model that will work for me with a linear PKTH using the TPS92518HV? If not, is there a part that will have a linear response to an input Analog Dim signal?

    Assuming I can measure output current (with an external ADC) and voltage (with the TPS92518HV), is there a way I can configure the registers for any situation that gives me a linear and predictable setting for the PHTH register that will yield the desired output current?

    Thanks again for your help.

  • Hello Brian,

    Yes, and it's not all that hard to do. If all of your operating points are where the TPS92518 is running continuous mode that range will be linear with an offset. This is because it is regulating peak current. Picture a triangle wave with a DC offset where the triangle wave is always above zero. TPS92518 regulates the peak, the average is a line through the center of the triangle wave or the DC offset.

    So in continuous mode it will have an average current with 1/2 of the peak to peak current as the offset. If it goes discontinuous it gets more difficult, it is shown in the datasheet or EVM how it behaves. If you leave Toff constant you can calculated the peak to peak ripple, it should be the same for all operating conditions, divide that by two and that's the offset. So if you are trying to keep the ripple at 50 mA and you maximum is 1.2 amp the Peak threshold will be 1.225 amp. Set 255 for that. If you want 1 amp you add 25 mA to it, 1.025 amp, and calculate Peak threshold DAC, it'll be 213. Since you're ripple is low the offset is low. If you set the ripple higher the offset gets bigger.

    You can do this without measuring the output current unless you want to trim for more accuracy at your low current settings. ALso the efficiency won't have an affect on this since it's controlling the LED current.

    Regards,
  • For the last few days I've been running experiments to determine the operating efficiency across voltage, current and frequency. I collected a lot of data and attempted to build an equation that uses the voltage, current and frequency as inputs to calculated the TOFF and PKTH parameters.

    It almost works. I get close, but it's not accurate enough. It especially falls apart at low currents because efficiency falls off dramatically at low currents. Finding equations to fit those curves is difficult at best.

    I still think I'm taking the wrong approach to this.

    The problem is: calculating TOFF is directly related to efficiency and without knowing the efficiency I can't predict the operating frequency. One of the problems we had with the LM3409HV design was that at lower voltages, the operating frequency goes over 1.2 MHz causing the part to run really hot. Because the previous designer designed for the highest power and not for the middle powers, the frequency is a bit over spec.

    I'm trying to think of an approach to this that allows me to calibrate and ensure that the operating frequency is in a reasonable range across all voltages and currents while still maintaining linear response when setting the PKTH register.

    I have considered targeting 500 KHz because that allows me some play in the tolerance of the frequency when I do the calculations, but I really need 720 KHz because that keeps my ripple down to 50 mA which is needed for linearity at the low end and for the way I'm driving the LEDs. When I target 720 KHz, I can get over a MHz, which is way too high.

    Is there a way to set TOFF without knowing the efficiency of the converter? I mean some other way to look at the problem to come at the solution from another angle?

    Or am I over thinking this? Is there some other way you can suggest I solve for TOFF and PKTH?
  • Hello Brian,

    What you're trying to do will be difficult because you're trying to run the part in a way it wasn't really designed for.

    Maybe a different approach where your are running with a constant for off-time and only adjusting it for a few different groups to keep the switching frequency in a range you want. It was intended to have a constant ripple with variable switching frequency, you're operating point makes the switching frequency range very large.

    You could also go with a much larger inductor value to lower the overall switching frequency range.

    Regards,
  • Hello, so you would like keep regulation and keep the frequency the same while changing the output voltage? This is not how the LM3409 works by default, but it can be done if you have the controls in your system. The way I've seen it done is to manipulate both off-timer and peak (IADJ) value when the output voltage changes. If you can calibrate then you should be able to get good control of the current. You can calculate what each needs to be, or set your system up and adjust each until the frequency and average output current are what you want, then record the values and use those values when appropriate. You may run in to some practical limits. If your output loads are set numbers of LEDs and when they will be present is known, your system implementation will be easier - otherwise you will have to read the voltage and set up and algorithm to make the adjustments.

  • Thanks Tim.

    I realized above that I didn't clearly convey my situation mainly because I didn't really understand it myself.

    Let me try to state my goals more clearly:

    1) Keep ripple down to 50 mA across all voltages and currents. (Keep CCM down to 100 mA for linearity).

    2) Keep frequency to 800 KHz or less.

    3) Make Analog Dim (average current) setting linear and predictable with 99% accuracy across voltage output voltage range.

    We are currently using the 3409HV in production. The design has some issues which were caught just before production, so we fixed them as best we could in software.

    We are using a 100 uH inductor with 20K Roff and 470pf Coff which causes the ripple to be high so we can't get linear Analog Dimming down to 100 mA. We solved this by doing piece-wise linear approximation across voltage and current. A table with current and voltage inputs and a Trim value that we feed into a PWM generator which is filtered to drive IADJ pin.

    I'm working on a new design who's specs are still in flux. I'm trying to solve a few of our basic issues while expanding our capabilities a bit.

    At this point I'm open to using any LED driver. I'm considering keeping the LM3409HV because I'm familiar with it and the design just needs a few tweaks. I'm also considering the TPS92815HV because it was recommended as a part that has a linear Analog Dim control.

    I've redone the math for the LM3409HV and according to the math I can use a 330 uH inductor with 24K Roff (470pf Coff) and achieve my goals. I have the parts so I'm going to try it. But I remember back when I tried to solve this a few years back that the inductor has to be bigger in order to support CCM on low voltages and low currents. Simulation shows that the actual frequency of high current, middle voltages is half what the math predicts. I'm still really confused about that. Obviously if the middle voltages aren't hitting the correct frequency then the ripple is going to be too high and I'll have problems staying in CCM at low currents.

    However, this thread was originally created for me to learn how to make the TPS92518HV PKTH register linear across voltage by programming TOFF to the right value. But I got stuck. TOFF is highly dependent on the efficiency of the circuit and even though I tried to derive it, I couldn't get the amount of accuracy I need to make TOFF hit the frequency I expect. Perhaps I need a better way to look at this. Perhaps TOFF isn't so important, since I just need to ensure that I hit CCM at 100 mA across all voltages (10 VDC - 54 VDC).

    I'm just trying to understand the behavior of these parts in my unique situation. Any insights you have would be greatly appreciated.

  • Hi - Firstly I want to ask why you're trying to maintain CMM? (not that it is a bad idea) If you're worried about the dimming remaining linear through CCM/DCM then you can account for that with your uC (as maybe you have already done) If you're worried about flicker, you can increase the output capacitance to smooth out the DCM current. Keeping it continuous will give the best performance, but letting it go DCM has some handles with it also.
  • If the part drops into DCM, Analog Dimming becomes non-linear. So I need to keep the part in CCM down to my minimum current which is 100mA. So max ripple is 100 mA, but to ensure I have some head room I need it to be at least 75 mA although I'm shooting for 50 mA for other reasons.

    I'm trying to remove the output capacitance to help with the inductor increase. We run communications across the LED power. We control PWM DIM frequency to send data to the adapter and the adapter at the end of the wire drains the DC offset during the "SPACE" (Off) time of the PWM output of the LED controller. The adapter finds the falling edge of LED power and then shorts the LED power to ground to send data back to the engine. We only have 50 us to detect the edge, interrupt the MCU, and then send the data. With a big inductor and a capacitor the amount of time it takes to drain the energy out of the inductor and capacitor eats about 25 us or more so the adapter runs out of time. I'm trying to keep the inductor shut off time to 10 us or so.

    Because our application supports a wide range of LEDs, we need to be very accurate with our current setting and that means that 12V 150 mA LEDs need to be in CCM. Unless there's a way to accurately predict how to set DCM Analog Dimming.
  • ...ok, I see what got you here. Interesting. On going non-linear: since the relationship is non-linear in DCM, make your set-point adjustment non-linear the other way to correct the response to make the overall response linear. You can account for the non-linearity in your dimming algorithm. I also worked out the equations in the datasheet - check out section 8.3.8.5.  Would accounting for the non-linearity in your control apporach work for you?

  • I think, because D1 (eqn 20) is related to the circuit efficiency and because efficiency is basically unknown, it is not really possible to predict any behavior with the CPU.

    I think the only way to ensure that I have a linear response is to calculate a set point for the circuit that is always linear from 100 mA to 1.1 Amps and from 10 VDC to 54 VDC.

    I'm finally understanding the LM3409HV behavior and I have it up and running with linear trim according to the spec I stated in my previous paragraph. The secret for me was to lower the operating frequency and increase Toff while maintaining a satisfactory ripple current by raising the inductor size. I'm in the process of testing my configuration. Once I get that working, I'll do the numbers again for the TPS92518HV and see if I can get linear behavior from the PKTH register while setting the TOFF register according to the output voltage.