Tektronix TDS 520 repair

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):

Tektronix POST fail

 

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.

 

Tektronix TDS 520 repair 1

(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. 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!

Tektronix TDS 520 repair 2

(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

 

Information sources

Tektronix TDS 520 Operating manual

Tektronix TDS 520 Service manual

IDT 7164s25 datasheet

Tektronix TDS520B Digitizing Oscilloscope Component Manual (with schematics!)

6 thoughts on “Tektronix TDS 520 repair

  1. 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

  2. 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.

  3. 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!

  4. 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

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.