The problem so far

This has to be my biggest repair attempt to date, from the moment I opened it's lid it was apparent that no clear cut solution like swapping dried out PSU caps was gonna get this old guy back in order.

The symptons are simple enough, the multimeter reads 0.00000 Volts regardless of what you plug at it's input or what type of measurement you perform, everything else behaves properly though: Display, firmware version at boot up, switches, etc. This points away from microprocessors, memory, peripherals, etc and suggests the A/D converter  might be at fault, thankfully though the owners manual is a gem from the past, the first 79 pages explain how to operate the machine, the following 236 explain how to repair it, you would never dream of such attention to detail nowadays, in fact if you are reading this looking for ways to repair your's I'd advise you to go look at the owners manual instead, you'll find most of what you need there, I will give advice on a couple of matters that you might find helpful though so consider rereading this once you've gone over the manual.

Not only the manual is prepared to thoroughly assist you in your troubleshooting but the machine is too, many test-points are generously layed out in all PCBs, a short-lived technique known as "Signature Analysis" is employed to troubleshoot digital circuits and most importantly a "Self Test" button in the front tells the microprocessor (μP from now on) to test various functionalities in your machine so that you can start troubleshootind, mine gave error at test 7 which does indeed suggests somethings wrong with the A/D converter.



Theory of Operation

Before following with the troubleshooting attempts let's first summarize the principles of operation for this device. The basic concept behind it's ADC is the "Multi-slope II" technique, to understand it let's build up from the more ubiqutous "Dual slope" technique. This technique pictured on [Fig. 1] measures an input DC voltage by first charging an integrator cap for a fixed amount of time labelled integration in [Fig. 2] this process is what we call "runup", after that time has passed the μP starts counting again clock cycles and switches the input to a "Slope Generator" a precise current source that discharges the charge built up in the integrator cap at a known fixed rate thus dropping the voltage on the cap, finally a "Zero Crossing Comparator" signals the μP when the voltage has reached zero and it stops counting, this is what we call "rundown". 

One can understand the operating principle by looking at [Fig. 2], we are essentially comparing our known charging rate against the input charging rate. Another way to look at it is from the perspective of elementary school math, the problem is pythagorean in nature: "knowing the length of the bases and the slope for the right most triangle find the slope for the left most triangle".

                                                                               Fig. 1: Dual slope. Block diagram

                                                                   Fig. 2: Dual slope. Voltage over time at the integrator cap

This technique is no doubt smart since it makes use of the timing precision in digital electronics that is now ubiqutous everywhere, employing also a precise current source it is able to perform highly accurate measurements, however one can quickly see some problems appear: Say that we want to perform a higher voltage measurement, now the runup slope will be higher, the voltage at the integrator after runup will be higher too and thus we'll take longer to discharge it. Ideally we would like to measure at higher frequencies and not an ideal DC voltage. A few things can be done to improve this.

A first implementation would be to speed up during rundown, initially a higher current source could discharge the integrator to near zero, then we'd switch to a lower current source which would land it softly at zero to allow for a precise comparison. This is the basics for "Multi-Slope I" (pictured below).

                                                  Fig. 3:  Dual slope and "Multi-Slope I" comparator

This is already an improvement but the HP 3456A can do an even better job. To achieve a fast and precise result the Multi-Slope II employs up to 4 different current sources or "slopes" to calculate each of the last 4 significant digits on the measurement [Fig. 4]. Each slope (a decade smaller than the last) will be employed by the μP to steer the integrator voltage towards zero in successive approximations of higher precision at the cost of longer times. 

For instance, say that the input voltage was positive: To calculate the most significant of the 4 digits the μP first connects the integrator Cap to a big negative current source with slope -S4, this slope will quickly discharge the cap and reach a zero crossing, quickly but at a cost of low precision. After this slope overshoots zero for a fixed amount of time a different current source one decade slower +S3 will be connected to the cap to steer it towards zero once again, this will again reach zero and overshoot but the time it took to do so will give the μP information about the next least significant digit. This process is repeated for -S2 and +S1 until the last zero crossing. This way the ADC will quickly reach a measurement and calculate each digit throughout the measurement.

                                              Fig. 4: Rundown technique for the HP 3456A, the "Multi-Slope II"

Now, while we referred initially to 4 slopes it would be more accurate to refer to 4 pairs of positive and negative slopes, depending on whether the voltage was positive or negative the μP will need to employ a negative or positive slope respectively to steer towards zero, [Fig. 5] shows the case for either 10.00V or -10.00V where the first slope S4 has to be used in it's positive or negative form to reach zero.

                                                          Fig. 5: Multi-Slope II rundown for 10.00V and -10.00V

The HP 3456A ADC still has a final trick up it's sleeve though, you might've noticed only the rundown slopes are pictured in [Fig. 4], this is because the runup slopes can get complicated. In it's fastest mode (0.01 Power Line Cycles of integration time) the runup slopes looks just like the Dual-Slope or Multi-Slope I, however if one wanted to sacrifice speed (0.1 PLC and above) for resolution and uncork more digits a some of the most significant digits could be calculated during runup leaving the remaining 4 to be computed during rundown.

This is achieved by steering the integrator cap voltage towards zero with either +S4 and -S4 while the input voltage is still charging the capacitor, the reason might seem strange at first, I know it was to me, however I'm going to try to make sense of it here. I found it very helpful to compare how the μP will compute the most significant digit for both a high and a low input voltage. 

High input voltage MSD: First the capacitor is allowed to charge normally through the input voltage [Fig. 6], since it is high the voltage shoots up to a high level at a steep slope, now the μP begins steering towards zero by hooking up the -S4 slope generator to the input cap as well as the input voltage, the capacitor discharges but really slowly since the current source is barely over powering the big input voltage. Once a fixed period has passed the μP checks the polarity of the voltage with the comparator (the current source is momentarily disconnected at this time which explains the smaller steps) like in rundown if the polarity has not reverted the μP will hook up again an -S4 slope trying to steer towards zero. Eventually the slope will reach and overshoot zero though (not pictured) and the μP will try to steer towards it again but now by steering "upwards" with an +S4 slope, this, in conjunction with the big input voltage will shoot up the voltage once again arriving at a level close to where the cap was before steering and the process will start all over again. The μP takes count of how many -S4 and +S4 slopes where employed during runup, and one can easily see how a large positive input voltage would tally up to a high number of -S4 and a low number of +S4 slopes. A large negative input voltage will employ many +S4 slopes and only a few -S4. The Most Significant Digit will be inferred from this ratio

Low input voltage MSD: In this case [Fig. 6] the low input voltage will barely charge the capacitor at the beginning and when the first -S4 slope is added to the minuscule charging rate of the input voltage the rate is immediately overpowered by the current source and zero is reached and overshooted at the the first counts. The μP then sees that the polarity at the comparator has inverted and thus it steers towards zero, now with an +S4 slope, again this slope quickly overshoots and at the next evaluation step the μP switches slopes again, this is repeated over and over again oscillating around the zero line however one can see that the small effect of the input voltage charging rate is not completely negated, there is indeed an overall downwards trend to this oscillation and eventually (not pictured) there will come a point where the whole graph has drifted low enough that only one upwards +S4 slope will not be enough to reach zero and an additional subsequent +S4 will have to be employed to reach zero again. This means that at the end the rate of +S4 slopes to -S4 slopes will be slightly skewed towards +S4 but not by much, this like before is how the ADC realizes the MSD corresponds to a really small value (The exact calculation taking place at the firmware is not stated anywhere).

                                              Fig 6. Multi-Slope II runup for higher precision measurements

Troubleshooting log

Now that we have gathered a general feeling for how the ADC operates we may face the troubleshooting, the manual gracefully features a "follow your own adventure" type of guide, it asks you to perform a certain test and then directs you to a different test depending on what the result for that test was, I followed through with the repairs and decided to log what I already tested in the following chart 

[To be continued: Logic Analyzer and Oscilloscope Testing]