Re: Bandgap design
ok we're in business. i just simmed out two brokaw bandgaps made out of 2n3904 and 2n3906. (yes you could really make these out of your junk box! but with unmatched transistors it would be hard to trim)
i used bjt's because they're simple and not proprietary. i can't give out the mos models i use (chartered semi) so this is good enough. i'd make my mirrors and my diff amp out of long L CMOS if i was really building this.
the first cell is the generic 1:8 brokaw. using 2n3904, it looks like the magic voltage is about 1.09v and i get 3-4mV of variation from 0-80c. not too bad for 5 cent 3904!!
what is bad is line regulation.. in the second sim, i ramp up vcc 0-5v, then put a big step from 5-3v and back. this causes somewhere around 70mV of droop in my bandgap - awww now my 3mV spec is 73mV over supply and temp. no good!
now i turn this into a regulated bandgap in pdf #4. a simple diff amp (Q13-Q14) monitors the collectors of my bandgap core, and outputs to a pnp pass device (Q15). Usually this guy feeds the base of the bandgap core, but here I make a 2:1 divider. the top of the core is at 2x the bandgap voltage, bases of Q1-Q9 ARE the bandgap voltage, and this guy regulates very nicely.
i added the divider to make sure the top of the core was high enough to not saturate Q10-Q11. If you're using MOS, go ahead and make this voltage 200-500mV above the bandgap for low-voltage operation. it doesn't matter, it just gives Q10 Q11 some headroom to work from.
Next, since this bandgap regulates itself, it needs a startup circuit. The amp is happy to regulate 0v in, 0v out so this bandgap will be prone to not starting up unless you avoid that state. I added R6 to prevent a 0v state. here's now
if the bandgap hasn't started up yet, R6-R4-R3 make a divider from Vcc-GND. Now the voltage at the base of the bandgap core is BELOW the bandgap voltage (but not 0v!!!) - this makes the diff amp mad, and it instantly turns on Q15, powering up the core and bringing the bandgap up. Now R6 has no use, since the voltage at the bottom of R6 is too high to satisfy the V=IR of 500k. It leaks a little, but no big deal since it's 500k.
Take a look at the simulations of this guy. First, the magic voltage goes up a little, so we have to trim R2 a little bit higher. This is OK, we have a divider on the bandgap core which is powered from Q15 so Q15 does all the work. Temp performance is much better now that we have a diff amp with gain of 200 inside the loop (it used to be just a diode-connection with gain of... 1!!) Maximum temp variation is 1.1487v at 0C to 1.1493 over 80C - 0.6mV/0.04%/5ppm which is way too good to be true. (FYI - Sims are perfect, don't ever expect sim-performance from parts made on earth.)
But the big reward is in line regulation. I give this bandgap the same voltage step, and it's rock solid!! With only a diff amp and pass pnp we increase PSRR by a huge amount.
Like I said before, implement EVERYTHING but the bandgap bjt in CMOS, and you will have a very small, very high performance bandgap. This is only an example though - there are many other tricks to add in after you have two or three simple ones working in silicon.
Good luck - and let me know if you have questions!