Update: Added a link the Debug Interface schematics (pdf)
The Tektronix TDS 520 is a digitizing oscilloscope from the early 90s. It offers 500 MHz analog bandwidth, 500 MS/s sampling rate, 2 full-featured channels and 2 auxiliary channels with a limited vertical sensivity. Although being at age nowadays, this oscilloscope has perfect properties for a prominent place in the shack at home.
My TDS 520 was saved from the scrapheap.
The problem
Bad SMT capacitors! Although it looks like capacitor plague, I don’t think it actually is. The well known capacitor plague from the early 00’s, probably has it’s origin in some sort of industrial espionage. The capacitors used in this generaration of Tektronix equipment are just not that good. Combine that with many operational hours on a lab bench and high temperatures inside the case and you’ll end up electrolyte all over the place.
That leaking electrolyte eats pcb and components for breakfast. The copper simply dissolves, the pcb delaminates and resistors decompose. This causes the infamous fails during the power-on self test (POST):
Note: My TDS failed on ‘Acq/Proc Interface’ and ‘Acquisition’. The picture above shows a different screenshot.
Fix #1: Replacing SMT electrolytic capacitors
First thing I did is replacing the capacitors on both the processor board (A11) and the acquisition board (A10). Before doing this, make sure you clean the boards thoroughly with something like IPA. Then do it again, again and again. Once more the make sure all the electrolyte is gone. There are 2 type of electrolytic capacitors on PSU the board: 10uF/35V and 33uF/10V. Make sure you replace the correct ones.
(click to enlarge)
In the picture above the red dots indicate a 33uF/10V cap and the blue ones indicate 10uF/35V capacitors.
Cleaning the boards and replacing the caps will solve your problems in some cases. In my case, it did not.
Further research
For more information I used the Tektronix TDS debug interface (see below). Both ‘Acq/Proc Interface’ and ‘Acquisition’ faults still exist. The output of the debug interface shows this:
DDStart Power-On Diag Sequence hwAccountant probe routines Probe for unexpected pending ints Dsp Instr mem size Dsp D2 mem size Dsp D1 mem size Dsy Vect0 mem size Dsy Vect1 mem size Dsy Wfm0 mem size Dsy Wfm1 mem size Dsy Text0 mem size Dsy Text1 mem size Acq number of digitizers Acq mem size Cpu timer interval uSec Cpu Dram size NvRam mem size Opt RS232/ Cent presence dspForcedBus ................... pass cpuDiagD2MiscReg ............... pass cpuDiagDSPIntMaskReg ........... pass cpuDiagDsyAccess ............... pass dsp68kMemTest .................. pass cpuDiagFIFOMem ................. pass dspRunVerify ................... pass dspBusRequestTest .............. pass dspImplicitBusAccess ........... pass dspTristarMemTest .............. pass dsyDiagResetReg ................ pass dsyDiagVscReg .................. pass dsyDiagPPRegMem ................ pass dsyDiagRasRegMem ............... pass dsyDiagRegSelect ............... pass dsyDiagRamdacRegMem ............ pass dsyDiagAllMem .................. pass dsySeqYTModeV0Intens ........... pass dsyDiagSeqXYModeV1 ............. pass dsyRastModeV0Walk .............. pass dsyRastModeV1Attrib ............ pass dsyWaitClock ................... pass cpuDiagAllInts ................. pass optRS232DuartIO ................ UNTESTED nvLibrariansDiag ............... pass calLibrarianDefaultCk .......... pass dspForcedBus ................... pass acqProcThermistor .............. pass digDiagD1Conf .................. ***FAIL*** ..error details: digDiagConf .................... ***FAIL*** ..error details: vertAttenStrobeDiag ............ pass vertAttenShiftReg .............. pass dacRangeDiag ................... pass fpDiagConf ..................... pass hwAccountant probe routines Probe for unexpected pending ints Dsp Instr mem size Dsp D2 mem size Dsp D1 mem size Dsy Vect0 mem size Dsy Vect1 mem size Dsy Wfm0 mem size Dsy Wfm1 mem size Dsy Text0 mem size Dsy Text1 mem size Acq number of digitizers Acq mem size Cpu timer interval uSec Cpu Dram size NvRam mem size Opt RS232/ Cent presence
Hmmm… Not very helpful…
I took out the boards again for a detailed optical check with a microscope. This showed some disturbances around memory chip U213. Desoldering this chip reveals the damage done by the leaking caps: broken tracks!
(click to enlarge)
As you can see, the pad for pin 23 is gone and the pad for pin 19 isn’t connected anymore to the track going right.
Fix #2: Fixing broken tracks
With these multilayer boards, checking connections can be confusing. Tracks that go into one of the inners layers are hard to follow. Looking at the other memory chips gave me all the information I needed.
Each channel has eight 84K x 8 memory chips. The address-buses of all chips are wired in parallel. The data-buses are wired separately to some ASIC, which acts (beside other functions) as memory controller.
<< insert table with memory connections >>
With 2 kynar wires soldered to fix the tracks, the scope works fine again!
<< insert picture >>
Debugger output:
DDStart Power-On Diag Sequence hwAccountant probe routines Probe for unexpected pending ints Dsp Instr mem size Dsp D2 mem size Dsp D1 mem size Dsy Vect0 mem size Dsy Vect1 mem size Dsy Wfm0 mem size Dsy Wfm1 mem size Dsy Text0 mem size Dsy Text1 mem size Acq number of digitizers Acq mem size Cpu timer interval uSec Cpu Dram size NvRam mem size Opt RS232/ Cent presence dspForcedBus ................... pass cpuDiagD2MiscReg ............... pass cpuDiagDSPIntMaskReg ........... pass cpuDiagDsyAccess ............... pass dsp68kMemTest .................. pass cpuDiagFIFOMem ................. pass dspRunVerify ................... pass dspBusRequestTest .............. pass dspImplicitBusAccess ........... pass dspTristarMemTest .............. pass dsyDiagResetReg ................ pass dsyDiagVscReg .................. pass dsyDiagPPRegMem ................ pass dsyDiagRasRegMem ............... pass dsyDiagRegSelect ............... pass dsyDiagRamdacRegMem ............ pass dsyDiagAllMem .................. pass dsySeqYTModeV0Intens ........... pass dsyDiagSeqXYModeV1 ............. pass dsyRastModeV0Walk .............. pass dsyRastModeV1Attrib ............ pass dsyWaitClock ................... pass cpuDiagAllInts ................. pass optRS232DuartIO ................ UNTESTED nvLibrariansDiag ............... pass calLibrarianDefaultCk .......... pass dspForcedBus ................... pass acqProcThermistor .............. pass digDiagD1Conf .................. pass digDiagConf .................... pass extTrigRegDiag ................. pass vertRegDiag .................... pass cvrRegDiag ..................... pass trigSrcRegDiag ................. pass lstlDiag ....................... pass ctlDiag ........................ pass trigAcqRstDiag ................. pass logicTrigConfDiag .............. pass alphaEdgeTypeComp .............. pass lineTrigDiag ................... pass dlyTrigDBETrigAfter ............ pass dlyTrigDBTRunsAfter ............ pass glitchTrigDiag ................. pass pulseWidthDiag ................. pass vertAttenStrobeDiag ............ pass vertAttenShiftReg .............. pass dacRangeDiag ................... pass fpDiagConf ..................... pass hwAccountant probe routines Probe for unexpected pending ints Dsp Instr mem size Dsp D2 mem size Dsp D1 mem size Dsy Vect0 mem size Dsy Vect1 mem size Dsy Wfm0 mem size Dsy Wfm1 mem size Dsy Text0 mem size Dsy Text1 mem size Acq number of digitizers Acq mem size Cpu timer interval uSec Cpu Dram size NvRam mem size Opt RS232/ Cent presence
Debug interface
Update. I had quite a nice post on my old (crashed) site about the debug interface. As you can read in the comments, I’m asked for the schematics so now and then. Here it is: TDS debug interface
Information sources
– Tektronix TDS 520 Operating manual
– Tektronix TDS 520 Service manual
– Tektronix TDS520B Digitizing Oscilloscope Component Manual (with schematics!)
Goeie info. Mijn interesse is de reparatie van een Tek TDS520. Elcootjes vervangen op Acq-board was niet afdoende…. Er lijkt zelfs een -FAIL- bijgekomen te zijn… Heb nu een debug interface in elkaar gesmeed, maar die verhindert de scoop om op te starten, zonder dat ik data op de seriele uitgang zie. Heb al geprobeerd KA0-KA3 te verwisselen met KA1-KA4, maar nog steeds geen succes. Ik heb geprobeerd je foto te interpreteren en het enige wat ik lijk te zien is een optrekweerstandje van IACKN naar de plus. DTACKN wordt kennelijk niet gebruikt, in ieder geval niet in de andere DUART voor de frontpanel communicatie. Kun je me op weg helpen misschien? Een poging om de console poort m.b.v. een (kloon) Saleae logic16 te bekijken leerde me slechts dat dat LA een fatsoenlijke sample-trigger lijkt te missen.Misschien moet ik toch maar die oude hp1630 analyzer eens afstofen….
Alvast bedankt voor eventuele hints..
Groet,
Michael
Hoi Michael,
Ik kan je het schema van mijn debug interface mailen. Ik heb ook nog wel een print liggen, maar die is nog niet bestukt. Zou je daar wat aan hebben?
Timmestein
Hi Timmestein. I have a TDS520A. Was a problem acquisition board (on boot fall). I try to replacing the capacitors on both the processor board (A11) and the acquisition board (A10). And forget place of electrolytic capacitors 10uF/35V and 33uF/10V on the boards. On you site i found onlly pictures one board. Can you add pictures another board or send me by email (chig@bk.ru). Thanx.
Hi Alexander,
Sorry for the late reply. Do you still need help?
I haven’t got a picture of the processor board with color marks like the acq board. So I have to open up my TDS to check.
Hi Timmestein,
I’am also working on a non functional TDS 540 for several weeks now.
I replaced all the leaky caps and cleaned the boards. I also found some faults at the VCO Board and the extended trigger logic ASIC. There was also a D-FF with a broken GND connection but I still get these annoying “Acq/Proc Inferface FAIL” message at the Startup.
The oscilloscope seem to sample … something (there are only vertical lines at the Screen) but nothing useable. First I thought there could be a DAC problem, but this little guy is doing its job quite well.
Did you have any suggestions on how to debug this D1 Bus?
Because nealy anything on the ACQ Board is somehow connected to it and the simple “Interface FAIL” message is really not very helpful 😉
Thanks for your help!
tovallig nog een idee waar ik bij een tds754 deze fout zou moeten kunnen vinden: nvLibrariansDiag error
nvLibrariansDiag …………… ***FAIL***
..error details:
ERRORID: 163 diagnostic test failure nvLibrariansDiag
Libs with crcc failures:
ExtConst
Hi,
I would like to repair my Tektronix TDS540, but I don’t have the RS232 interface. Could you tell me which port J37 (26 pin IDC connector) or J40 (20 pin edge connector) is the connection for MC68681FN ? Or could you upload the schematic of the converter?
Regards
Piotr
Hi,
Could you provide the schematic for Tektronix debug interface?
Regards
Sorry for the late reply. I just emailed you the schematic.
Hello Timmestein,
Thanks for this writeup, very helpful!
I am reviving an old TDS520, could you please send me the debug interface schematics?
All the best,
Lars
Hi Lars,
Check your email for the schematic and PCB gerbers.
Hello,
I am trying to repair a TDS510A, the acquisition board has failed, no more traces on display. I have replaced all capacitors but no improvement.
Could you please send me schematic of your debug interface? Is it compatible with TDS510A? Do I need a software?
Thanks for your help !
Regards.
Hi,
I’ll send you the schematic. It should work fine with your scope.
Cheer, Tim
Hi,
Could you mail me the circuit diagram of your interface ?
Hi Eduard,
Send the schematics by email.
Regards,
Tim