Buck-boost LED driver returning to Vin

I am working on a design involving driving a string of 22 LEDs in series using a constant current. The relatively high voltage required (~66V) has lead me to look into buck-boost LED drivers. I have found the LM3423 from TI to fit my requirements (cheap, available, able to drive an output of at least 70V.)

When looking at the TI reference design for a buck boost converter using the LM3423 the return current from the LEDs appears to flow back into Vin. This doesn't seem like it would work to me as from previous experience all SMPS usually return current to 0V (see https://en.wikipedia.org/wiki/Buck%E2%80%93boost_converter .)

In the image below I have identified the high current path in red. This has been confirmed by looking at the layout for the development kit from TI.

Am I missing something obvious? How is this circuit supposed to work? • If you read the datasheet for the LM3421 it clearly explains the floating-load topology that allows you to use the part in a buck-boost configuration. It's not a conventional buck-boost where the load is tied to ground. Sep 14 '21 at 0:27

To answer my own question: If we simplify the circuit to the most basic case we have the following: During the time where SW1 is closed we are charging up L1 and the LEDs are being powered through C1. When SW1 opens D1 is now in forward conduction and the energy stored in L1 is used to recharge C1 at the same time as powering the LEDs.

The issue I had with my understanding was that when the circuit is operating in a buck configuration how do the LEDs work? The answer to this is that L1 resists the change in current flow. To allow the same current to flow through L1 the voltage at the output of L1 will increase until the same current flows.

It's quite simple to get the equation relating Vin, Vout and the duty cycle of SW1 by using the rule that the average voltage across the inductor over a switching cycle must be 0. $$t_{on} V_{in} + t_{off}\cdot -V_{out} = 0$$ $$t_{on} V_{in} = t_{off}V_{out}$$ $$\frac{V_{out}}{V_{in}} = \frac{t_{on}}{t_{off}}$$

We can rearrange $$D = \frac{t_{on}}{t_{on}+t_{off}}$$ to get $$t_{on} = D(t_{on}+t_{off})$$ and $$1-D = \frac{t_{off}}{t_{on}+t_{off}}$$

Then $$\frac{V_{out}}{V_{in}} = \frac{D(t_{on}+t_{off})}{t_{off}}$$ $$\frac{V_{out}}{V_{in}} = \frac{D}{1-D}$$

This is the classic equation for a buck boost circuit and allows the voltage to go from 0 to infinity.