Tektronix Tekmate troubleshooting - Page 1
Forum section: electronics / repair

author: LazyJack
author_rank: Frequent Contributor
timestamp: April 22, 2017, 09:17:22 pm
content: Interesting fault. I have a Tektronix 2402A Tekmate, which is basically a 286 PC + GPIB board in a case that can be attached to the top of the Tektronix 2430/2440 digital scopes.Now this one seems to have a faulty motherboard. The board is an Ampro A60220 LittelBoard 286. And it does not really seem to do anything. I have removed all boards, and ruled out the PSU (this can be run off 5V, and did run from a bench PSU).I see that the CPU starts executing, as there is activity on the bus, but no beeps, no, screen, nothing. After some investigation I found out the the CPU clock is not good. It should be 16MHz, but sometimes it is 32Mhz (that is the main oscillator) or rapidly changing, or has jitter between the two values. So more or less I have concluded that the whatever is responsible for generating the system clock from the 32MHz is faulty. This is likely to be somewhere in the chipset, as it should be software configurable to run on 16 or 8Mhz, but looks like the first divide by 2 of the 32MHz does not always work.I even tried removing the 32Mhz oscillator and feeding in 16MHz. In this case the clock was sometimes 16, sometimes 8 Mhz seemingly random. So this is not a deterministic fault, and I have no clue how this may happen.I'm aware that I could just swap the motherboard or use any old PC, I'm not interested in that. I take this as a challenge to see if I can fix the board. Anyone familiar with the internals of this motherboard? I have the Ampro and the Tecktronix manual, but those do not go down to details wrt the motherboard internals.Any ideas?

author: David Hess
author_rank: Super Contributor
timestamp: April 23, 2017, 08:15:43 pm
content: How are you measuring the frequency? Could your frequency counter be double counting because of the pulse shape?

author: LazyJack
author_rank: Frequent Contributor
timestamp: April 24, 2017, 12:43:08 pm
content: No. I also looked at the signal with a scope to confirm the double frequency.

author: David Hess
author_rank: Super Contributor
timestamp: April 24, 2017, 02:13:34 pm
content: So the pulse edges which you saw looked clean without any bounce?Did persistence on the oscilloscope show two different clock frequencies?If possible I would capture one of the transitions between the two different clock frequencies to see if there is any glitch there. I think an advanced pulse width trigger could do this easily.As far as other places to look, I would examine the signals from the clock oscillator and see if they are clean.

author: LazyJack
author_rank: Frequent Contributor
timestamp: April 24, 2017, 03:30:03 pm
content: OK, so here is how it should work. The motherboard has a 32 MHz oscillator. Something ( I presume in the support chipset or some other chip (there are a number of GALS on the motherboard, besides larger chipset ICs)) should divide this to create the 16MHz CPU clock. Under software control, it is also possible to divide it further to 8MHz (slow mode) for power consumption.Now this first division is only happening randomly. Sometimes I see 32MHz on the CPU clock, sometimes 16MHz, but for only a short time, and sometimes a rapid change between 16 and 32 MHz. But the waveform looks OK, so no oscillation on the edges or anything.So it looks like that the first divide by 2 is not happening/happening on random. But it is really hard for me to find an fault model for this. Besides I have no information on the schematics of the motherboard, so it is pretty hard to trace out stuff. I fear that the problem is in the motherboard chipset.

author: David Hess
author_rank: Super Contributor
timestamp: April 24, 2017, 05:01:44 pm
content: Without better documentation it will be difficult to track down. I read the manual and like I suspected, there is something to watch out for:To allow for maximum software and hardware flexibility, logic has been included which allows you to shift the CPU or the bus to half-speed mode, under software control. The CPU and bus speed together, or the bus speed alone, can be placed at half-speed. For example, a 12 MHz Little Board/286 can be made to operate at a CPU and bus rate of 6 MHz, or its expansion bus alone can be slowed down.When the CPU is running at full speed and the bus is set for half-speed, the CPU operating frequency automatically shifts to half its normal rate during memory and I/O transactions on he AT expansion bus. When this occurs, the CLK signal on the expansion bus (J9-B20) goes to 1/2 its normal speed.So be careful about exactly what you are measuring. Under certain conditions, the CPU clock will switch between full and half speed as accesses to the ISA expansion bus are made.

author: LazyJack
author_rank: Frequent Contributor
timestamp: April 24, 2017, 06:10:40 pm
content: That is right. But the CPU clock should not be 32MHz in any case. And this is exactly what happens.

author: David Hess
author_rank: Super Contributor
timestamp: April 25, 2017, 12:04:31 am
content: The clock signal at the CLK pin of the 80286 is internally divided by two to produce a 2 phase internal clock so a 16 MHz 80286 has a 32 MHz clock signal applied to its CLK pin.https://en.wikichip.org/w/images/6/68/AMD_80286_Datasheet_%28June_1989%29.pdf

author: LazyJack
author_rank: Frequent Contributor
timestamp: April 25, 2017, 06:02:29 am
content: Oh, you are right. Shame on me for not verifying this in the datasheet.So then it looks like that the software control of the clock behaves funny, but then this may have lot of causes. I have also noticed that sometimes reset is activated periodically, but that is nondeterministic. After a reset the CPU is executing something or sometimes, maybe after some time, it starts getting a pulse of resets (900us pulse 150ms apart). So this may be some watchdog timer kicking in. All right back to further investigation.

author: David Hess
author_rank: Super Contributor
timestamp: April 25, 2017, 09:06:26 pm
content: Quote from: LazyJack on April 25, 2017, 06:02:29 amThe clock also slows down when the processors makes slow I/O accesses like to the ISA bus.QuoteOr the power on reset is stuttering because of a bad supply voltage.

author: LazyJack
author_rank: Frequent Contributor
timestamp: April 26, 2017, 06:02:33 am
content: Power is ok. This board take 5V only a tried it on a bench psu besides its own.One thing i"m thinking of is a corrupted bios. It's in old fashioned 27c256s.

author: David Hess
author_rank: Super Contributor
timestamp: April 26, 2017, 10:51:22 am
content: Quote from: LazyJack on April 26, 2017, 06:02:33 amA corrupted BIOS is possible. Sometimes ROMs including floating gate types fail with age (1) but I am not sure how this would cause the reset signal to activate. Does the board even have a watchdog timer tied to the reset signal?Power problems could be caused by more than the power supply. Are there any aluminum electrolytic bulk decoupling capacitors on the board?Does all of the board's logic run on 5 volts or does it have any point of load regulators? What about their aluminum electrolytic capacitors?(1) Besides floating gate memory losing charge, it might have been programmed with insufficient margin. Both floating gate memory and other technologies used for ROMs can fail for other reasons with age like from contamination.

author: LazyJack
author_rank: Frequent Contributor
timestamp: April 26, 2017, 07:52:03 pm
content: No idea on the WDT..But the board is designed to be in an industrial environment, so could be. I don't see anything about it in the manual. All the power and the caps look ok, but once I1ll have some spare time, I'll go over all of the IC to check their power and also trace the reset line, where exactly it comes from. The original 286 AT as far as I reemeber, the CPU reset was controlled by the keyboard controller, so that the cpu could reset itself to get out of protected mode. Likely this is the case here too.

author: LazyJack
author_rank: Frequent Contributor
timestamp: May 21, 2017, 06:05:09 pm
content: All right. looks like it is really a bad BIOS. I tried repeatedly reading the BIOS eproms, and one of them one or twice gives couple of bits different results.

author: David Hess
author_rank: Super Contributor
timestamp: May 21, 2017, 10:28:11 pm
content: At least a bad BIOS is straightforward to repair if you can find one.Either you or someone else just asked about a BIOS image for the TekMate over on TekScopes@yahoogroups.com. I suggest also checking with TekScopes2@groups.io.Another possibility if you get desperate is to read the EPROM at low and high supply voltages. It may return the correct data at one or the other and then you can use that to program a replacement.

author: LazyJack
author_rank: Frequent Contributor
timestamp: May 22, 2017, 09:37:18 am
content: Yeah, it was me on the Tekscopes group. I'll check the other group, thanks for the advice.I'll try and read the eprom multiple times and see if I can figure out which bits are flaky. I assume they are supposed to go back to 1, so it should be possible at least in theory to find the bad bits. It should also be possible to overwrite the original eprom chips. Although I do have blanks.

author: David Hess
author_rank: Super Contributor
timestamp: May 22, 2017, 11:13:59 am
content: Quote from: LazyJack on May 22, 2017, 09:37:18 amThe process is more than just reading the EPROM multiple times. The supply voltage needs to be adjusted as this is done which changes the floating gate threshold needed to produce 0s and 1s.

author: LazyJack
author_rank: Frequent Contributor
timestamp: May 22, 2017, 11:33:28 am
content: Yeah, that is how I meant the miltiple reads.

author: LazyJack
author_rank: Frequent Contributor
timestamp: June 12, 2017, 06:18:33 am
content: Allright. I guess last post in this thread. So the flaky EPROM turned out to be a red herring, it was instead a flaky PLCC adapter to the programmer.So what really looks to be the problem is that the D9 line that goes from the chipset to the memories (EPROM and RAM) is bad. The high level is clamped to 0,6V. Initially I did not notice this, as I was only checking signals on the CPU. Of course this too low high level results in random values being passed from the chipset to the CPU. Hence the random operation I have observed.I traced out the signals, and looks like the CPU buses go into one of the chipset chips and that interfaces the memories. I did try swapping the eproms and removing the ram, same effect, so I conclude that this line on the chipset is bad. I tried adding various values of pullups to the line, but did not help. Either no change or permanenent high.So I guess the motherboard is unfixable.