Hello all!
In the design of a low-speed analog pulse receiver, I have come across with the need of some sort of "programmable differential voltage reference" for feeding and setting the threshold (trip) point of a dynamic differential comparator. It's the kind of comparator found in pipeline ADCs, in which both the input signal and the comparation threshold voltage are fed in the form of differential voltages, and whose trip point corresponds to the condition:
Vin(=Vin_plus-Vin_minus) = Vref (=Vref_plus-Vref_minus)
Specifically, I need a circuit able to set two voltages "Vref_plus" and "Vref_minus" with a digitally-programmable difference in the [0,400mV] range, and with the added complication that the common mode of these voltages should be as constant as possible, and equal to the common mode of the signal input, 1.2V (this is because the comparator's offset is heavily dependent on the common-mode mismatch between the signal and threshold reference inputs). I am not designing an ADC, and this is why I need to be able to "program" the threshold (trip) point of the dynamic comparator.
Currently I have devised a solution that uses a current mirror with two copy-branches loaded with diode-connected MOS whose Vds sets the two reference voltages. The copy-side transistors are source-degenerated by parallel MOS resistors in a binary-weighted fashion, and in this way I can I vary the current through the copy-branches and thus the reference voltages. With 4 bits I get 16 levels and can cover the [0,400mV] range. The main problem with this solution is that the voltage range is covered in a highly-nonlinear fashion, and the circuit is too sensitive to temperature and mismatch!
I have done an extensive search in the literature, but so far I haven't found anything useful (of course, the point here is not to use a pair of DACs - I am looking forward to a solution of the same order of complexity as the previously described). I also searched for some kind of "programmable differential bandgap" in the literature, but from what I learned about bandgaps now I guess that such a thing cannot really exist!. I really don't need high precision reference voltages, anything that covers the [0,400mV] differential range in 20-30mV steps with a mostly-constant common-mode is fine.
Well, any ideas/references/clues are welcome. Thanks in advance for any help, and sorry for the long post!
Cheers,
Jorge.