why use a constant current source
garg29, the CCS design using lm2576 is overly complicated.
the two opamps act as an "error" amplifier and feed the error to the feedback pin of the lm2576.
fortunately, inside that feedback pin there is already an error amplifier.
the voltage drop at the feedback pin should be 1.35v (for the adj. version, and 3.3v/5v/12v/15v for their respective versions). so all you need is to pick a resistor R so that when the desired current goes through it, it will drop 1.35v/3.3v/5v....
let's say that you want 100ma current, and you have a lm2576-adj, the resistor R=1.35v/.1=13ohm, and power lose on it is .135w.
obviously, in your application, you will need to make sure that other specs aren't exceeded.
that topology is basically what you have in most of the LED driver ICs. some of them use step-up converters and others step-down converters (like this one).
Added after 2 minutes:
Fragrance, your design is basically a linear CCS, principlly identical to the first one the original poster tried.
ic2a is the error amplifier, and t1 is the regulator - it is always on -> high power dissipation and low efficiency. the smps is there to maintain a stable rail for the regulator.
Added after 32 minutes:
here is a slightly different example showing how a boost converter can be used to form a constant current source.
lt1070 has a feedback voltage of 1.25v. so to generate 100ma constant current, the resistor needs to be 12.5ohm.
the red trace in the simulation is the current going through the diode, and the green trace is the input voltage. those six diodes drop a total of 18v, plus the 1.25v on R2, the chip boosted the input (4-6v 100hz rectified ac) to a constant 19v dc.
you can use any boost / buck converter for this: th eprinciple is the same. you just need to rearrange the wiring slightly based on topology used.