So we got these nice little laser controller boards back from the assembler. (Super low noise, 150 mA drive, > 20 dB below the shot noise, digital control loops for constant laser power and temperature control. It uses the LPC845, a nice little Cortex M0+ that we're using more and more often. It runs at 30 MHz, and has both a single-cycle integer multiply and a microprogrammed integer divide. Maybe its best feature is a giant pin mux, so that you can have any peripheral function anywhere, apart from the ADC and stuff like ~RESET and ISP. That simplifies layout by a lot.
It runs off +5 and ground, so it has a boost converter to power the laser and a buck for the TEC. Both run at 2.15 MHz, synched by a MCU clock output.
The TEC driver runs Class H, with a very simple voltage control loop--gradually ramp down the supply voltage till the amp can't quite supply the requested current, then bump it up by 150 mV. That inner loop runs faster than the temperature controller, so the outer loop tracks out the minor nonlinearity that results.
The buck is an LMR23630, which can supply 3A but drops almost a volt doing it from 5V. Awkward.
Just on spec, I put a 10k resistor from the bootstrap pin of the 23630 to the +13.5V boost output, and the voltage drop improved by almost 200 mV, which is over half a watt of dissipation at 3A. Another one for the tool box.
Cheers
Phil Hobbs