Maintenance oscilloscope Tektronix TDS754C

Finally there was a day off at the weekend. This time I wanted to use it to perform a maintenance on my Tektronix TDS754C digital oscilloscope that had been pending for years. The plan was to replace the two ICs from “Dallas Semiconductor” with integrated lithium battery. And that before they fail and lose all data. After 24 years. There is no more time to waste.

Foto, TDS754C Vorderansicht
TDS754C Front view

Preparation

The preparation for this maintenance started years ago and took a long time, as it is with hobbies. Two things I had to do in advance:

  • Upgrade my homebrew programmer to 4MBit and make it able to read and write FRAM and NVRAM chip types.
  • Building a replacement for DS1250Y or DS1650Y chips.

I had already finished the extension of my programmer in 2018. I was able to check off the second item this spring and have described it in detail here.

There are two of these ticking time bombs installed in the device, Dallas chips with integrated Lithium battery. I also described the problem with these components in more detail in this article. Specifically, it is a DS1486 RTC+1MBit NVRAM and a DS1650Y 4MBit NVRAM, both of which are soldered onto the CPU board.

Foto, TDS754C CPU board
CPU board
Foto, TDS754C CPU-board Nahaufnahme
CPU board close up Dallas chips

In the case of the oscilloscope here, a failure of the two ICs would mean that calibration data and information about enabled additional functions would be lost. After all, the built-in batteries lasted from 1997 to 2021. With ten years of guaranteed life, that’s almost two and a half times the time.

Data backup

First, it’s a good idea to make a backup of the NVRAM contents. The device has a built-in 1.44MB HD floppy drive. Fortunately, someone wrote some scripts and posted them here that allow you to back up the NVRAM to a floppy.

For me the whole thing worked flawlessly on the first try. I used the tool “tdsNvramFloppyDumper”. Later I used the programmer to write the data to the replacement chips.

Desoldering

Now it was time to desolder the old parts. The oscilloscope is built very service friendly. To remove the CPU board, no instructions are necessary in my opinion. The desoldering itself I always do with this somewhat larger manual desoldering pump and a normal electronic soldering iron.

Foto, Vorbereitung zum Entlöten
Surrounding area masked with tape

It is important to protect adjacent thin conductors with Kapton tape. The recoil of the pump throws the soldering tip a little bit away when triggering. This occasionally destroys thin conductors next to the solder pads. The tape reliably prevents this in my experience. The desoldering worked fine, I also had only one attempt.

Foto, Nahaufnahme Schutz-Tape
Close up Kapton tape for protection
Foto, alte Chips entfernt
Both Dallas ICs desoldered
Foto, freie Lötpads
Freed solder pads close up

Exchange parts

DS1486

The RTC is the more difficult part. I was lucky and found a ready-to-use rebuild instructions on the net as well as a remaining stock seller from China, who sells the obsolete DS1384G, which is necessary for the replacement. Nevertheless, be careful with the purchase, also from this IC all kinds of fakes are traded.

Rebuilding the small module was easy. During testing I learned that both batteries must be connected for the RTC to work. At first I had tested this only with the primary battery.

Foto, DS1486 Ersatzmodul
DS1486 Replacement module with batteries
Foto, DS1486 Modul, DS1384G versteckt unter Batterie
DS1384G hidden under one of the batteries
Foto, DS1486 Ersatz-Modul von unten
DS1486 Replacement module from below

Another thing worth mentioning is the choice of batteries. There are six different common lithium battery technologies and some exotic. All have different voltages, advantages and disadvantages. In this case here it is important that the self-discharge is low and the capacity is high. This guarantees a long service life. The type “BR1632A/HAN” from Panasonic used here is a lithium carbon monofluoride battery, which meets these requirements.

DS1650Y

The replacement based on a FRAM for the 4MBit NVRAM DS1650Y I developed myself at the beginning of this year. It is described in detail in the article. In the TDS754C a DS1650Y is installed, but the write protection feature of the component is not used. The replacement with the FRAM module is therefore possible.

Foto, DS1650Y FRAM Ersatz
DS1650Y FRAM replacement module

Installation

The new components are conveniently socketed. This makes it easy to remove the modules to replace the batteries, for example. Besides, it was uncertain whether the exchange would work. In case of problems, I could have simply put the two soldered out parts back into the socket.

As sockets I use some with a low profile. The contacts are partially recessed in the board. This makes the replacement part with socket only slightly higher than the original.

Foto, links Standard-Sockel, rechts low Profile Version
Left standard socket, right low-profile version

The two sockets were quickly soldered in place. It was annoying that the pin headers of the two replacement modules were a bit too thick. Thus they do not fit completely into the socket and are relatively difficult to insert and remove. I should have read the data sheets of the mechanical components beforehand.

Foto, Sockel fertig eingelötet
Socket ready soldered
Foto, Ersatzmodule bestückt
Spare modules equipped

Putting into operation

First, the device reported an NVRAM CRC error after power-on. Maybe the memory was written during the backup which leads to an invalid checksum. The attempt to restore the backup with the above linked “tdsNvramFloppyTools” was successful. The device now starts again as usual and at least the two replaced parts will do their job for many more years.

Receive updates directly in your inbox

Loading

DS1250Y/DS1650Y FRAM Replacement

Abbildung, erster Prototyp im Programmiergerät

This project is not very big but still something special. On the one hand it is part of a restoration which has been prepared for years. On the other hand it seems that nobody has come up with the idea to replace a 5V NVRAM with a 3.3V FRAM or to publish it.

Problem components NVRAM

If you want to keep old devices for a long time, you will always come across chips with integrated lithium battery from “Dallas Semiconductor”, which was bought by “Maxim Integrated” in 2001, which in turn was bought by “Analog Devices” in 2021. These are mostly NVRAMs (non-volatile RAM) or RTCs (real-time clocks) with NVRAM. The battery integrated in the chip package enables the data in the RAM to be retained even after the operating voltage is switched off and the RTC continues to run. An NVRAM controller, which is also integrated, takes care of switching between battery and operating voltage as well as data protection when switching on and off.

Basically, this is a very practical solution, since one can use a single component instead of a whole circuit including battery. However, it is fatal when the built-in battery is exhausted after about 20 years. Almost always the whole device is no longer functional. The components are of course no longer produced. Also the remaining stock traded on the Internet is either already too old or even more often faked. I have bought two fakes myself. Thus, replacement with the original part is not an option.

Example photo of soldered NVRAM and RTC
Soldered NVRAM and RTC (Tektronix TDS754C CPU Board)

Replacement options

The replacement of RTC and NVRAM differs significantly.

The NVRAM can be replaced by a corresponding SRAM with NVRAM controller and battery. Some examples can be found on the net.

Another variant is the replacement by FRAM, a memory which can be written arbitrarily like RAM, but which keeps the content even without operating voltage. There are also examples with the FRAM types FM16(W)08 and FM18(W)08 with 64kBit and 256kBit size respectively. The charm of this solution is that no battery is necessary and thus the memory remains maintenance-free. Unfortunately, the two mentioned FRAM types are pin-compatible with the Dallas NVRAMs, but they are controlled somewhat differently. Thus the exchange unfortunately does not work in all devices.

An RTC cannot be replaced so easily. The RTC maps the time to a memory area that is accessed like “normal” RAM. The chip has to keep the required timing exactly. This can only be ensured by using dual-port RAM. However, I have not found suitable circuits. This would be a small project for the future. Currently, there is only the possibility to mechanically drill out an old RTC and connect a new lithium battery from the outside. Or you can use a compatible RTC chip, which is still available as residual stock. As far as I know this is only possible for a DS1486, which is replaced by a DS1386G incl. RAM and battery.

DS1250Y/DS1650Y FRAM Replacement

Now to the corpus delicti. The DS1250Y component from “Dallas Semiconductor” is a 4MBit NVRAM. The pin-compatible DS1650Y variant also has the option of write-protecting individual memory areas via software. Thus the DS1650Y can replace the DS1250Y. The other way around, this doesn’t work in every case, but only when the software doesn’t use the write protection feature or doesn’t depend on it.

A short component search for parallel 4MBit FRAM brings only one product to light, the FM22L16-55-TG. Unfortunately, it works with a maximum of 3.3V and has 16 bit data width in contrast to 5V and 8 bit on the DS1250Y.

So there are still some parts missing to adapt the FM22L16: Some logic, level shifter, a voltage regulator and some brain power. Difficult in the design was also that the whole circuit has to fit on a board with the size of the original part.

Circuit

After a couple of days of reading and understanding data sheets and drawing schematics, the circuit was ready.

Figure, DS1250 FRAM replacement circuit diagram
Circuit diagram

I used a bidirectional level shifter 74LVC8T245 for the data bus, a MCP1700T-3302E low dropout voltage regulator for the 3.3V power supply, a couple of universal single gates for the control logic and Schottky diodes and LEDs for the unidirectional level shifters of the address and control lines.

In the first version I had forgotten the pull-up resistors R3 to R5 which caused the data to be changed when the device was removed from the programmer. Otherwise, the circuit works flawlessly and easily meets the timing requirements of the original.

The unidirectional level shifters with a Schottky diode plus LED are still special and grown on my crap. I simulated the circuit and found that this simple way works safely and quickly.

Illustration, simulation of unidirectional level shifter
Simulation level shifter for address and control lines

The plan is available as a pdf here.

Contruction

The circuit is placed on a double-sided PCB, which is about 1mm wider than the original component. In most devices, however, there is enough space for it.

Abbildung, Layout
Board layout

Gerber Files for private reorder are located here. Usually I order at JLCPCB. There you can simply upload the zip for ordering. The bill of materials and the assembly plan are here.

The rest follows as a short picture story:

Figure, finished boards are there and are assembled
Finished boards are there and are assembled
Figure, components manually assembled and soldered
Components manually assembled and soldered
Figure, bottom view
Bottom view
Figure, bottom view, afterwards added pull ups connected with wire, modification added to published design
Bottom view, afterwards added pull ups connected with wire, modification added to published design
Figure, bottom view, pin header manually soldered from beside
Bottom view, pin header fiddly soldered from beside
Figure, first prototype in the programmer
First prototype in the programmer

 

Receive updates directly in your inbox

Loading

Weekend projekt: avalanche pulse generator

This project I started on a leisure weekend some time ago. The time is now to document it. Always wanted to measure the bandwidth of my two oscilloscopes, an analog and a digital one. There is help from the avalanche breakdown. During this type of breakdown, free carriers in the p-n transition region are exponential multiplied, leading to a rapid current rise. In other words, you can generate pulses with a very short rise time.

Idea

The idea I got from this article: Avalanche Pulse Generator Build Using 2N3904. The circuit is very simple but needs at least 120V to operate. Blessedly is no exotic component included like an avalanche-diode. Many standard transistors you may have in your junk box can be used for the avalanche breakdown. I found some 2N3904. Suddenly cutted a piece of breadboard, collected the remaining components and heated the soldering iron.

components and breadboard

Circuit

A old-school 555 timer IC acts as high voltage generator, a circuit I used several times before, for instance in the VU-Meter with EM84. The avalanche pulse generator itself is composed of only six components as you can see in the schematics diagram.

Schaltbild
schematics

Construction

Initially I tried with the 2N3904. My transistor batch purchased from SEGOR-electronics GmbH Berlin had an avalanche breakdown at 130V. At this shop I purchased some 2N2369A too which had the breakdown at about 90V. For this project the 2N2369A is a better choice and I like the vintage TO18 metal case. Depending on manufacturer and production date I suspect a large variance in the avalanche breakdown voltage of different transistor lots. So you have to experiment a bit to find a good matching part.

put together

Shortly the small circuit was assembled and operated at the first go. Excitedly I awaited now the bandwidth check of the oscilloscopes. There is no formula definition to calculate bandwith from rise time. Usually the bandwidth is calculated with 0,35 divided by rise time. The rise time is the time meanwhile the signal grows from 10% to 90% of the maximum.

Oscilloscope tests

First in turn was the good old analog Tektronix 2465B. (1991 model)

bandwidth test TDS2465B

The screen has markers at 10% and 90% and a cursor for Δt which makes it easy to adjust the trace and read out the rise time. The determined 0.78ns rise time is equal to a bandwidth of about 450MHz. This is distinctly more than Tektronix guarantees, I’m satisfied.

Next in turn was the digital TDS784C. (1996 model)

TDS784C rise time

The device can measure the rise time automatically. The result is fairly exact 1GHz bandwidth, as the manufacturer says. Interesting for me was the fact that the signal rise stopped at about 10% for some time and grows very fast later as you can see better with a zoomed x-axis.

rise time detail

Case

Summa summarum all went as expected and I learned some things. In the end the circuit got a cute case at this time labelled indeed.

Receive updates directly in your inbox

Loading

USB load cell interface with AD7797

This project I developed and published first in 2011, years ahead many other similar proposals. It is a well-structured approach with good working and free available software to connect a load cell with USB. I used a cheap kitchen scale for 10 Euros to create an USB scale with a resolution of less than 1g.

foto of the prototype, a load cell from a 5kg kitchen scale on the left

Part 1: USB load cell interface controller

Heart of the hardware part is an Atmel ATMEGA644 microcontroller. The controller manages the A/D conversion and reads the results from the AD7797. On the other side the Atmel acts as a low speed USB 1.1 HID device with the advantage that no extra USB driver is needed in the operating system where this circuit is connected to.

Additional functions are provided by the microcontroller like automatic conversion, offset calibration and some statistic calculations. These calculations include mean, median, variance and standard deviation. The statistical base is user defined from 2 to 256 values. Useful debug output is also available at the RS232 interface connected to the ATMEGA644 UART. You have to set the “DEBUG” flag in the firmware source code and recompile to make use of this feature.

The USB part of the firmware uses V-USB, a firmware-only USB driver from Objective Development Software GmbH.

The software for the integrated microcontroller ATMEGA644 is available for avr-gcc. It is written in C and developed with “AVR Studio 4.18”, SP3, an IDE for 8-bit AVR-controller by Atmel. The latest source code is provided under the GNU General Public License (GPL) and can be downloaded here.

Part 2: front end

The front end for the load cells measurement bridge consists of the 24 bits A/D-converter AD7797 from Analog Devices with an integrated amplifier with a gain of 128. So the A/D-converter can be directly interfaced to the load cell without additional amplifier. The reference voltage is generated by an ADR441 ultra low noise voltage reference, also from Analog Devices.

The front end can be offset and gain calibrated. These parameters are stored in the controllers EEPROM and loaded at power up.

close up of the circuit, RS232 debug interface left top, the A/D-converter bottom right

Part 3: USB Host Software with GUI

I wrote a software example for Linux and Windows and possibly for MacOS which demonstrates USB HID programming and all of the circuit functions. It is written in C++ and developed with “Qt Creator”, a Cross-Platform Qt IDE by Qt Software and Nokia Corporation. The source code is provided under the GNU General Public License (GPL) and can be downloaded here.

Precompiled program binaries can be downloaded here for linux/x86_64 and win32.

screenshot measure
calibrate functions
statistics

project goals

  • 24 bits A/D-converter, 21 bits effective resolution
  • integrated statistics functions
  • EEPROM stored calibration and startup parameters
  • USB HID device – no extra device driver needed
  • optional debug output
  • multi platform graphical user interface
  • unique USB id: vendor: 0x16c0, product: 0x05df, Manufacturer: “runlevel3.de”, Product: “USB-A/D-Interface”

The schematics is available for download here.

USB-AD-Converter_schematics.pdf

 

Receive updates directly in your inbox

Loading

 

LTZ1000A 1ppm precision voltage reference

Since some years I’m planning and sometimes working on a project to create my own LTZ1000A programmable precision voltage reference. Up to now I developed most of the circuit and collected the special components like resistors with 0.1 ppm drift per degree temperature change produced exclusively for me. I want to show that it’s possible to create it as a home brew version.

The preliminary schematics is available for download here.

LTZ1000-precision-reference_schematics.pdf

project goals

  • LTZ1000A based
  • state of the art 32Bit A/D converter for correction
  • <1ppm long and short term stability
  • ~2μVpp noise
  • programmable 0V .. 5.05V in 37nV steps
  • thermostat stabilized

 

Receive updates directly in your inbox

Loading