Hello everybody.
A while ago I bought a badly beaten Keithley 199 from Israel. I found it hilarious that I used hammer to fix a precision instrument, but none of the internals were broken and after a good hammering it powered on and all of the functions worked. In addition it seemed that it is within spec as far as I could test it (<0.09%).
It did have one problem, and that was that it displayed UNCAL when powered up and refused to save any settings when powered off. I thougth to myself: just a broken E2PROM - order a new one a I have a fine instrument (i did check the usual suspects before: supply rails voltage, noise, signals on PROM). Well, it turns out that replacing Xicor X2816C doesn't help - it still didn't save any settings (in addition beeing completely uncalibrated with empty PROM). So I put the old one back inside and used the instrument as is. It was slightly annoying, but for observing small current changes in microcontrollers it was perfect. And you can read the display from the next building :-D
Still it bothered me and as I had some free time, I hooked up signal analyser and tried to figure out what is its problem. Turns out that data and address lines are pushing data around and that timings on OE, WR and CE required for writing to PROM look within spec.
The only possibly weird thing is signal from PAL address decoder to CE - see attachment, all other signals are nice squares when using oscilloscope.
When saving settings (GPIB address, line frequency and MUX) there isn't a lot of data to push to PROM, but my OpenBench logic sniffer makes it hard to look at it as Keithley is writing a byte every 100ms. The first four bytes are 0x00, 0x0, 0x0, 0x01, I doubt that there are many more (write cycle finishes in less than a second).
Does anybody have any ideas? Am I looking at completely wrong place?