7-Segment zu Nixie Dekoder
7-Segment zu Nixie Dekoder
von Peter H. Wendt

Rel. 0.9.1_dt, Letzte Aktualisierung: Donnerstag, 2002-01-10



Intro: Wovon zum Teufel redet der ?

Ich rede davon, eine ganz gewöhnliche kommerzielle Weckeruhr / Radiowecker zu benutzen, wie dieses Ding, was ihr schon jahrelang in der Werkstatt stehen habt und wie man es hinkriegen kann, in so ein Ding eine Anzeige mit Nixie Röhren einzubauen.

Ja, das hört sich ziemlich blödsinnig an - aber laßt uns mal einen Moment bei diesem Gedanken verweilen und nachdenken.

Angenommen, man hat bereits ein oder mehrere Nixie Uhren zusammengebaut und sie sehen echt toll aus und funktionieren großartig .... aber ein paar Funktionen fehlen ihnen doch. Wie eine Weckfunktion zum Beispiel. Oder Funk-Kontrolle um ein anderes nettes Feature zu erwähnen. Hmmm - Lust das Rad neu zu erfinden und eine eigene Microprozessor-gesteuerte Weckuhr bauen ? Gut - man kann das machen - aber da gibt es Alternativen.

Da hat man also dieses billige Plastik-Scheißding "Made in Taiwan" herumstehen, was man vor vielleicht zehn Jahre in einem Supermarkt gekauft hat. Es hat ein Radio. Es hat -vielleicht- zwei getrennt einstellbare Weckzeiten oder, wenn es ein etwas neueres Modell ist, sogar Funksignal-Empfang. Aber es sieht echt beschissen aus mit seiner billigen 7-Segmentanzeige.
Könnte man das Ding nicht vielleicht irgendwie umbauen - "Nixiefizieren" und mit einer Nixie Anzeige ausstatten ?

Das ist es. Willkommen in meiner Welt.
Das ist die Gedankenkette, der ich unbewußt gefolgt bin, als ich zum Dreimillionsten Mal auf meine 1979er Digital-Radiouhr geguckt habe, während ich an meinem Arbeitstisch die Innereien für einen meiner Nixie Uhr Prototypen zusammengelötet habe.

Zeit, die Schraubenzieher rauszuholen und ein paar pathologische Studien zu betreiben ...



Die Gegenwart: Was man sieht, ist, was man kriegt.

Wenn man das Plastikgehäuse erstmal um den elektronischen Innenteil herum entfernt hat, wird man in den meisten Fällen ungefähr folgendes Basislayout antreffen:

  • einen Transformator
  • eine Platine mit dem Radioteil
  • eine Platine mit dem Uhrenteil
  • ein Platinchen mit den Einstellschaltern
  • eine Platine oder ein Modul mit der 7-Segment LED-Anzeige
  • einen Lautsprecher (oder zwei bei Stereomodellen)

Es kann natürlich auch sein, daß sich die oben angeführten Komponenten alle auf einer gemeinsamen Platine herumdrücken. Der Uhrenteil benutzt in der Regel einen größeren, auffälligeren Chip als das Radio, was meist mit einem Minimum an Teilen um einen dickeren Drehkondensator herum aufgebaut ist. Häufig findet man (noch) den NatSemi MM5402N Uhrenbaustein. Das ist schon mal nicht schlecht. Es ist allerdings praktisch unmöglich, von diesem Chip ein Datenblatt aufzutreiben. Ich habe das halbe Internet umgegraben und bin trotzdem ohne Resultat geblieben. Also habe ich etwas mit dem Multimeter herumgemessen, um die Beschaltung des Displaytreibers herauszukriegen.

Die Uhr, mit der ich meine Experimente gemacht habe, benutzt den MM 5402N und ein 4-stelliges Nicht-Multiplex 7-Segment LED-Modul mit der Bezeichnung "Tiger LT667 Rev. E". Es hat 34 Anschlüsse im 0.1" (2.5mm) Raster. Es hat 4 x 7 Segmente + 2 mal 2 runde Punkte, eine Gruppe links, um Alarm 1 und Alarm 2 anzuzeigen, sowie eine Gruppe in der Mitte zwischen der Stunden- und Minuten-Anzeige, was als blinkende Sekundenanzeige fungiert. Ich habe das Ding ausgelötet und mit +5 V über einen 1 K Widerstand die Belegung herausgefummelt.

Hier ist der Anschlußplan:

+-----------------------------------------------------------------+
|      +--------------------------------------------------+       |
|      |      aaaaa     aaaaa         aaaaa     aaaaa     |       |
|      |     f     b   f     b       f     b   f     b    |       |
|      |     f  4  b   f  3  b   S1  f  2  b   f  1  b    |       |
|  AL1 | O   f     b   f     b   O   f     b   f     b    |       |
|      |      ggggg     ggggg         ggggg     ggggg     |       |
|      |     e     c   e     c       e     c   e     c    |       |
|  AL2 | O   e     c   e     c   O   e     c   e     c    |       |
|      |     e     c   e     c   S2  e     c   e     c    |       |
|      |      ddddd     ddddd         ddddd     ddddd     |       |
|1     +--------------------------------------------------+     34|
+-----------------------------------------------------------------+
H | | H | | | | | | H | | | | | | | | H | | | | | | H | | | | | | H
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

G A A 4 4 4 4 4 4 4 3 3 3 3 3 3 3 S S 2 2 2 2 2 2 2 1 1 1 1 1 1 1 G
N L L A F G E D C B F G A B E D C 1 2 F G A B D E C F G A B E D C N
D 1 2                                                             D

Wie man sehen kann, gibt es zwei Anschüsse, die "GND" markiert sind (1 & 34), also ist das Display "Gemeinsame Kathode". Das bedeutet: der gemeinsame Anschluß ist Masse und die Segmente leuchten auf, wenn eine angemessen hohe positive Spannung an den Segmentanschlüssen angelegt wird.

"Nicht-Multiplex" bedeutet, daß jedes Segment einen eigenen Pin auf dem Anschluß besitzt. Wenn eure Uhr eine Anzeige mit nur 12 oder 15 Pins hat, dann ist es eine Multiplex-Aneige, die wir für unseren Umbau mit dieser Schaltung nicht verwenden können.

Beachtet bitte die Anmerkungen bezüglich Multiplex Anzeigen in "Vor- und Nachteile" weiter unten auf dieser Seite. Auf einer anderen Seitewerde ich versuchen, darauf genauer einzugehen.

Mit dem abgelöteten Display zeigt der Uhrenbaustein eine Leerlaufspannung von etwa +5.4 V an den jeweils aktivierten Segmentpins und etwa 0.3 V and denen, die zur Zeit deaktiviert sind. Das liegt einigermaßen innerhalb der TTL-Pegel für eine logische "1" und logische "0". Also könnte man die Signale direkt auf einen TTL- oder CMOS Baustein leiten, um die Nixies anzusteuern .... wenn es so einen Baustein gäbe.
(Anm.: Fairerweise will ich feststellen, daß es so etwas ähnliches gibt - aber meines Wissens wird dieser Chip nicht mehr hergestellt und Restbestände aufzutreiben, ist, wie die sprichwörtliche Nadel im Heuhaufen zu finden.)

Tatsache ist, daß es so einen Baustein nicht gibt, mit dem es möglich ist, das 7-Segment Schema zurück auf das "1 aus 10" Schema zu decodieren, wie es für die Nixies gebraucht wird.

Und hier ist nun mein "Schnell & Billig" Ansatz:



Brauchen und Mißbrauchen: EPROMs als Dekoder benutzen

Diejenigen Leute, die zu viel Zeit haben und auch erfahrener in der Welt der ASICs sind, würden natürlich einen GAL oder PAL Baustein nehmen und die entsprechende Dekoder-Logik dort einbrennen. Einige geradlinigere Leute (zu denen ich mich auch zähle) und die einen Hang zum "Bauteile-Recycling" haben, nehmen einfach ein paar Eproms.

Wenn man irgendeins der Eproms vom 27C32 bis zum 27C1001 herauspickt, welches unter einer einfachen +5V Betriebsspannung funktioniert, dann kann man die 7-Segment Ausgänge des Uhrenbausteins mit den Adreßleitungen A0 - A6 des Eproms verbinden. Die ungenutzten Adreßleitungen werden auf Masse gelegt. Die Datenleitungen D0 - D3 werden an die BCD-Eingänge des BCD-zu-Dezimaldecoders CD 4028 gelegt.
Wenn die Uhr nun ein "7-Segment-Muster" erzeugt, indem sie einen oder mehrere Pins des Eproms auf logisch "1" zieht, wird im Eprom eine Speicherzelle adressiert, deren Wert an D0 - D7 erscheint (von denen jedoch nur die unteren 4 D0 - D3 ausgewertet werden). Die Speicherzellen müssen natürlich vorher mit dem entsprechenden "Muster" für das Datenwort programmiert werden - was jedoch einfach nur der BCD-Wert der anzuzeigenden Zahl ist.
Der 4028 Dekoder liest die BCD-Werte vom Eprom und wählt den entsprechenden Ausgang Q0 - Q9 aus. Von da aus ist es "klassische Nixie Technik": eine Treiberstufe und die Nixie Röhre mit einem Anoden-Widerstand.

Angenommen, man schleppt einen ganzen Stapel von -sagen wir einmal- 27C256 Eproms von einem Computer Schrottplatz nach hause, dann muß man die natürlich erst mit einer Ultraviolettlampe löschen. Die Speicherzellen enthalten dann alle "FF" - das Eprom ist nicht leer, aber unprogrammiert.

Danach kann man das Eprom mit einem Eprommer wieder neu beschreiben. Man muß sich nicht unnötig mit den ungenutzten Zellen herumschlagen - einfach so lassen, wie sie sind, oder halt mit "00" überschreiben. Es ist natürlich besser, sie mit "00" zu überschreiben, weil das 4028 IC beim Bitmuster "FF" alle Ausgänge abschaltet ... und die Nixie mit aktivierter Anode aber ohne aktivierte Kathode "in der Luft hängt". Die meisten Eprommer erlauben, einen Bereich zu definieren, der mit Zeichen aufgefüllt wird. Beim 27C256 ist das der Bereich von 0000 - 7FFF. Dann muß man nur noch die paar Speicherzellen editieren, die wir für unseren Dekoder wirklich brauchen.

Pos A7
=128
A6
=64
A5
=32
A4
=16
A3
=8
A2
=4
A1
=2
A0
=1
LED Zelle = Hex DCBA = Dec
  gfedcba 
0-0111111633F000000
1-00001100606000101
2-1011011915B001002
3-1001111794F001103
4-110011010266010004
5-11011011096D010105
6-11111011257D011006
6a-11111001247C011006
7-00001110707011107
8-11111111277F100008
9-11011111116F100109
9a-110011110367100109


You look a bit puzzled .... not clear how to use this table and how the values are related ?

Easy: each segment a - g is connected with an adress line from an Eprom. The adress line A0 is connected with the "a" segment of one digit. Its binary value is 1. Segment "b" is connected to A1 with a binary value of 2, "c" with A2, value 4 and so on. A7 - A14 (on a 27C256) are not used and fixed set to GND.
For every LED bit-pattern a binary value is calculated. For the LED display 6 for instance the segments a, c, d, e, f and g are lit. Add the binary values 1, 4, 8, 16, 32 and 64 and you end up with 125. That's the number of the memory cell adressed when the bit-pattern for a "6" is applied to the Eprom. In Hex the decimal number 125 is "7D". Now you got to edit the memory cell 7Dh on your Eprommer and write in the BCD-value for "6" ... which is "06".

The row with the greyed background is an alternative setting for a "6" without the upper dash. You may include this into your Eprom at memory cell 124 (7Ch) and it won't harm. Gives you a bit more versatility in case you use that method for various LED-to-Nixie conversions. Same for the "9", which may appear with and without the lower dash.



Putting in Practise: Schematic for one LED Digit (1 of 4 required)

Nixie Clock 7-Segment Converter

As things go: this schematic is the result from a raw draft I build just recently. I found out various minor problems to be fixed later. Basically it works. You should use pull-down resistors at the A0 - A6 adress inputs of the Eprom. I'm currently still experimenting with that, but I think 4K7 should suffice. For "room challenged" applications you should use resistor packs (with e.g. 8 x 4K7 resistors fed to a common GND).
The serial resistors are for the case that the input voltage is higher than +5V ... they act as current-limiting resistors. Also still experimental, but I am pretty much convinced that anything in the range between 220 Ohms and 1 KOhm will do. Eproms used to have internal clamping-diodes so that a minor overvoltage at the inputs would not harm under normal circumstances - except the voltage is a lot over +5V DC. The AMD 27C256 Eproms that I used are spec'd to tolerate +7V DC at the input pins according to the AMD datasheet. But you should not take that as given for all Eproms. Generally you should keep the input voltage in the +5V range.



The Balance: Advantages and Disadvantages

First off: this schematic can be used for "common cathode" clocks only. If your clock has a "common anode" and the timer chip pulls each segment low to get it activated you will have to alter the circuit. You will have to use pull-up resistors on the Eprom adress-lines (4.7 KOhms should do - probably resistor packs with 8 resistors to a common pin). You will have to reverse all values for the "0"s and "1"s in the table further above - and recalculate the Eprom cell-adresses. Common cathode displays are active-high, means: on when the output goes to logical "1". Common anode displays are active-low. The segment lights up, when the output goes to logical "0". Therefore the recalculation of the Eprom values.

Problematically are clocks that use a voltage other than 5 VDC on the output pins. Some CMOS clocks run with lower voltages, some with higher. I had the luck that my clock is within a 10% limit, which is "just so" tolerated by the 27C256 Eproms as input voltage to any of the adress pins.

A much higher input voltage (over 5.5 VDC) can be reduced with either 2-resistor voltage dividers -or- resistor / Z-Diode combinations. In most cases the serial resistors mentioned further above will do. In the worst case you need at least 2 resistors or 1 resistor / 1 Z-Diode for each segment. That's quite a bit - and since you need (at least) 4 Eproms, 4 4028s and 29 transistors + 29 resistors for the segment drivers the conversion circuit might become pretty large. If you want to "Nixify" e.g. a frequency counter or any other digital LED-instrument your conversion may soon be outside any reasonability.
But you decide.

Clocks that use a much lower output voltage are even more delicate to handle. If they are using "common cathode" layout you need to install a transistorized segment interface (29 of them for a 24-hours display HH:MM) using a current-limiting resistor to the base of a transistor. Emitter of each goes to GND, collectors to Eprom inputs with a 10K pull-up resistor to +5V DC. This -of course- reverses the polarity of the "active" signal per segment and you will have to alter your circuit as for "common anode" clocks. The additional number of parts required simply doubles and if you are going to nixify e.g. a 12-digit frequency counter you will soon reach the point, where you'd wish that you'd never tried.
Possible - but most likely unreasonable.

Also not suitable for clocks with multiplexed LED modules. Multiplexed displays -in our digital watch case- would use 7 "segment" lines and 4 "digit" lines. A single segment lights up, when the segment line and the digit line are set simultanously. On multiplexed displays you may see a slight "pulsation": the digits do not light permanently but are switched one after the other. It is possible to build a circuit to "Nixify" multiplexed LED displays - but it is a bit more complicated.

I am going to describe the multiplexed 7-Segment to Nixie conversion on a separate
Page.



Snapshots from "The Lab"

You don't think that this will work ?
Here's a picture from the current prototype. Still a bit awkward - but basically functional.

Click to enlarge !




Other related Topics:

My Nixie Tube Mini-Tester - My Little Nixie Collection
Dimming the Nixies - My Nixie Clock Project


© 2001 by Peter H. Wendt