(A accomplished engineer is one that makes something better without making it more expensive)
and that is exactyl what Agilent is good at ! it didn;t cost them anything extra, they cut corners left and right and come up with a product with unbeatable performance at its pricepoint. You open the box and simply keel over at the staggering number of components in the design... but if you do the pricecalc it turns out it is cheaper to slap in 6 opamps , 6 resistors and six capacitors + a multiplexer under software control , than 6 DAC's....
They optimized the snot out of this thing withouth sacrificing performance.
HP : High Performance , Heavy Product, High Price ... That is when 'HP' was still 'HP' and Bill and Dave were still in charge...
If you really want to see their 'magic' at work : service manual of a 34401 ! Or if you can find it : a 3485.. That beast has been in production since the dinosaur age ... and is still the 'gold standard' when it comes to multimeters. Heck these are the machines that today are still used to 'calibrate' the calibrators ... and its a 30 year old design ! ( mid 80's )
That multislope technique is simply brilliant ( go read the patents on it .. this is why you don't find it on the market as a chip ... it is heavily patented and they don't licence ...).
You don't care about anything 'absolute', not even your reference. The only key factor is long-term stability and low-tempco. Anything else is automatically nulled by the converter itself.
So you end up with a converter that needs no manual adjustment and can easily be replicated. Just assemble it with cheap off the shelf parts. The only key part is the integrator opamp ( low bias current on the inputs and stable ) ,the integrator capacitor ( agood quality foil or silver/mica cap ) and a precision comparator to find '0 charge'.
The system is autozeroing as well. the input stage can switch between 4 'signals' - a positive reference, a negative reference , 0 , and the to be measured signal.
Autonulling algorithm : switch to zero , wait a fixed amount of time , reset counters , switch to + ref , wait a fixed time , switch back to zero wait same fixed time , store residual count value.
the residual count + the count of the fixed time give you the offset in the convertor. done.
Measuring algorithm : zero the integrator , charge with fixed time from reference , switch to input , measure time needed to hit 'zero'.
Take all numbers ( residual count of autozero , charge time and measuring time as well as the 'reference times' stored during calibration ) and apply simple math ..
Calibration parameters are stored as 'numbers'. you don;t care about precision of anything. who cares if my reference voltage is 5.000001 or 4.78634.
I know that , if i apply exactly 5 volts at the input the 'time' for that is x this 'time' is my 'reference' ( i nothing in the machine has been changed since it was last calibrated)
So they store a 'time value' for what is'believed to be the internal '10 volts reference' as well as for the '-10 volts reference. And that's it.
Since it is a balanced system ( charge up , discarge back to zero ) even your crystal is allowed to drift ! the absolute frequency of the crystal doesnt even matter. It's all time ratios. If the crystal ticks a bit slower they charge longer . Charging is a fixed number of ticks.
need more digits ? sample faster in the same time window. Simply jack up the clock and charge count value. A matter of more flipflops and a larger number in the digital comparator that decide 'end of charge' cycle. So it scales beautifully with microscopically added cost...
So calibration is a matter of applying a known reference, storing 2 numbers and the machine can do the rest all by itself. For production and initial alignment this is a tremendous cost saver. you can calibrate the machine on all ranges , all units in under a minute. Fully automatic. Simply store 2 numbers for each possible configuration. They even store a different set of numbers if they switch between front and back terminals ... so contact resistances in relays and switches is even acommodated for. As for the cal setup : you only need a stable reference.. done. so that too is cheap.
The base principle (dualslope) is very old. even the icl7106 uses that ( as does the icl7035 and many other chips found in meters ) . the problem is that dualslope is slow and easuring time is dependent on the to be measured voltage. Multislope speeds that up by injecting known currents ( which are again stored as a 'time-ratio' ). What these current really are in terms of microampere is not important. al it matters is that you know : if i turn on this mosfet : i deduct this much 'time' for every clocktick i leave it 'on' from the count value.
When i hit zero charge ( the comparator toggles ) i know how many 'counts' are in the convertor , how many i 'forced' off and my autozero residual. Apply simple math...
Multislope II runs continuously and attempts to keep charge on the capacitor at 0. the rest is simply counters going up and down and looking at the delta's between current and previous you know where you are... so it is incredibly fast too. ( that's why some of these meters can do 10000 readings a second or more at high resolution with great repeatibility)
It is an amazing idea. Elegant , simple, and brilliant.