Ein Asynchronzähler (engl. Ripple Counter) ist ein Bauteil aus der Digitaltechnik, das eine Folge von natürlichen Zahlen erzeugt. Die Darstellung der Zahlen erfolgt im Dualsystem. Der darstellbare Zahlenbereich ist bauteilabhängig, wobei die Intervallgröße auf Zweierpotenzen [0; 2n-1] festgelegt ist. Man spricht daher auch von n-bit-Asynchronzählern.
Inhaltsverzeichnis |
Ein n-bit-Asynchronzähler ist aus n hintereinander geschalteten T-Flipflops (= Toggle-Flipflops) aufgebaut.
Ein T-Flipflop zeichnet sich dadurch aus, dass es bei einer aktiven Taktflanke, meist ist dies die steigende Taktflanke, an seinem Takteingang C seinen Ausgang Q gegenüber dem aktuellen Zustand invertiert. In allen anderen Fällen behält es den aktuellen Ausgangszustand Q bei.
Im Asynchronzähler ist der Eingang des ersten Flipflops mit einem Taktgeber verbunden, der in regelmäßigen Abständen zwischen High- und Low-Pegel wechselt. Daher findet am Ausgang des ersten Flipflops jedes Mal ein Pegelwechsel (Taktflanke) statt, wenn der Eingang von Low nach High wechselt.
Durch die Hintereinanderschaltung (Kaskadierung) von mehreren T-Flipflops kann dieser Effekt vervielfacht werden. Jedes Flipflop führt am Ausgang halb so viele Pegelwechsel durch wie sein Vorgänger. Bei drei kaskadierten Flipflops würde das bedeuten, dass der Eingang C von FF1 (dort läuft der Takt ein) sechzehnmal wechselt, während sein Ausgang Q1 nur achtmal wechselt. Der Ausgang Q2 des FF2 hingegen wechselt nur viermal und Q3 von FF3 schafft nur zwei Wechsel.
Die folgende Tabelle illustriert die verschiedenen Zustände eines 3-Bit-Zählers. Es ist zu beachten, dass dieser Zähler vorwärts zählt. Die Zählrichtung hängt von der Verschaltung ab. Wenn die Q-Ausgänge als Input der Nachfolger-Flipflops verwendet werden (siehe Fig.1), läuft der Zähler vorwärts. Verwendet man hingegen die negierten
-Ausgänge, läuft der Zähler rückwärts. Des Weiteren ist zu berücksichtigen, dass der Zählerwert gespiegelt betrachtet werden muss, da das am wenigsten signifikante Bit (LSB = Least Significant Bit) Q0 im Zähleraufbau links liegt, bei der natürlichen Zahlendarstellung aber auf der rechten Seite steht.
| Q0 | Q1 | Q2 | Binärwert | Dezimalwert |
| 0 | 0 | 0 | 000 | 0 |
| 1 | 0 | 0 | 001 | 1 |
| 0 | 1 | 0 | 010 | 2 |
| 1 | 1 | 0 | 011 | 3 |
| 0 | 0 | 1 | 100 | 4 |
| 1 | 0 | 1 | 101 | 5 |
| 0 | 1 | 1 | 110 | 6 |
| 1 | 1 | 1 | 111 | 7 |
| 0 | 0 | 0 | 000 | 0 |
Im Unterschied zum Synchronzähler wird beim Asynchronzähler nicht jedes Flipflop mit einem externen Takt C versorgt. Der Eingangstakt, der am ersten Flipflop anliegt, wird vielmehr durchgereicht. Durch die Schaltzeiten der internen Bauelemente kommt es daher beim Asynchronzähler zu Verzögerungen, die sich Bauteil für Bauteil aufsummieren. Bei einem n-Bit-Asynchronzähler mit großem n ergibt sich also eine deutliche Verschiebung zwischen dem Takt am ersten Flipflop und dem am letzten. Dadurch ist es möglich mit einem Asynchronzähler ein sehr schnelles Signal zu zählen, der Zählvorgang muss aber dann nach einer definierten Zeit (z.B. 1 s) abgebrochen werden. Das Ergebnis liegt dann konstruktionsbedingt etwas später an. Frequenzzähler nutzen den Asynchronzähler auch als Frequenzteiler.
Ein weiterer Unterschied zwischen den beiden Zählertypen ist, dass der Asynchronzähler konstruktionsbedingt nur in der natürlichen Reihenfolge zählen kann, während ein Synchronzähler auch in der Lage ist, beliebige Zahlenfolgen zu erzeugen (etwa 1,3,7,5,1,...).
Da es durch die Laufzeit des Taktsignales durch die Kette von Flipflop in komplexen digitalen Schaltungen wie FPGAs und bei hohen Taktraten bei Umschaltvorgängen des asynchronen Zählers zu ungültigen Zuständen an den Ausgangsleitungen Q kommt, sollten Asynchronzähler im Regelfall nicht verwendet werden. Synchronzähler bieten hier sichere Alternativen mit mehr Möglichkeiten. Asynchronzähler wurden und werden auch heute noch manchmal in diskreten digitalen Schaltungen niedriger Frequenz und bei Ansammlungen von 74xx-Chips, den so genannten 74er Friedhöfen, verwendet.
Wenn der Asynchronzähler in Zwischenintervallen zählen soll, die keine Zweierpotenz darstellen (etwa [0; 5]) benötigt man eine Rücksetzleitung, die bei einem bestimmten Zahlenwert (hier 5 = 101) alle Flipflops auf 000 zurücksetzt. Dies ist aber mit reinen T-Flipflops nicht möglich und erfordert zusätzlich eine Schaltlogik, die das Signal (hier 101) in das Reset-Signal umwandelt.