LcdClock: Difference between revisions

From BlinkenArea Wiki
Jump to: navigation, search
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 38: Line 38:
=== Vorteiler ===
=== Vorteiler ===


Der Vorteiler bekommt das 2-Hz-Signal vom 4060 und teilt es auf 1/60 Hz, also einen Impuls pro Minute, herunter. Für diese Funktion wird das recht ungewöhnliche IC 40102 verwendet. Es enthält einen Voreinstellbaren 2-stelligen BCD-Abwärtszähler. Der Zählerstand ist zwar nicht als Ausgang verfügbar, jedoch geht der CO/ZO-Ausgang (count out/zero out) auf low, wenn der Zählerstand Null erreicht. Da der Zähler das BCD-System (binary coded decimal) verwendet, ist der maximal voreinstellbare Zählerstand eigentlich 99, eine Division durch 120 (von 2 Hz auf 1/60 Hz) erscheint also erstmal unmöglich. Es ist jedoch problemlos möglich, den Zähler mit einem Wert größer als 9 zu laden, und ein Voreinstell-Wert von 0xB9 resultiert in einem Zählerstand von 119.
Der Vorteiler bekommt das 2-Hz-Signal vom 4060 und teilt es auf 1/60 Hz, also einen Impuls pro Minute, herunter. Für diese Funktion wird das recht ungewöhnliche IC 40102 verwendet. Es enthält einen voreinstellbaren 2-stelligen BCD-Abwärtszähler. Der Zählerstand ist zwar nicht als Ausgang verfügbar, jedoch geht der CO/ZO-Ausgang (carry out/zero out) auf low, wenn der Zählerstand Null erreicht. Da der Zähler das BCD-System (binary coded decimal) verwendet, ist der maximal voreinstellbare Zählerstand eigentlich 99, eine Division durch 120 (von 2 Hz auf 1/60 Hz) erscheint also erstmal unmöglich. Es ist jedoch problemlos möglich, den Zähler mit einem Wert größer als 9 zu laden, und ein Voreinstell-Wert von 0xB9 resultiert in einem Zählerstand von 119.


Nach dem Voreinstellen sind 119 Takt-Impulse notwendig, bis der Zähler auf 0 steht. Der ZO-Ausgang ist mit dem SPE-Eingang (synchronous programming enable) verbunden, so dass sich der Zähler beim nächsten (120.) Taktimpuls nicht auf 99 zurückstellt, sondern mit dem extern verdrahteten Wert von 119 geladen wird. Das CO-Ausgangssignal ist also einmal pro Minute für 0.5 s (eine 2-Hz-Periode) low und eignet sich daher als Takt für den Minutenzähler.
Nach dem Voreinstellen sind 119 Takt-Impulse notwendig, bis der Zähler auf 0 steht. Der ZO-Ausgang ist mit dem SPE-Eingang (synchronous programming enable) verbunden, so dass sich der Zähler beim nächsten (120.) Taktimpuls nicht auf 99 zurückstellt, sondern mit dem extern verdrahteten Wert von 119 geladen wird. Das CO-Ausgangssignal ist also einmal pro Minute für 0.5 s (eine 2-Hz-Periode) low und eignet sich daher als Takt für den Minutenzähler.


Der Vorteiler wird auch sofort auf 119 gesetzt, wenn der APE-Eingang low gemacht wird. Taktimpulse werden ignoriert, bis der APE-Eingang wieder high ist. Diese Funktion wird verwendet, um die Uhr sekundengenau stellen zu können.
Der Vorteiler wird auch sofort auf 119 gesetzt, wenn der APE-Eingang (asynchronous programming enable) low gemacht wird. Taktimpulse werden ignoriert, bis der APE-Eingang wieder high ist. Diese Funktion wird verwendet, um die Uhr sekundengenau stellen zu können.


=== Minuten- und Stundenzähler ===
=== Minuten- und Stundenzähler ===


Jeder der beiden Zähler verwendet ein 4518 Doppel-BCD-Zähler-IC. Jedes der ICs enthält zwei unabhängige BCD-Zähler, die jeweils von 0 bis 9 zählen und dann wieder auf 0 zurückfallen. Der Schaltplan zeigt die beiden BCD-Zähler als separate Einheiten, obwohl sie auf dem gleichen Mikrochip untergebracht sind. Die Zählweise ist für die Einerstellen korrekt, aber die Minuten-Zehner müssen bereits von 5 auf 0 zurückfallen, und der Stundenzähler muss nach einem Stand von 23 wieder auf 00 zurückgesetzt werden, es ist also eine zusätzliche Schaltung nötig. Die Zähler haben Rücksetz-Eingänge, um sie auf 0 zu stellen, so dass lediglich ein zusätzliches UND-Gatter benötigt wird. Das IC 4081 enthält vier solche Gatter. Die Zehnerstelle des Minutenzählers wird auf 0 zurückgesetzt, wenn die Ausgänge 2^1 ("B") und 2^2 ("C") gleichzeitig high sind, was bei einem Zählerstand von 6 der Fall ist. Die beiden Stundenzähler-Stellen werden auf 0 zurückgesetzt, wenn die Ausgänge 2^2 ("C") der Einerstelle und 2^1 ("B") der Zehnerstelle gleichzeitig high sind, d.h. wenn der Zählerstand 24 erreicht hat.
Jeder der beiden Zähler verwendet ein 4518 Doppel-BCD-Zähler-IC. Jedes der ICs enthält zwei unabhängige BCD-Zähler, die jeweils von 0 bis 9 zählen und dann wieder auf 0 zurückfallen. Der Schaltplan zeigt die beiden BCD-Zähler als separate Einheiten, obwohl sie auf dem gleichen Mikrochip untergebracht sind. Die Zählweise ist für die Einerstellen korrekt, aber die Minuten-Zehner müssen bereits von 5 auf 0 zurückfallen, und der Stundenzähler muss nach einem Stand von 23 wieder auf 00 zurückgesetzt werden, es ist also eine zusätzliche Schaltung nötig. Die Zähler haben Rücksetz-Eingänge, um sie auf 0 zu stellen, so dass lediglich ein zusätzliches UND-Gatter benötigt wird. Das IC 4081 enthält vier solche Gatter. Die Zehnerstelle des Minutenzählers wird auf 0 zurückgesetzt, wenn die Ausgänge ("B") und ("C") gleichzeitig high sind, was bei einem Zählerstand von 6 der Fall ist. Die beiden Stundenzähler-Stellen werden auf 0 zurückgesetzt, wenn die Ausgänge ("C") der Einerstelle und ("B") der Zehnerstelle gleichzeitig high sind, d.h. wenn der Zählerstand 24 erreicht hat.


Die Zähler-ICs haben außerdem ein praktisches ODER-Gatter am Takteingang, mit einem direkten und einem invertierten Eingang. Dieses Gatter ist nützlich um die Stelltaster anzuschließen, für die sonst ein zusätzliches IC nötig wäre, um deren Signals mit den Ausgangssignalen der vorhergehenden Stufe (Vorteiler für den Minutentakt und Minuten-Ausgang für den Stundentakt) zu kombinieren. Die Stelltaster funktionieren nur, wenn der andere Eingang des ODER-Gatters nicht aktiv ist (aktiv bedeutet high für den direkten und low für den invertierten Eingang), andernfalls ist der Ausgang des ODER-Gatters dauerhaft high und das Signal vom Taster erreicht den Takteingang nicht. Umgekehrt müssen auch die Signale von den Tastern ihren ODER-Gatter-Eingang inaktiv halten, wenn sie nicht gedrückt sind, damit die Taktimpulse der vorhergehenden Stufe den Zähler erreichen können.
Die Zähler-ICs haben außerdem ein praktisches ODER-Gatter am Takteingang, mit einem direkten und einem invertierten Eingang. Dieses Gatter ist nützlich um die Stelltaster anzuschließen, für die sonst ein zusätzliches IC nötig wäre, um deren Signals mit den Ausgangssignalen der vorhergehenden Stufe (Vorteiler für den Minutentakt und Minuten-Ausgang für den Stundentakt) zu kombinieren. Die Stelltaster funktionieren nur, wenn der andere Eingang des ODER-Gatters nicht aktiv ist (aktiv bedeutet high für den direkten und low für den invertierten Eingang), andernfalls ist der Ausgang des ODER-Gatters dauerhaft high und das Signal vom Taster erreicht den Takteingang nicht. Umgekehrt müssen auch die Signale von den Tastern ihren ODER-Gatter-Eingang inaktiv halten, wenn sie nicht gedrückt sind, damit die Taktimpulse der vorhergehenden Stufe den Zähler erreichen können.
Line 52: Line 52:
Da der Ausgang des Vorteilers nur einmal pro Minute für eine halbe Sekunde low ist, ist er mit dem invertierenden Eingang des Zählers verbunden. Der Minuten-Stelltaster ist zwar während diese halben Sekunde blockiert, es ist aber unwahrscheinlich, dass er genau zu diesem Zeitpunkt gedrückt wird, und selbst wenn, wird der nächste Tastendruck eine halbe Sekunde später wieder erkannt. Der Stundenzähler wird mit dem Zurücksetzen-Signal des Minutenzählers getaktet, welches nur so lange high ist, wie der Minutenzähler braucht, um sich auf 0 zurückzusetzen (ein paar Mikrosekunden). Da das Signal sonst immer low ist, ist es mit dem direkten Eingang des Stundenzählers verbunden.
Da der Ausgang des Vorteilers nur einmal pro Minute für eine halbe Sekunde low ist, ist er mit dem invertierenden Eingang des Zählers verbunden. Der Minuten-Stelltaster ist zwar während diese halben Sekunde blockiert, es ist aber unwahrscheinlich, dass er genau zu diesem Zeitpunkt gedrückt wird, und selbst wenn, wird der nächste Tastendruck eine halbe Sekunde später wieder erkannt. Der Stundenzähler wird mit dem Zurücksetzen-Signal des Minutenzählers getaktet, welches nur so lange high ist, wie der Minutenzähler braucht, um sich auf 0 zurückzusetzen (ein paar Mikrosekunden). Da das Signal sonst immer low ist, ist es mit dem direkten Eingang des Stundenzählers verbunden.


Die Zehnerstellen-Zähler werden vom 2^3-Ausgang ("D") der dazugehörigen Einerstelle getaktet, der bei einem Zählerstand von 8 high wird und erst wieder auf low geht, wenn der Zähler von 9 auf 0 springt. Die Zehnerstelle soll beim zurückspringen der Einerstelle erhöht werden, also wird der invertierende Eingang verwendet, der Zähler wird so bei einer fallenden Flanke (high auf low) getaktet. Da der andere Eingang unbenutzt ist, stört er nicht, dass das Eingangssignal low bleibt, bis die Einerstelle wieder auf 8 steht.
Die Zehnerstellen-Zähler werden vom -Ausgang ("D") der dazugehörigen Einerstelle getaktet, der bei einem Zählerstand von 8 high wird und erst wieder auf low geht, wenn der Zähler von 9 auf 0 springt. Die Zehnerstelle soll beim zurückspringen der Einerstelle erhöht werden, also wird der invertierende Eingang verwendet, der Zähler wird so bei einer fallenden Flanke (high auf low) getaktet. Da der andere Eingang unbenutzt ist, stört es nicht, dass das Eingangssignal low bleibt, bis die Einerstelle wieder auf 8 steht.


=== Set Buttons ===
=== Stelltaster ===


The set buttons advance their corresponding counters by one every time they're pressed. Mechanical buttons have "bounce", which means when it is pressed, the electrical connection closes and opens several times for a few milliseconds before the contact is permanently closed, and the same can happen when the button is released. If the button were connected to the clock input of a counter directly, every bounce would increment the counter, making button operation very erratic. To avoid this, a debouncing circuit is needed betweeen the button and the clock input. This design uses a capacitor that is rapidly discharged when the button is pressed (through the 270 Ω resistor) and slowly charged again after the button is released (through the 100 kΩ resistor). The time between bounces is too short for the capacitor to charge again, so the output doesn't change. The capacitor and charge resistor are chosen so the capacitor can't charge to a significant voltage during bounces, but charges enough between two presses of the button. With a quick finger, the time between button release and the next button press can be as low as 20 ms. The 270 Ω resistor is needed to protect the button: without it, the capacitor discharge current would only be limited by the internal resistance of the capacitor and button and the circuit board traces, exceeding the specified current for the button and severely reducing its lifetime.  
Die Stelltaster erhöhen den Stand des dazugehörigen Zählers bei jedem Druck um eins. Mechanische Taster "prellen", d.h. beim Drücken schließt und öffnet der Kontakt mehrmals für ein paar Millisekunden, bevor er schließlich geschlossen bleibt, und beim Loslassen passiert das gleiche. Wird der Taster direkt mit dem Takteingang eines Zählers verbunden, würde er bei jedem Tastendruck mehrmals weiterzählen. Um das zu verhindern ist eine Entprellschaltung zwischen Taster und Zähler nötig. Diese Uhr verwendet dafür einen Kondensator, der bei Tastendruck schnell entladen (durch den 270-Ω-Widerstand) und nach dem Loslassen langsam wieder aufgeladen wird (durch den 100-kΩ-Widerstand). Das Prellen ist zu kurz, als dass sich der Kondensator wieder aufladen könnte, der Ausgang ändert sich daher nicht. Kondensator und Ladewiderstand sind so gewählt, dass sich der Kondensator während des Prellens nicht auf eine nennenswerte Spannung auflädt, jedoch zwischen zwei Tastendrücken weit genug geladen wird. Mit einem schnellen Finger liegen zwischen zwei Tastendrücken manchmal nur 20 ms. Der 270-Ω-Widerstand wird benötigt, um den Entladestrom des Kondensators zu begrenzen: ohne Widerstand würde der Entladestrom nur durch den eigenen Innenwiderstand und den des Tasters sowie die Leiterbahnen auf der Platine begrenzt, wäre also ein Vielfaches größer als die Spezifikation des Tasters erlaubt.  


The signal on the capacitor rises slowly as the capacitor is charging, but the clock input expects a quick transition between the two logic states (low, i.e. close to ground level, and high, i.e. close to the supply voltage). For this reason, resistors are connected across the two remaining AND gates, thereby creating a hysteresis. If the AND gate's output is high, it also pulls the input high through a feedback resistor, so the voltage on the input resistor must be close to ground level before the gate's input will detect a low level. Once it does detect a low level, the output starts changing to low and thereby pulls the input even lower through the feedback resistor, making the output change state even faster. This is called a Schmitt-trigger circuit. Some ICs provide logic gates with Schmitt-trigger inputs, but no AND gates with Schmitt-trigger inputs are available in the 4000 family (only NAND gates).
Die Spannung am Kondensator steigt nur langsam, während der Kondensator sich auflädt, der Takteingang benötigt aber einen möglichst schnellen Wechsel zwischen den zwei Logikzuständen (low, nah an Masse, und high, nah an der Versorgungsspannung). Deshalb werden die zwei übrigen UND-Gatter mit Widerständen versehen, so dass eine Hysterese entsteht. Wenn der Ausgang des UND-Gatters high ist, zieht es mit dem Rückkoppelwiderstand auch seinen Eingang auf high, so dass vor dem Eingangswiderstand eine deutlich niedrigere Spannung anliegen muss, bevor auch der Eingang des Gatters ein low erkennt. Sobald der Gatter-Eingang ein low erkennt, beginnt der Gatter-Ausgang auf low zu gehen und zieht durch den Rückkoppelwiderstand auch den Eingang weiter auf low, so dass sich der Zustand schneller ändert. Ein so rückgekoppeltes Gatter nennt man Schmitt-Trigger. Es gibt ICs, die fertige Gatter mit Schmitt-Trigger-Eingängen enthalten, in der 4000-Serie gibt es jedoch keine Schmitt-Trigger-UND-Gatter (nur NAND).


=== Display Drivers and LCD ===
=== Anzeigentreiber und LCD ===


A liquid crystal display consists of two glass plates with a liquid between them. The glass plates have transparent metal electrodes in the shape of the segments on them. If an AC waveform is applied between two electrodes, the crystals in the liquid rotates, also rotating the polarisation of any light passing through that area. Polarisation filters in front of and behind the LCD determine if the non-rotated or the rotated light can pass -- for the LCD used in the clock, the non-rotated polarisation can pass, causing the background of the LCD to appear bright and the active segments to appear dark. The display for the clock is the simplest type of LCD, called a "static" LCD. This means that one of the glass plates is completely covered with a single electrode, which is called the backplane (BP). This means there is no "multiplexing" and every segment has its own electrode (and its own pin) on the other glass plate.  
Eine Flüssigkristallanzeige besteht aus zwei Glasplatten mit einer Flüssigkeit dazwischen. Auf den Glasplatten befinden sich transparente Metallelektroden in der Form der Segmente. Wenn eine Wechselspannung zwischen den Elektroden anliegt, drehen sich die Kristalle in der Flüssigkeit, so dass sich auch die Polarisation hindurchscheinendes Lichts dreht. Polarisationsfilter vor und hinter dem LCD bestimmen, ob gedrehtes oder nicht gedrehtes Licht passieren kann -- beim LCD in dieser Uhr kann nur das nicht-gedrehte Licht passieren, daher ist der Hintergrund hell und eingeschaltete Segmente erscheinen dunkel. Die verwendete Anzeige ist die einfachste Form eines LCD, ein sogenanntes "statisches" LCD. Bei diesen LCDs ist eine Glasplatte vollflächig mit einer Elektrode bedeckt, die sogenannte Backplane (BP). Es findet also kein "Multiplexing" statt, jedes Segment hat seine eigene Elektrode (und seinen eigenen Anschluss) auf der anderen Glasplatte.


It is very important that LCDs are driven with an AC waveform with no "DC component" (that means the average, over time, of the voltage between the backplane and a segment is zero) to avoid degrading. The simplest way to generate an AC waveform is to connect a square wave with 50% duty cycle (i.e. a signal that changes between high and low with a constant frequency, and the high period is exactly as long as the low period) to the backplane, and then applying the inverted signal to segments that should be visible. This causes the voltage between the electrodes to change between the supply voltage Vdd (+4.5V with fresh batteries) and the negative supply voltage −Vdd, and the average is zero (50% * +Vdd + 50% * −Vdd = 0).
LCDs dürfen nur mit Wechselspannung ohne Gleichanteil betrieben werden, da sie sonst schnell zerstört werden. Ohne Gleichanteil heißt, dass die durchschnittliche Spannung zwischen der Backplane und einem Segment über die Zeit betrachtet null sein muss. Eine Wechselspannung kann am einfachsten aus einem Rechtecksignal mit 50% Tastverhältnis (d.h. genausolange high wie low) gewonnen werden. Dieses Signal wird an die Backplane gelegt, aktive Segmente bekommen das invertierte Signal zugeführt. Dadurch liegt zwischen den Elektroden abwechselnd die Betriebsspannung Vdd (+4.5V bei vollen Batterien) und die negative Betriebsspannung −Vdd an, und die Durchschnittsspannung ist null (50% * +Vdd + 50% * −Vdd = 0).


Fortunately, suitable square wave signals with different frequencies are available from the various stage outputs on the 4060 IC. The frequency for the LCD should be high enough to avoid flicker (at least 30 Hz), but not too high as every time the polarity across the LCD changes, a little bit of power is consumed (the electrodes on the two glass plates form a capacitor). For the clock, output Q9 was chosen, which provides 32768 Hz / 2^9 = 64  Hz. To make the colon show up, an inverted signal would be required, but none is available without the use of an additional inverter IC. Instead, the 128 Hz output of the 4060 is connected to the colon. This signal changes its state twice as often as the backplane signal, resulting in the voltage over the colon going through 4 states during each 64 Hz cycle:
Glïcklicherweise sind geeignete Rechtecksignale mit verschiedenen Frequenzen an den Ausgängen des 4060 verfügbar. Die Frequenz für das LCD sollte hoch genug sein, damit es nicht flackert (min. 30 Hz), aber auch nicht zu hoch, da bei jedem Polaritätswechsel ein bisschen Energie verbraucht wird (die Elektroden auf den beiden Glasplatten bilden einen Kondensator). Für die Uhr wurde Ausgang Q9 mit einer Frequenz von 32768 Hz / 2⁹ = 64  Hz gewählt. Damit der Doppelpunkt angezeigt wird, wäre eigentlich ein invertiertes Signal erforderlich, welches ohne zusätzliches Inverter-IC aber nicht verfügbar ist. Stattdessen wird der 128-Hz-Ausgang des 4060 verwendet. Dieses Signal ändert seinen Zustand doppelt so oft wie die Backplane, so dass sich für die Spannung zwischen Doppelpunkt-Elektrode und Backplane in jedem 64-Hz-Zyklus 4 Zustände ergeben:
* 00 (both low): 0 V
* 00 (beide low): 0 V
* 01 (128 Hz high): +Vcc
* 01 (128 Hz high): +Vdd
* 10 (64 Hz high): −Vcc
* 10 (64 Hz high): −Vdd
* 11 (both high): 0 V
* 11 (beide high): 0 V
The average is still 0, so the LCD won't be damaged, but as the voltage is zero for half the time, this could be compared to driving an LED with a 50% PWM signal. Fortunately, the opaqueness of the LCD isn't linear with the voltage, and once fully turned on, it can't get any darker. As a result, the colon is still as dark as the segments with fresh batteries, and can even act as a low battery indicator when it becomes fainter than the segments.
Der Durchschnitt ist immernoch 0, das LCD wird also nicht beschädigt, aber die Momentanspannung ist auch die halbe Zeit null, man könnte die Ansteuerung also mit einer LED an einem 50%-PWM-Signal vergleichen. Glücklicherweise ist die Schwärze der LCD-Segmente aber nicht linear zur Spannung: wenn ein Segment seine volle Schwärze erreicht hat, wird es auch mit mehr Spannung nicht mehr schwärzer. Mit vollen Batterien ist der Doppelpunkt genauso dunkel wie die anderen Segmente und dient ausserdem als Batterie-Leer-Anzeige, wenn er verglichen mit den anderen Segmenten blasser erscheint.  


The segments are driven by one 4543 IC per digit. The ICs combine two functions: decoding the 4-bit BCD input to signals for the 7 display segments, and inverting the backplane signal for signals which should be visible. Inactive segments receive the same signal as the backplane, so the voltage between the two electrodes is always zero. The backplane waveform is provided to each IC at the PH (phase) input. The ICs also have two functions which are unused in the clock: BI (blanking input) is used to turn off all segments when driven high, and LE (latch enable) can be used to store the digit internally and not react to changes on the BCD inputs while driven low.
Die Segmente werden von einem IC 4543 pro Stelle angesteuert. Das IC hat zwei Funktionen: die 4-Bit-BCD-Eingangssignale zu Signalen für die 7 Anzeigesegmente zu dekodieren und das Backplane-Signal für aktive Segmente zu invertieren. Ausgeschaltete Segmente erhalten das gleiche Signal wie die Backplane, so dass die Spannung zwischen den beiden Elektroden zu jedem Zeitpunkt null ist. Das Backplane-Signal liegt an jedem IC am PH-Eingang (Phase) an. Die ICs haben noch zwei weitere Funktionen, die in der Uhr ungenutzt bleiben: den Austasteingang BI (Blanking Input), welcher bei einem high-Signal alle Segmente abschaltet, und den Speichereingang LE (Latch Enable), welcher die Ziffer intern speichert und nicht mehr auf Änderungen des BCD-Eingangs reagiert, solange LE low ist.
 
[[Category:Projekte]]

Latest revision as of 00:34, 4 March 2023

zur Projektübersicht
English Version of this Page
LcdClock.jpg
Jahr 2020
Anzahl Pixel 29
Graustufen / Farben 2
Leuchtmittel LCD
Leistungsaufnahme 4.5 V, 100 µA
Kontaktperson Arne Rossius
Projekt-Website

Die CMOS-LCD-Uhr ist eine einfacher 24-Stunden-Uhr mit CMOS-Logik-ICs aus der 4000-Serie. Die Schaltung ist so entworfen, dass möglichst wenige ICs benötigt werden, ohne dass die Uhr schwieriger zu benutzen ist. Die Zeit (Stunden und Minuten) wird auf einer großen Siebensegment-Flüssigkristallanzeige angezeigt, außerdem gibt es zwei Taster zum Stellen. Die Uhr wird mit 3 AAA-Batterien versorgt und verwendet einen Standard-Uhrenquarz als Zeitbasis.

Hardware

Rev. 1.0

Funktionsbeschreibung

Die Uhr besteht aus 5 Funktionsblöcken:

  • Quarzoszillator
  • Vorteiler
  • Minuten- und Stundenzähler
  • Stelltaster
  • Anzeigetreiber und LCD

Quarzoszillator

Der Quarzoszillator basiert auf einem 4060, welcher den Großteil der Oszillator-Schaltung und einen 14-stufigen Binärteiler enthält. Mit einem gewöhnlichen 32768-Hz-Uhrenquarz ergibt sich daher eine Ausgangsfrequenz von 2 Hz. Außerdem stellt das IC die Ausgänge einiger Zwischenstufen zur Verfügung, die vom LCD verwendet werden (siehe unten). Die Frequenz des Oszillators kann durch verändern der Lastkapazität am Quarz feinjustiert werden. Damit die Uhr so genau wie möglich geht, ist ein Trimmer-Kondensator verbaut, mit dem die Lastkapazität einfach justiert werden kann. Beim Einbau des Trimmer-Kondensators ist es wichtig, dass die Metallspindel mit Masse verbunden ist, andernfalls wird die Lastkapazität beim Justieren mit einem Metall-Schraubendreher beeinflusst und die tatsächliche Frequenz kann erst nach dem Wegnehmen des Schraubendrehers gemessen werden.

Vorteiler

Der Vorteiler bekommt das 2-Hz-Signal vom 4060 und teilt es auf 1/60 Hz, also einen Impuls pro Minute, herunter. Für diese Funktion wird das recht ungewöhnliche IC 40102 verwendet. Es enthält einen voreinstellbaren 2-stelligen BCD-Abwärtszähler. Der Zählerstand ist zwar nicht als Ausgang verfügbar, jedoch geht der CO/ZO-Ausgang (carry out/zero out) auf low, wenn der Zählerstand Null erreicht. Da der Zähler das BCD-System (binary coded decimal) verwendet, ist der maximal voreinstellbare Zählerstand eigentlich 99, eine Division durch 120 (von 2 Hz auf 1/60 Hz) erscheint also erstmal unmöglich. Es ist jedoch problemlos möglich, den Zähler mit einem Wert größer als 9 zu laden, und ein Voreinstell-Wert von 0xB9 resultiert in einem Zählerstand von 119.

Nach dem Voreinstellen sind 119 Takt-Impulse notwendig, bis der Zähler auf 0 steht. Der ZO-Ausgang ist mit dem SPE-Eingang (synchronous programming enable) verbunden, so dass sich der Zähler beim nächsten (120.) Taktimpuls nicht auf 99 zurückstellt, sondern mit dem extern verdrahteten Wert von 119 geladen wird. Das CO-Ausgangssignal ist also einmal pro Minute für 0.5 s (eine 2-Hz-Periode) low und eignet sich daher als Takt für den Minutenzähler.

Der Vorteiler wird auch sofort auf 119 gesetzt, wenn der APE-Eingang (asynchronous programming enable) low gemacht wird. Taktimpulse werden ignoriert, bis der APE-Eingang wieder high ist. Diese Funktion wird verwendet, um die Uhr sekundengenau stellen zu können.

Minuten- und Stundenzähler

Jeder der beiden Zähler verwendet ein 4518 Doppel-BCD-Zähler-IC. Jedes der ICs enthält zwei unabhängige BCD-Zähler, die jeweils von 0 bis 9 zählen und dann wieder auf 0 zurückfallen. Der Schaltplan zeigt die beiden BCD-Zähler als separate Einheiten, obwohl sie auf dem gleichen Mikrochip untergebracht sind. Die Zählweise ist für die Einerstellen korrekt, aber die Minuten-Zehner müssen bereits von 5 auf 0 zurückfallen, und der Stundenzähler muss nach einem Stand von 23 wieder auf 00 zurückgesetzt werden, es ist also eine zusätzliche Schaltung nötig. Die Zähler haben Rücksetz-Eingänge, um sie auf 0 zu stellen, so dass lediglich ein zusätzliches UND-Gatter benötigt wird. Das IC 4081 enthält vier solche Gatter. Die Zehnerstelle des Minutenzählers wird auf 0 zurückgesetzt, wenn die Ausgänge 2¹ ("B") und 2² ("C") gleichzeitig high sind, was bei einem Zählerstand von 6 der Fall ist. Die beiden Stundenzähler-Stellen werden auf 0 zurückgesetzt, wenn die Ausgänge 2² ("C") der Einerstelle und 2¹ ("B") der Zehnerstelle gleichzeitig high sind, d.h. wenn der Zählerstand 24 erreicht hat.

Die Zähler-ICs haben außerdem ein praktisches ODER-Gatter am Takteingang, mit einem direkten und einem invertierten Eingang. Dieses Gatter ist nützlich um die Stelltaster anzuschließen, für die sonst ein zusätzliches IC nötig wäre, um deren Signals mit den Ausgangssignalen der vorhergehenden Stufe (Vorteiler für den Minutentakt und Minuten-Ausgang für den Stundentakt) zu kombinieren. Die Stelltaster funktionieren nur, wenn der andere Eingang des ODER-Gatters nicht aktiv ist (aktiv bedeutet high für den direkten und low für den invertierten Eingang), andernfalls ist der Ausgang des ODER-Gatters dauerhaft high und das Signal vom Taster erreicht den Takteingang nicht. Umgekehrt müssen auch die Signale von den Tastern ihren ODER-Gatter-Eingang inaktiv halten, wenn sie nicht gedrückt sind, damit die Taktimpulse der vorhergehenden Stufe den Zähler erreichen können.

Da der Ausgang des Vorteilers nur einmal pro Minute für eine halbe Sekunde low ist, ist er mit dem invertierenden Eingang des Zählers verbunden. Der Minuten-Stelltaster ist zwar während diese halben Sekunde blockiert, es ist aber unwahrscheinlich, dass er genau zu diesem Zeitpunkt gedrückt wird, und selbst wenn, wird der nächste Tastendruck eine halbe Sekunde später wieder erkannt. Der Stundenzähler wird mit dem Zurücksetzen-Signal des Minutenzählers getaktet, welches nur so lange high ist, wie der Minutenzähler braucht, um sich auf 0 zurückzusetzen (ein paar Mikrosekunden). Da das Signal sonst immer low ist, ist es mit dem direkten Eingang des Stundenzählers verbunden.

Die Zehnerstellen-Zähler werden vom 2³-Ausgang ("D") der dazugehörigen Einerstelle getaktet, der bei einem Zählerstand von 8 high wird und erst wieder auf low geht, wenn der Zähler von 9 auf 0 springt. Die Zehnerstelle soll beim zurückspringen der Einerstelle erhöht werden, also wird der invertierende Eingang verwendet, der Zähler wird so bei einer fallenden Flanke (high auf low) getaktet. Da der andere Eingang unbenutzt ist, stört es nicht, dass das Eingangssignal low bleibt, bis die Einerstelle wieder auf 8 steht.

Stelltaster

Die Stelltaster erhöhen den Stand des dazugehörigen Zählers bei jedem Druck um eins. Mechanische Taster "prellen", d.h. beim Drücken schließt und öffnet der Kontakt mehrmals für ein paar Millisekunden, bevor er schließlich geschlossen bleibt, und beim Loslassen passiert das gleiche. Wird der Taster direkt mit dem Takteingang eines Zählers verbunden, würde er bei jedem Tastendruck mehrmals weiterzählen. Um das zu verhindern ist eine Entprellschaltung zwischen Taster und Zähler nötig. Diese Uhr verwendet dafür einen Kondensator, der bei Tastendruck schnell entladen (durch den 270-Ω-Widerstand) und nach dem Loslassen langsam wieder aufgeladen wird (durch den 100-kΩ-Widerstand). Das Prellen ist zu kurz, als dass sich der Kondensator wieder aufladen könnte, der Ausgang ändert sich daher nicht. Kondensator und Ladewiderstand sind so gewählt, dass sich der Kondensator während des Prellens nicht auf eine nennenswerte Spannung auflädt, jedoch zwischen zwei Tastendrücken weit genug geladen wird. Mit einem schnellen Finger liegen zwischen zwei Tastendrücken manchmal nur 20 ms. Der 270-Ω-Widerstand wird benötigt, um den Entladestrom des Kondensators zu begrenzen: ohne Widerstand würde der Entladestrom nur durch den eigenen Innenwiderstand und den des Tasters sowie die Leiterbahnen auf der Platine begrenzt, wäre also ein Vielfaches größer als die Spezifikation des Tasters erlaubt.

Die Spannung am Kondensator steigt nur langsam, während der Kondensator sich auflädt, der Takteingang benötigt aber einen möglichst schnellen Wechsel zwischen den zwei Logikzuständen (low, nah an Masse, und high, nah an der Versorgungsspannung). Deshalb werden die zwei übrigen UND-Gatter mit Widerständen versehen, so dass eine Hysterese entsteht. Wenn der Ausgang des UND-Gatters high ist, zieht es mit dem Rückkoppelwiderstand auch seinen Eingang auf high, so dass vor dem Eingangswiderstand eine deutlich niedrigere Spannung anliegen muss, bevor auch der Eingang des Gatters ein low erkennt. Sobald der Gatter-Eingang ein low erkennt, beginnt der Gatter-Ausgang auf low zu gehen und zieht durch den Rückkoppelwiderstand auch den Eingang weiter auf low, so dass sich der Zustand schneller ändert. Ein so rückgekoppeltes Gatter nennt man Schmitt-Trigger. Es gibt ICs, die fertige Gatter mit Schmitt-Trigger-Eingängen enthalten, in der 4000-Serie gibt es jedoch keine Schmitt-Trigger-UND-Gatter (nur NAND).

Anzeigentreiber und LCD

Eine Flüssigkristallanzeige besteht aus zwei Glasplatten mit einer Flüssigkeit dazwischen. Auf den Glasplatten befinden sich transparente Metallelektroden in der Form der Segmente. Wenn eine Wechselspannung zwischen den Elektroden anliegt, drehen sich die Kristalle in der Flüssigkeit, so dass sich auch die Polarisation hindurchscheinendes Lichts dreht. Polarisationsfilter vor und hinter dem LCD bestimmen, ob gedrehtes oder nicht gedrehtes Licht passieren kann -- beim LCD in dieser Uhr kann nur das nicht-gedrehte Licht passieren, daher ist der Hintergrund hell und eingeschaltete Segmente erscheinen dunkel. Die verwendete Anzeige ist die einfachste Form eines LCD, ein sogenanntes "statisches" LCD. Bei diesen LCDs ist eine Glasplatte vollflächig mit einer Elektrode bedeckt, die sogenannte Backplane (BP). Es findet also kein "Multiplexing" statt, jedes Segment hat seine eigene Elektrode (und seinen eigenen Anschluss) auf der anderen Glasplatte.

LCDs dürfen nur mit Wechselspannung ohne Gleichanteil betrieben werden, da sie sonst schnell zerstört werden. Ohne Gleichanteil heißt, dass die durchschnittliche Spannung zwischen der Backplane und einem Segment über die Zeit betrachtet null sein muss. Eine Wechselspannung kann am einfachsten aus einem Rechtecksignal mit 50% Tastverhältnis (d.h. genausolange high wie low) gewonnen werden. Dieses Signal wird an die Backplane gelegt, aktive Segmente bekommen das invertierte Signal zugeführt. Dadurch liegt zwischen den Elektroden abwechselnd die Betriebsspannung Vdd (+4.5V bei vollen Batterien) und die negative Betriebsspannung −Vdd an, und die Durchschnittsspannung ist null (50% * +Vdd + 50% * −Vdd = 0).

Glïcklicherweise sind geeignete Rechtecksignale mit verschiedenen Frequenzen an den Ausgängen des 4060 verfügbar. Die Frequenz für das LCD sollte hoch genug sein, damit es nicht flackert (min. 30 Hz), aber auch nicht zu hoch, da bei jedem Polaritätswechsel ein bisschen Energie verbraucht wird (die Elektroden auf den beiden Glasplatten bilden einen Kondensator). Für die Uhr wurde Ausgang Q9 mit einer Frequenz von 32768 Hz / 2⁹ = 64  Hz gewählt. Damit der Doppelpunkt angezeigt wird, wäre eigentlich ein invertiertes Signal erforderlich, welches ohne zusätzliches Inverter-IC aber nicht verfügbar ist. Stattdessen wird der 128-Hz-Ausgang des 4060 verwendet. Dieses Signal ändert seinen Zustand doppelt so oft wie die Backplane, so dass sich für die Spannung zwischen Doppelpunkt-Elektrode und Backplane in jedem 64-Hz-Zyklus 4 Zustände ergeben:

  • 00 (beide low): 0 V
  • 01 (128 Hz high): +Vdd
  • 10 (64 Hz high): −Vdd
  • 11 (beide high): 0 V

Der Durchschnitt ist immernoch 0, das LCD wird also nicht beschädigt, aber die Momentanspannung ist auch die halbe Zeit null, man könnte die Ansteuerung also mit einer LED an einem 50%-PWM-Signal vergleichen. Glücklicherweise ist die Schwärze der LCD-Segmente aber nicht linear zur Spannung: wenn ein Segment seine volle Schwärze erreicht hat, wird es auch mit mehr Spannung nicht mehr schwärzer. Mit vollen Batterien ist der Doppelpunkt genauso dunkel wie die anderen Segmente und dient ausserdem als Batterie-Leer-Anzeige, wenn er verglichen mit den anderen Segmenten blasser erscheint.

Die Segmente werden von einem IC 4543 pro Stelle angesteuert. Das IC hat zwei Funktionen: die 4-Bit-BCD-Eingangssignale zu Signalen für die 7 Anzeigesegmente zu dekodieren und das Backplane-Signal für aktive Segmente zu invertieren. Ausgeschaltete Segmente erhalten das gleiche Signal wie die Backplane, so dass die Spannung zwischen den beiden Elektroden zu jedem Zeitpunkt null ist. Das Backplane-Signal liegt an jedem IC am PH-Eingang (Phase) an. Die ICs haben noch zwei weitere Funktionen, die in der Uhr ungenutzt bleiben: den Austasteingang BI (Blanking Input), welcher bei einem high-Signal alle Segmente abschaltet, und den Speichereingang LE (Latch Enable), welcher die Ziffer intern speichert und nicht mehr auf Änderungen des BCD-Eingangs reagiert, solange LE low ist.