So I have this laser frequency locking gizmo that I'm debugging. (It needs a board turn, unfortunately, but it's a pretty cool gizmo--it uses both temperature and current to lock a DWDM laser to an accuracy of 100 Hz or so, and has a high accuracy temperature controller, Peltier driver, and lock acquisition aid.)
Because the (very very expensive) laser's anode is connected to the case, the board runs off a single negative supply. That of course makes it harder to keep logic levels straight in my mind, hence the board turn. :(
The new version is going to have a small AVR on it, which leads to the problem of how to connect the JTAG interface. I could just insist that the board's power supply float, but that's an accident waiting to happen. Sooo, I need to translate 5V CMOS levels from (+5,0) to (0,
-5). This is easy when it's unidirectional--you just use a grounded base transistor of the appropriate polarity, drive the emitter through a resistor, and take the output across a resistor from the collector to the appropriate supply rail. That takes care of the SDI, SDO, and SCLK lines with just 3 parts each, which is OK.
However, the RESET line is bidirectional open drain.
After a few tries with cross-coupled gates, I came up with this:
It needs 13 parts, which isn't horrible but which can probably be improved some--hence this post.
When the JTAG is disconnected, it needs to turn into an ordinary pull-up on the processor reset line, and it needs to be reasonably fast, because I'm hoping to be able to use the DebugWire interface, which relies on toggling RESET like mad. That's why the resistor values are low.
The BCV62s are exhibiting a fair amount of heating--at 25 mW, the output transistors of the mirrors are on the edge of thermal runaway if I don't use the emitter resistors. (If I give up on DebugWire, I can just drop the currents by a factor of 10 and ditch the emitter degeneration.) The mirror ratios are fairly sloppy, due partly to the heating, so I need to use a 1500 ohm load resistor. That will make the transistors saturate, so I had to add Schottky clamps.
They are also a bit on the slow side--about 100 MHz f_T.
The original just had the two dual transistors, three resistors, and a Zener diode. So you see that an initially fairly clean design grew a lot of fuzz due to the poor quality current mirrors.
Any bright ideas?
Thanks
Phil Hobbs