Informations- und Kommunikationstechnik

Digitale Asynchronzähler

Ausgehend von einem Startwert ist die Erhöhung um den Wert 1 eine wiederkehrende Addition. Bis zum Erreichen eines Endwertes wird aufwärts gezählt. Bei der wiederholten Verminderung oder Subtraktion um den Wert 1 wird abwärts gezählt. Diese grundlegenden Operationen sind mit jedem Zahlensystem möglich. Die Digitaltechnik kennt mit den beiden Signalpegeln High = 1 und Low = 0 nur zwei Ziffern. Mathematische Rechenoperationen im Dualsystem sind daher lösbar. Zum elektronischen Zählen eignen sich als binär arbeitende Baugruppen die bistabilen Kippstufen, insbesondere die universell einsetzbaren Flipflops.

Die Binärzähler werden entsprechend ihrer Ansteuerung und der Zählrichtung eingeteilt. Die Taktsteuerung aller Zählerbaugruppen erfolgt bei Asynchronzählern nacheinander und bei Synchronzählern gleichzeitig. Im englischen Sprachraum werden Asynchronzähler auch als Ripple Counter bezeichnet, da sich die Steuerung einer Welle vergleichbar durch die Speicherkette fortpflanzt. Beide Zählertypen gibt es additiv als Vorwärtszähler oder subtraktiv als Rückwärtszähler. Mit Zusatzschaltungen kann die Zählrichtung wahlweise umschaltbar gemacht und der Zählbereich eingeschränkt werden. Das Ergebnis kann in diverse Zahlenkodizes umgewandelt und ausgegeben werden.

Asynchrone Dualzähler

Vorwärtszähler

Der universelle Grundbaustein eines Dualzählers ist ein als T-Flipflop geschaltetes JK-Master-Slave Flipflop. Jedes T-FF entspricht einer Binärstelle und speichert ein Bit. Durch die Reihenschaltung oder Kaskadierung der T-Flipflops entstehen mehrstellige Dualzähler. Die Zählkapazität K eines Dualzählers ist von der Anzahl n der Einzelspeicher abhängig. Ein Master-Slave Speicher bildet eine Einheit.

Zählkapazität: K = 2n−1.

Den Zählertakt steuert nur das erste Flipflop. Alle folgenden werden von Ausgangspegel ihres Vorgängers gesteuert. Auf den Takt bezogen erfolgen die Ansteuerungen der Speicherglieder asynchron.

Das Bild zeigt einen 4-Bit Asynchronzähler, aufgebaut aus zwei SN 7476 JK-Master-Slave Flipflops. Liegen die J- und K-Eingänge auf High, so wird bei jedem positiven Taktwechsel eingelesen. Das Ausgangssignal Q einer Stufe ist das Taktsignal des folgenden Flipflops. Das Zählergebnis bei diesem Master-Slave Flipflop erscheint nach der fallenden Taktflanke am Ausgang. Das Ergebnis kann ebenso noch vor der steigenden Flanke des Folgetakts abgelesen werden. Mithilfe der vom Takt unabhängigen Preset-(S)- und Clear-(R)-Eingängen kann die Ausgabe zu Beginn auf null gestellt oder anderweitig beeinflusst werden.

Der 4-Bit Vorwärtszähler zählt mit n = 4 Speicherstufen schrittweise von 0 bis 15, seinem Maximalwert 2n−1. Der 16. Takt startet mit 0 einen neuen Zyklus. Der Dualcode kann als Hexadezimalwert interpretiert werden.

Asynchroner 4-Bit Zähler

Nachteil der Asynchronzähler

Bei jeder Zählerstufe ist die Signalverarbeitungszeit zu beachten, die sich aus der Summe der Vorbereitungs- und Ausgangsverzögerungszeit berechnet. Beim Asynchronzähler addieren sich diese Laufzeiten. Ein n-Bit Zähler kann nur bis zu einer unteren Grenzfrequenz fehlerfrei arbeiten. Ist bei n gleichen Flipflops die kürzeste Schaltzeit t eines Speichers bekannt, errechnet sich die maximale Frequenz des Zähltakts zu: fg = 1 / (n + 1) · t.

Für die mittlere Schaltzeit des Speicher-ICs aus dem Simulationsprogramm werden 60 ns angegeben. Der 4-Bit Zähler mit JK-Master-Slave Flipflops besitzt n = 8 Speicher. Die Grenzfrequenz, bei der dieser Asynchronzähler noch korrekt anzeigen sollte, errechnet sich damit zu 1,8 MHz. Das folgende Bild zeigt für zwei hohe Taktfrequenzen die zum gleichen Zeitpunkt gestarteten Zeitablaufdiagramme der ersten drei Flipflops des vorhergehenden 4-Bit Zählers.

Fehler durch Signallaufzeiten beim Asynchronzähler

Mit Taktfrequenzen oberhalb 1 MHz erscheinen die Ausgangssignale nicht mehr wie im Zeitdiagramm zuvor direkt nach der fallenden Flanke. Der Zähler arbeitet noch richtig, wie an der kontinuierlichen Folge der Dualwerte zum Ende des jeweiligen Taktimpulses zu erkennen ist. Nach dem 8. Takt beginnt der neue Zyklus mit dem Dualwert 000.

Die Grenzfrequenz für den genutzten 3-Bit Zähler errechnet sich zu 2,3 MHz. Die Simulation mit dem zu hohen 5 MHz Zähltakt führt daher bedingt durch den Laufzeiteinfluss am Taktende zu einigen Falschanzeigen. Mit Ablauf des 8. Taktzyklus hat sich der Zähler nicht auf 0 gesetzt, sondern zeigt den Dualwert 100 an. Die auf den Takt bezogenen Teilersignale Q1 und Q2 sind auch nicht mehr zeitsymmetrisch.

Bei allen Asynchronzählern adieren sich die Signallaufzeiten der einzelnen Speicherstufen. Besonders betroffen sind vielstellige Bit-Zähler bei kurzen Taktzeiten. Für ein korrektes Arbeiten muss die Taktzeit größer als die Gesamtlaufzeit des Signals durch den kompletten Zähler sein.

Zusatzsteuerungen

Mithilfe der zustandsgesteuerten Preset- und Clear-Eingänge kann der Zähler vom Takt unabhängig beeinflusst werden. Beim oben verwendeten SN 7476 setzt ein dauerhaftes Low am Clear-Eingang eines Speichers diesen Ausgang auf Low und verhindert ein Weiterzählen dieser und der Folgestufen. Ein dauerhaftes Low am Preset-Eingang eines Speichers setzt den Ausgang auf High und beendet das Umschalten dieser und der Folgestufen. Das Presetsignal ist dem Clear- und dem Taktsignal übergeordnet. Mit einem NAND Gatter vor jedem Preset kann dieses wahlweise auf High oder Low geschaltet werden, um dem Zähler eine Ziffernfolge einzugeben. Das Einlesen erfolgt mit einem gemeinsamen Freigabeimpuls an den NAND Gattern.

Dual-Rückwärtszähler

Beim SN 7476 JK-Master-Slave Flipflop sind beide Ausgänge herausgeführt und nutzbar. Um die Schaltung als asynchronen Rückwärtszähler zu nutzen, reicht es anstelle der Q- die Q-nicht Ausgänge zur Anzeige zu bringen. Sollen aber die Q-Ausgänge das Ergebnis anzeigen, dann sind die Q-nicht Ausgänge zur Taktsteuerung der Folgespeicher zu schaltet. Die Richtung, in der eine Zählschaltung arbeitet, wird auch von der Taktflanke, mit der die Flipflops geschaltet werden, bestimmt.

Das TTL-IC SN 7493 wird als 4-Bit Dual-Vorwärtszähler ausgewiesen. Es hat zwei Low aktive Takteingänge zum getrennten Ansteuern eines 1-Bit und 3-Bit Zählers, wobei nur die Q-Ausgänge herausgeführt sind. Die interne Taktsteuerung erfolgt asynchron. Wird der Q0-Ausgang als Taktsignal auf C1 gelegt, entsteht ein asynchroner 4-Bit Zähler. Nach Datenblattangaben ist jedes der Speicher-Flipflops ein JK-Master-Slave-FF. Das IC hat einen gemeinsamen durch ein UND Gatter verknüpften Masterreset. Der Reset aller Ausgänge auf 0 erfolgt mit einem gemeinsamen High Pegel an MR1 und MR2.

Asynchroner Rückwärtszähler

Für Zähler und andere komplexe Digitalschaltungen gibt es eigenständige genormte Schaltsymbole. Sie bestehen aus einem Steuerblock und einem Funktionsblock. Das Bild zeigt die Schaltung und das Zeitablaufdiagramm des asynchronen 4-Bit Dual-Zählers mit dem SN 7493. Zum Rückwärtszähler wird er durch externes Invertieren der Ausgangspegel. Die Grenzfrequenz dieses integrierten Zählers wird mit mindestens 4 MHz bis 30 MHz je nach Schaltkreisfamilie angegeben. In der Simulation konnten 10 MHz ermittelt werden.

Dual-Umkehrzähler

Sinnvoll sind Dualzähler mit umschaltbarer Zählrichtung, die es in der TTL-Schaltkreisfamilie gibt. Ist bei einfachen Speicher Flipflops der Zugriff auf beide Ausgänge möglich, erweitert eine einfache Auswahllogik, die entweder Q oder Q-nicht auf den nachfolgenden Takteingang legt, diesen in einen umschaltbaren asynchronen Auf- oder Abwärtszähler. Das Bild zeigt die Schaltungserweiterung mit drei NAND und einem Inverter für einen 3-Bit Dual-Umkehrzähler.

3-Bit Dual-Umkehrzähler

Anstelle der beiden linken NAND Gatter sind auch UND Gatter möglich, deren Ausgänge dann ein ODER ansteuern müssen. Die Schalttabelle zeigt, dass mit U = High das Q-Signal den Folgetakt bildet, wodurch ein Aufwärtszähler entsteht. Mit U = Low wird das Q-nicht Signal zum Folgetakt und es wird abwärts gezählt.

Rückwärtszähler mit Vorwahl

Einmal gestartet zählen die bisher gezeigten Asynchronzähler periodisch fortlaufend. Eine Zusatzschaltung kann den Zähler am Ende seiner Zählschleife automatisch anhalten. Mit weiteren Zusatzsteuerungen kann der Zählbereich einstellbar gemacht werden. Das folgende Bild zeigt die Blockschaltung eines asynchronen Rückwärtszählers mit Voreinstellung und automatischem Stopp beim Zählerstand null.

Rückwärtszähler mit Voreinstellung

Die Schaltung zeigt einen 4-Bit Rückwärtszähler, da die Q-nicht Ausgänge das Taktsignal der Folgestufen stellen. Die Zählerzustände liegen an den Q-Ausgängen und steuern ein ODER Gatter. Sein Ausgangspegel wechselt zum Zählende bei digital 0000 auf Low und sperrt damit das UND Gatter am Takteingang. Dieses Gatter stellt für den kontinuierlich anliegenden Takt eine Torschaltung dar. Mit einer weiteren Steuerschaltung aus zwei zusammenarbeitenden NAND Gattern werden die Voreinstellung des Zählers und der Neustart möglich.

In der Schaltungssimulation stoppt der Zähler mit der Schalterstellung der Freigabe auf High-Pegel, unabhängig von den Pegeln der digitalen Vorwahlschalter. Geben alle Schalter ein High Pegel an die Eingänge der NAND Gatter, so erhalten die Clear Eingänge der Flipflops einen Low Peak, der danach auf statisches High wechselt. Liegen einige Vorwahlschalter auf Low Pegel, dann bleiben die entsprechenden Clear Eingänge dieser Flipflops auf dauerhaft Low. Alle Flipflops erhalten somit ein Low als Pegel oder Impuls am R-Eingang und jeder Q-Ausgang wechselt auf Low. Das ODER Gatter sperrt die Torschaltung am Takteingang.

Mit den im Bild gezeigten Schalterstellungen erhalten die Preset S-Eingänge Low Pegel, der die Q-Ausgänge auf High Pegel setzt. Diese nach dem Einschalten statischen Zustände stellen sich aber erst direkt nach dem Low Peak an den Clear R-Eingängen ein. Zu diesem Zeitpunkt ist das UND Gatter am Eingangstor gesperrt. Die Q-Ausgänge des Zählers sind mithilfe der Vorwahlschalter gesetzt. Mit (a b c d) digital (1111) wird der Zähler ab dezimal 15 abwärts bis 0 zählen und dann erneut stoppen. Mit (a b c d) digital (1001) entsteht ein BCD-Rückwärtszähler von 9 ... 0.

Gestartet wird eine Zählschleife durch das Umschalten des Freigabeschalters auf Low Pegel. Dadurch liegt High Pegel an allen Ausgängen der NAND Gatter. Die Flipflops wechseln in den Toggle Modus und starten eine Zählperiode. Noch während des Zählvorgangs kann ein neuer Startwert eingestellt werden. Nach dem automatischen Stopp bei 0 wird dieser durch den Freigabeschalter auf High Pegel eingelesen und nach dem Umschalten auf Low Pegel neu gestartet.