Thursday, December 7, 2023

Fluke 8860A repair

There was a Fluke 8860A benchtop multimeter on eBay, with a lot of red flags. It was not working, there was a tag on it saying that VR2 had been replaced, but it was still not working and the description said that it was unsuccessfully tinkered with to fix. It was also pretty dirty. All these turned out to be a good bargaining reasons and after some discussion with the seller I actually got it well below starting price.


 

Initial inspection did not show any visible damage, other than there were additional stickers discussing the VR2 repair. It was actually one of the regulators for the inguard 15V. 


After some sanity checks I powered it up and the only sign of life was the display showing 4 then changing to 8 and no response whatsoever. First check the power supply, especially with the VR2 issue.

The outguard power was good, but both the -15 and the +15V in-guard rails were nearly zero and the regulators were producing a lot of heat. Let's go for the usual suspects first. The usual suspects are the tantalum capacitors. I started removing the boards, and the +15V came back. But the -15 was still in short even with all boards removed. Looking at the schematics for the backplane, the culprit was easily found, one shorted tantalum. That fixed the -15.

The same troubleshooting method was used for the faulty board, I checked all tantalums with my Fluke 8842A, and high resolution resistance measurement quickly identified the other shorted cap.

Those were fixed, the power was OK, but still no operation. Since the display and the front panel are handled by the out-guard controller, I concentrated on that.

The CPU is an Intel 8039 microcontroller with external ROM and an Intel 8243 port expander. A quick check with the scope showed activity on the bus, there was no obvious stuck lines or shorts, the 74ls373 latch was working. Based on this I began to suspect software error, either because of bad ROM or some other problem with the memory selection. There is a ROM on the controller board, but there are additional ROMs on option cards, such as the GPIB board or the calculator board. There are some ID lines which are read by the CPU via the port expander and this way it knows which options are present. Then there are additional lines to activate the appropriate chip select line. The 8039 has a quite crazy memory banking architecture, to further complicate matters.

One interesting thing to note was that if I removed the GPIB board, then I got a different garbled screen, indicating that whatever was running in the controller, it was different. Since the GPIB board is optional, if everything is working then there should be no difference. So this clearly indicated that the software was bad, possible running partly from the optional ROM.

Now this could still be caused by a bad ROM on the controller as those ICs are known to be prone of bit-rot. But it could also be some problem with the chip selection, which is mostly done by lines from the port expander.

A logic analyzer would have helped, but I do not have one. So I chose an other path. I read the content of the ROM. Using a simple adapter, it could be read as a 2732 EPROM. I was trying to get a known good ROM image, but apparently nobody had it and it was nowhere to find on the net. I tried eevblog forums, ko4bb's site, Fluke mailing list and other places.

The ROM dump did not have any obvious problems, like stuck data bit (this was already verified with a scope) or stuck address bit. But I could not be sure of random errors. So what I did was to load the image into Ghidra and disassemble it. While Ghidra has some problems with the 8039 memory bank selection, I was still able to verify with a large certainty, that the ROM is ok. So I had to look elsewhere for the problem. The controller is quite simple, so basically there was nothing much left than the CPU and the port expander.

I figured that the CPU is more likely to be be ok, so I looked at the expander. It does quite a lot of


things including providing the chip select and additional address lines to the ROM. So a misbehaving expander could very well result in symptoms like this unit had. I was not absolutely sure, so initially I was contemplating to prepare an EPROM with special code to exercise the ports and check with an oscilloscope. But I decided to simply replace the expander, as is readily available on eBay, from reputable sellers for only a couple of dollars. I removed the old one, soldered in a socket just in case and plugged in the new port expander.


 

Indeed this was the problem, the 8860A sprung to life and a quick check had shown that all modes were working and the measurements were good. I did upload the ROM image to KO4BB's site, to help others.

So bit of a debugging, thinking and some luck resulted in a nice vintage 5.5 digit Fluke benchtop meter. Which I don't really need, but hey, one can never have enough multimeter, right?