Zähler und Register

Zähler und Register sind die zwei wichtigsten Schaltwerke der Digitaltechnik. Beide bestehen im Kern aus mehreren Flip-Flops, die gemeinsam getaktet werden. Ein Zähler erfasst die Anzahl von Impulsen und liefert sie als Binärzahl, ein Register speichert oder verschiebt ein komplettes Bitmuster. Ohne diese beiden Bausteine gäbe es weder Mikrocontroller noch serielle Schnittstellen, keine Drehzahlerfassung an der Maschine und keine Adressierung im Speicher.

Vorwissen

  • Flip-Flops und Speicherglieder
  • Logikgatter: AND, OR, NOT, NAND, NOR, XOR
  • Zahlensysteme: binär, hexadezimal, BCD

Lernziele

Nach diesem Beitrag kannst du:

  • Aufbau und Funktion asynchroner und synchroner Zähler erklären
  • den Unterschied zwischen pegelgesteuertem Latch und flankengesteuertem Register herausarbeiten
  • Modulo-N-Zähler dimensionieren und die Frequenzteilung daraus berechnen
  • Schieberegister-Bauformen unterscheiden und ihre typischen Anwendungen benennen
  • Zähler und Register in Praxisanwendungen wie Drehzahlmessung, UART-Übertragung oder Ausgangserweiterung identifizieren

1. Vom Flip-Flop zum Schaltwerk

Ein einzelnes Flip-Flop kann genau ein Bit speichern. Spannend wird es, wenn mehrere davon zusammenarbeiten. Genau das nennt die Digitaltechnik ein Schaltwerk – eine Schaltung, deren Ausgang nicht nur von den aktuellen Eingängen abhängt, sondern auch vom inneren Zustand. Das unterscheidet sie vom Schaltnetz (z.B. einem reinen Verknüpfungsgatter), das keinen Speicher kennt.

Die zwei meistverwendeten Schaltwerke sind:

  • Zähler – verändern ihren Zustand bei jedem Eingangstakt um eins (vorwärts oder rückwärts). Ihr Zustand ist die gerade gezählte Zahl in binärer Form.
  • Register – übernehmen Bitmuster und halten sie fest oder schieben sie weiter.

Beide bestehen aus mehreren Flip-Flops mit einem gemeinsamen Takt. Der entscheidende Punkt: Wie verbinde ich diese Flip-Flops, damit das gewünschte Verhalten herauskommt? Genau das schauen wir uns in den nächsten Kapiteln Schritt für Schritt an.

Was ist der entscheidende Unterschied zwischen einem Schaltnetz und einem Schaltwerk?

  • a) Schaltwerke sind immer asynchron, Schaltnetze immer synchron
  • b) Ein Schaltnetz arbeitet nur mit AND-Gattern, ein Schaltwerk mit allen Gatterarten
  • c) Schaltnetze werden mit Wechselspannung, Schaltwerke mit Gleichspannung betrieben
  • d) Ein Schaltwerk hat einen inneren Speicher, ein Schaltnetz nicht

Richtig: d)

Schaltwerke besitzen Flip-Flops oder andere Speicherelemente. Ihr Ausgang hängt nicht nur von den aktuellen Eingängen ab, sondern auch vom gespeicherten Zustand. Schaltnetze (reine Verknüpfungslogik) liefern den Ausgang ausschließlich aus der aktuellen Eingangskombination – ohne Gedächtnis. Die anderen Antworten beschreiben weder Schaltwerk noch Schaltnetz korrekt.

Welche Aussage zu Zählern und Registern is richtig?

  • a) Zähler bestehen aus Logikgattern, Register aus Flip-Flops
  • b) Beide sind aufgebaut aus Schaltnetzen ohne Flip-Flops
  • c) Beide sind Schaltwerke aus mehreren Flip-Flops mit gemeinsamem Takt
  • d) Zähler arbeiten mit Gleichspannung, Register mit Wechselspannung

Richtig: c)

Sowohl Zähler als auch Register bestehen aus mehreren Flip-Flops, die meistens einen gemeinsamen Takt erhalten. Der Unterschied liegt in der Verschaltung dieser Flip-Flops, nicht im verwendeten Grundbaustein. Aussage a) ist falsch, weil beide Flip-Flops nutzen. Aussage b) ignoriert die nötigen Speicherglieder. Aussage d) erfindet einen Spannungsunterschied, der nicht existiert.

Warum braucht eine Digitalschaltung überhaupt Schaltwerke wie Zähler?

  • a) Weil Wechselrichter sonst nicht funktionieren
  • b) Damit Informationen über mehrere Taktzyklen hinweg verarbeitet und gespeichert werden können
  • c) Um die Versorgungsspannung zu stabilisieren
  • d) Weil Logikgatter ohne Schaltwerke gar nicht arbeiten können

Richtig: b)

Schaltwerke speichern Information über die Zeit hinweg. Erst dadurch sind Sequenzen, Zählvorgänge und mehrstufige Abläufe möglich – also alles, was nicht in einem einzigen Taktzyklus erledigt ist. Logikgatter funktionieren auch ohne Schaltwerke, sie liefern dann aber nur eine unmittelbare Antwort auf ihre Eingänge ohne jede Erinnerung.

2. Asynchrone Zähler (Ripple-Counter)

Der einfachste Zähler entsteht aus mehreren in Serie geschalteten T-Flip-Flops. Ein T-Flip-Flop (Toggle-Flip-Flop) wechselt seinen Ausgang bei jeder Taktflanke. Die Frequenz am Ausgang Q ist also genau halb so hoch wie am Takteingang.

Wenn man den Q-Ausgang des ersten Flip-Flops als Takt für das next Flip-Flop verwendet, halbiert sich die Frequenz erneut. Bei n Flip-Flops in Reihe ergibt sich am Ausgang des letzten Flip-Flops die ursprüngliche Frequenz, geteilt durch 2ⁿ. Die Ausgänge Q0 bis Qn−1 zusammen bilden eine fortlaufende Binärzahl von 0 bis 2ⁿ−1.

Diese Bauart heißt Ripple-Counter (Rieselzähler), weil die Zustandsänderung nicht gleichzeitig, sondern „durchgereicht“ wird: Erst kippt das erste Flip-Flop, dann das zweite, dann das dritte. Jeder Schritt braucht eine kleine Verzögerung – die sogenannte Gatterlaufzeit.

Daraus folgt der bekannte Vor- und Nachteil:

  • Vorteil: sehr einfacher Aufbau, wenig Schaltungsaufwand.
  • Nachteil: Bei höheren Taktfrequenzen entstehen während der Übergänge kurzfristig ungültige Zwischenzustände – sogenannte Glitches. Bei einer Zähleränderung von 0111 auf 1000 zum Beispiel läuft die Schaltung kurz durch 0110, 0100, 0000, 1000, bis sich alles stabilisiert hat.

Z_max = 2^n – 1

  • n … Anzahl der Flip-Flops
  • Z_max … höchster darstellbarer Zählerstand (dimensionslos)
Asynchroner 4-Bit-Vorwärtszähler aus T-Flip-Flops T=1 CLK Q FF0 Q0 (LSB) T=1 CLK Q FF1 Q1 T=1 CLK Q FF2 Q2 T=1 CLK Q FF3 Q3 (MSB) CLK Q0 Q1 Q2 Q3 Der Q-Ausgang jedes Flip-Flops taktet das nächste — die Zustandsänderung „rieselt“ durch.
Impulsdiagramm 4-Bit-Asynchronzähler CLK Q0 Q1 Q2 Q3 Frequenzhalbierung an jedem Flip-Flop: Q1 schaltet halb so oft wie Q0, Q2 halb so oft wie Q1 …

Gelöstes Beispiel

Ein asynchroner Zähler ist mit 6 Flip-Flops aufgebaut. Wie hoch ist der maximale Zählerstand, und welche Eingangsfrequenz darf man höchstens anlegen, wenn das letzte Flip-Flop noch eine Ausgangsfrequenz von 1 Hz erreichen soll?

Gegeben: n = 6 Flip-Flops, f_aus (am letzten FF) = 1 Hz

Gesucht: Z_max (dimensionslos), f_ein (Hz)

Lösungsweg:

  1. Schritt 1 — Maximaler Zählerstand: Z_max = 2⁶ − 1 = 64 − 1 = 63
  2. Schritt 2 — Frequenz am letzten Flip-Flop: Bei n Flip-Flops in Serie wird die Eingangsfrequenz durch 2ⁿ geteilt. f_aus = f_ein / 2ⁿ => f_ein = f_aus · 2ⁿ = 1 Hz · 64 = 64 Hz

Ergebnis: Maximaler Zählerstand 63, Eingangsfrequenz 64 Hz.

Übungen

Ein asynchroner Zähler hat 3 Flip-Flops. Welcher Zählerstand kann maximal dargestellt werden?

Z_max = 2³ − 1 = 7

Ein asynchroner Zähler soll bis 255 zählen können. Wie viele Flip-Flops braucht er?

2ⁿ − 1 ≥ 255, daher n = 8 Flip-Flops.

An den Eingang eines 4-Bit-Asynchronzählers werden 1,6 kHz angelegt. Welche Frequenz erscheint am MSB-Ausgang?

f_aus = 1600 Hz / 2⁴ = 100 Hz

Eine Schaltung erzeugt aus einer Quartz-Frequenz von 32,768 kHz einen 1-Hz-Takt. Wie viele Flip-Flops sind in dieser Teilerkette enthalten?

32 768 / 2ⁿ = 1, daraus 2ⁿ = 32 768 = 2¹⁵, also n = 15 Flip-Flops.

Ein 5-Bit-Ripple-Counter wird mit 5 MHz getaktet. Pro Flip-Flop entsteht eine Gatterlaufzeit von 12 ns. Wie lange braucht der Übergang von 01111 auf 10000, bis sich der Ausgang stabilisiert hat – und ist die Schaltung damit taktsicher?

Alle 5 Flip-Flops müssen nacheinander umschalten: t_ges = 5 · 12 ns = 60 ns. Die Taktperiode beträgt bei 5 MHz T = 200 ns. Nach den 60 ns Stabilisierungszeit bleiben noch rund 140 ns als Sicherheitsmarge bis zur nächsten Taktflanke – ausreichend, damit nachgeschaltete Bausteine die Setup-Time einhalten.

Wodurch entstehen die Glitches bei einem asynchronen Zähler?

  • a) Durch Spannungsabfälle in den Zuleitungen
  • b) Durch die nicht gleichzeitige Schaltung der einzelnen Flip-Flops aufgrund von Gatterlaufzeiten
  • c) Durch Temperaturschwankungen der Halbleiter
  • d) Durch elektromagnetische Einkopplungen von außen

Richtig: b)

Jedes Flip-Flop benötigt eine eigene Gatterlaufzeit, bis es kippt. Da sie sich gegenseitig takten, liegen ihre Übergänge zeitlich versetzt. Während dieser kurzen Zeit erscheint am Ausgang ein zwischenzeitlich ungültiges Bitmuster – ein Glitch. Spannungsabfälle, Temperatur und EMV können andere Probleme auslösen, sind aber nicht die Ursache der typischen Ripple-Glitches.

Welche Funktion hat ein T-Flip-Flop im asynchronen Zähler?

  • a) Es speichert Daten von Eingang D
  • b) Es kippt seinen Ausgang bei jeder Taktflanke und halbiert dadurch die Frequenz
  • c) Es invertiert das Taktsignal
  • d) Es liefert eine konstante Ausgangsspannung

Richtig: b)

Ein T-Flip-Flop wechselt seinen Ausgang bei jeder Taktflanke. Dadurch liegt am Ausgang Q ein Signal mit der halben Eingangsfrequenz. Genau diese Frequenzhalbierung sorgt für die binäre Zählweise im asynchronen Zähler. D-Flip-Flops übernehmen Daten, RS-Flip-Flops haben Setz-/Rücksetzfunktion – das gehört zu anderen Bauformen.

Wie viele Flip-Flops braucht ein asynchroner Zähler, um Werte von 0 bis 31 darzustellen?

  • a) 5 Flip-Flops
  • b) 4 Flip-Flops
  • c) 6 Flip-Flops
  • d) 31 Flip-Flops

Richtig: a)

Mit n Flip-Flops sind Werte von 0 bis 2ⁿ − 1 darstellbar. Für 31 als höchsten Wert braucht es 2ⁿ − 1 ≥ 31, also n ≥ 5. Vier Flip-Flops reichen nur bis 15, sechs wären zu viel.

Warum wird der asynchrone Zähler bei hohen Taktfrequenzen problematisch?

  • a) Der Stromverbrauch wird zu hoch
  • b) Die Flip-Flops überhitzen
  • c) Die Summe der Gatterlaufzeiten wird größer als die Taktperiode, der Zähler kommt nicht hinterher
  • d) Die Versorgungsspannung bricht zusammen

Richtig: c)

Jedes Flip-Flop bringt eine Verzögerung mit. Bei n Stufen addieren sich diese auf. Wird die Summe größer als eine halbe Taktperiode, ist der Zählerstand noch nicht stabil, wenn schon der nächste Takt kommt. Stromverbrauch, Erwärmung und Spannungseinbrüche sind in Standardanwendungen nicht der limitierende Faktor.

3. Synchrone Zähler

Beim synchronen Zähler bekommen alle Flip-Flops denselben Takt. Sie schalten gleichzeitig, sobald die Taktflanke kommt – und nicht erst nacheinander wie beim Ripple-Counter. Das ist deutlich schneller und liefert klare, glitchfreie Übergänge.

Damit das funktioniert, braucht es allerdings eine zusätzliche Verknüpfungslogik vor jedem Flip-Flop, die entscheidet, ob das Bit beim nächsten Takt kippt oder nicht. Die Regel beim Vorwärtszähler: Ein Bit wechselt seinen Zustand genau dann, wenn alle niederwertigeren Bits gleichzeitig auf 1 stehen. Bit 0 toggelt also bei jedem Takt, Bit 1 toggelt nur wenn Bit 0 gleich 1 ist, Bit 2 nur wenn Bit 0 und Bit 1 gleich 1 sind, und so weiter. Diese Bedingungen werden mit AND-Gattern realisiert.

Synchroner 4-Bit-Vorwärtszähler — Prinzip T=1 CLK Q FF0 Q0 T CLK Q FF1 Q1 T CLK Q FF2 Q2 T CLK Q FF3 Q3 & & & CLK Q0 Q0·Q1 Q0·Q1·Q2 Alle Flip-Flops am gleichen Takt — Verknüpfungslogik bestimmt, welches Bit kippt.

Welcher Vorteil zeichnet einen synchronen Zähler gegenüber einem asynchronen aus?

  • a) Er braucht weniger Bauteile
  • b) Er ist immer kleiner
  • c) Er hat keinen Stromverbrauch
  • d) Er liefert glitchfreie, gleichzeitige Übergänge an allen Bits und erlaubt höhere Taktfrequenzen

Richtig: d)

Der zentrale Vorteil ist die gleichzeitige Schaltung aller Flip-Flops. Dadurch entstehen keine Zwischenzustände, höhere Taktfrequenzen sind möglich. Mehr Bauteile braucht er sogar (zusätzliche AND-Gatter), kleiner ist er also nicht, und Strom braucht jede Digitalschaltung.

Wann kippt im synchronen Vorwärtszähler das Bit Q2?

  • a) Bei jedem Taktimpuls
  • b) Wenn Q0 = 1 is
  • c) Wenn Q0 = 1 UND Q1 = 1 sind
  • d) Wenn Q3 = 0 is

Richtig: c)

Ein Bit toggelt im Vorwärtszähler genau dann, wenn alle niederwertigeren Bits gleich 1 sind. Für Q2 müssen also Q0 und Q1 beide 1 sein. Die Verknüpfung erfolgt mit einem AND-Gatter vor dem T-Eingang.

Wo werden synchrone Zähler typischerweise eingesetzt?

  • a) Nur in alten Röhrenradios
  • b) Im Programmzähler eines Mikrocontrollers
  • c) Ausschließlich in Verstärkerschaltungen
  • d) In Sicherungselementen für Niederspannungsanlagen

Richtig: b)

Programmzähler, Frequenzteiler in Mikrocontrollern, Adresszähler – überall wo glitchfreie Übergänge bei hohen Taktraten gefordert sind, kommt der synchrone Zähler zum Einsatz. Verstärker und Sicherungen haben mit Zählern nichts zu tun, in Röhrenradios gab es überhaupt keine digitalen Zähler dieser Art.

4. Zählrichtungen und Modulo-N-Zähler

Bisher haben wir nur Vorwärtszähler betrachtet. Genauso gut lassen sich Zähler bauen, die rückwärts zählen oder bei denen die Richtung umschaltbar ist:

  • Vorwärtszähler (Up-Counter): zählt 0 → 1 → 2 → … → 2ⁿ−1 → 0 → …
  • Rückwärtszähler (Down-Counter): zählt 2ⁿ−1 → 2ⁿ−2 → … → 0 → 2ⁿ−1 → …
  • Vorwärts-Rückwärts-Zähler (Up-Down-Counter): hat einen zusätzlichen Steuereingang, der die Richtung umschaltet. Beim Rückwärtszählen werden statt der Q-Ausgänge die invertierten Q̄-Ausgänge in die Verknüpfungslogik geführt.

Modulo-N-Zähler

Ein „normaler“ n-Bit-Zähler überlauf erst bei 2ⁿ. Oft braucht man aber einen Zähler, der schon bei einem anderen Wert wieder von vorn beginnt – zum Beispiel bei 10 für einen Dezimalzähler oder bei 60 für eine Sekundenzählung. Ein solcher Zähler heißt Modulo-N-Zähler und zählt 0 bis N−1.

In Hardware funktioniert das so: Sobald der Zähler den Wert N erreicht, liefert eine Logik-Kombination der Ausgänge ein Reset-Signal. Dieses Reset-Signal wird auf die asynchronen Clear-Eingänge aller Flip-Flops geführt und setzt den Zähler sofort wieder auf 0. Für die Auswertung des kritischen Zählerstands eignet sich ein NAND- oder AND-Gatter, das die genau passenden Q-Ausgänge erkennt.

Beispiel Modulo-10-Zähler (BCD-Zähler), aufgebaut aus einem 4-Bit-Vorwärtszähler:

  • Zählerstände 0 bis 9 sind erwünscht (binär 0000 bis 1001).
  • Bei Erreichen von 10 (binär 1010) wird Reset ausgelöst.
  • Im Bitmuster 1010 sind Q1 und Q3 gleichzeitig auf 1. Ein NAND mit diesen beiden Eingängen liefert in genau diesem Moment eine 0 und zieht damit die Clear-Eingänge der Flip-Flops auf low. Der Zähler springt zurück auf 0000.
Modulo-10-Zähler — Reset-Logik (Prinzip) 4-Bit-Synchronzähler FF0 — FF1 — FF2 — FF3 CLK CLR Q0 Q1 Q2 Q3 & Bei Zählerstand 1010 (= 10) wird CLR auf 0 gezogen, alle Flip-Flops werden zurückgesetzt.

Bei dieser klassischen Lehrbuch-Lösung tritt allerdings ein praxisrelevantes Problem auf: Das Bitmuster 1010 erscheint für die Dauer einer Gatterlaufzeit tatsächlich kurz an den Ausgängen, bevor der asynchrone Reset greift. Nachgeschaltete schnelle Logik – etwa ein BCD-zu-7-Segment-Decoder – kann diesen ultrakurzen Zwischenzustand als Fehlimpuls interpretieren. In modernen CPLDs und FPGAs wird die Modulo-N-Function deshalb meist als rein synchroner Zähler mit Vorwegnahme-Logik realisiert: Beim Erreichen von N−1 wird der nächste Takt nicht weitergezählt, sondern der Zähler synchron auf 0 gesetzt. Der ungültige Zustand entsteht dabei nie.

Frequenzteilung

Wenn der Zähler bei N rückgesetzt wird, dauert ein voller Durchlauf genau N Taktimpulse. Das höchstwertige Bit oder der Reset-Impuls erscheint also nur einmal pro N Eingangstakte. Die Ausgangsfrequenz ergibt sich aus:

f_aus = f_ein / N

  • f_ein … Eingangsfrequenz in Hz
  • f_aus … Ausgangsfrequenz in Hz
  • N … Modulo-Teiler (dimensionslos)

Die zugehörige Periodendauer am Ausgang:

T_aus = N / f_ein

  • T_aus … Periodendauer am Ausgang in s
  • f_ein … Eingangsfrequenz in Hz
  • N … Modulo-Teiler (dimensionslos)

In der Automatisierungstechnik wird das genutzt, um aus einem schnellen Systemtakt langsamere Steuersignale zu erzeugen – zum Beispiel für die Zeitsteuerung einer SPS, für Blinkfunktionen oder für die Taktung von Anzeige-Multiplexern.

Gelöstes Beispiel

Ein Quarzoszillator liefert 4,194304 MHz. Daraus soll mit einem Modulo-N-Zähler ein 1-kHz-Takt für eine Anzeige-Multiplexer-Schaltung gewonnen werden. Wie groß muss N gewählt werden?

Gegeben: f_ein = 4 194 304 Hz, f_aus = 1000 Hz

Gesucht: N (dimensionslos)

Lösungsweg:

  1. Schritt 1 — Auflösen nach N: f_aus = f_ein / N → N = f_ein / f_aus
  2. Schritt 2 — Werte einsetzen: N = 4 194 304 Hz / 1000 Hz = 4194,304

Ergebnis: N ≈ 4194 (ganzzahlig).

Übungen

Ein Zähler erhält 1 MHz Eingangsfrequenz. Welcher Modulo-Wert N erzeugt einen 50-Hz-Takt?

N = 1 000 000 / 50 = 20 000

Bei einem Modulo-12-Zähler liegt am Eingang ein 24-kHz-Signal an. Welche Ausgangsfrequenz und welche Periodendauer ergeben sich?

f_aus = 24 000 / 12 = 2000 Hz; T_aus = 1/2000 s = 500 µs

Eine SPS soll alle 10 ms einen Programmlauf starten. Der CPU-Takt beträgt 50 MHz. Welcher Modulo-Teiler ist nötig?

f_aus = 1 / 0,01 s = 100 Hz; N = 50 000 000 / 100 = 500 000

Wie viele Flip-Flops braucht ein Modulo-50-Zähler mindestens?

2ⁿ ≥ 50 → n = 6 Flip-Flops (2⁶ = 64 ≥ 50).

Aus einem 8-MHz-Quarz soll ein 1-Sekunden-Takt (1 Hz) erzeugt werden. Welcher Modulo-Wert ist nötig und wie viele Flip-Flops mindestens?

N = 8 000 000; mindestens 23 Flip-Flops (2²³ = 8 388 608 ≥ 8 000 000).

Wie wird in Hardware ein Modulo-10-Zähler aus einem 4-Bit-Zähler realisiert?

  • a) Indem Q3 dauerhaft auf 0 gehalten wird
  • b) Indem die Ausgänge Q1 und Q3 über ein NAND-Gatter auf den Reset-Eingang zurückgeführt werden
  • c) Durch Austausch der Flip-Flops gegen Latches
  • d) Indem nur jeder zweite Taktimpuls weitergeleitet wird

Richtig: b)

Beim Erreichen des Werts 10 (binär 1010) sind Q1 und Q3 gleichzeitig auf 1. Ein NAND-Gatter mit diesen beiden Eingängen erzeugt in diesem Moment eine Low-Flanke, die alle Flip-Flops über den Clear-Eingang sofort zurücksetzt. Die anderen Vorschläge würden den Zählvorgang nicht korrekt begrenzen.

Eine Quarzfrequenz von 32 768 Hz wird mit einem Modulo-N-Zähler zu 1 Hz heruntergeteilt. Wie groß ist N und wie viele Flip-Flops sind dafür mindestens nötig?

  • a) N = 16 384, 14 Flip-Flops
  • b) N = 32 768, 14 Flip-Flops
  • c) N = 16 384, 15 Flip-Flops
  • d) N = 32 768, 15 Flip-Flops

Richtig: d)

N = f_ein / f_aus = 32 768 / 1 = 32 768. Da 2¹⁴ = 16 384 zu wenig ist, braucht es 2¹⁵ = 32 768, also 15 Flip-Flops. Genau dieser Teiler-Aufbau steckt in vielen Uhren-ICs (Quarzfrequenz 32,768 kHz, 15 Teilerstufen → 1 Sekundentakt).

Was ändert sich beim Übergang vom Vorwärts- zum Rückwärtszähler?

  • a) Die Flip-Flops werden durch Logikgatter ersetzt
  • b) Der Takt wird invertiert
  • c) In der Verknüpfungslogik werden statt der Q-Ausgänge die invertierten Q̄-Ausgänge ausgewertet
  • d) Der Zähler arbeitet ohne Takt

Richtig: c)

Beim Vorwärtszähler kippt ein Bit, wenn alle niedrigeren Bits gleich 1 sind. Beim Rückwärtszähler kippt ein Bit, wenn alle niedrigeren Bits gleich 0 sind. Diese Bedingung erfüllt man, indem man die invertierten Q̄-Ausgänge auswertet. Der Takt selbst bleibt unverändert, die Flip-Flops auch.

Ein Vorwärts-Rückwärts-Zähler wird häufig wofür eingesetzt?

  • a) Zur Drehrichtungserkennung an Inkrementalgebern
  • b) Zur Spannungsstabilisierung
  • c) Zur Erzeugung einer Sinusspannung
  • d) Zur Glättung von Gleichrichterausgängen

Richtig: a)

An einem Inkrementalgeber zählt der Up-Down-Counter beim Vorwärtslauf hoch, beim Rückwärtslauf herunter. Damit lässt sich die aktuelle Position direkt verfolgen. Spannungsstabilisierung, Sinuserzeugung und Glättung gehören zur analogen Elektronik und haben mit Zählern nichts zu tun.

5. Register – Auffangen und Speichern

Ein Register ist im einfachsten Fall ein Bündel paralleler Flip-Flops mit gemeinsamem Takt. Beim Taktimpuls werden alle Datenleitungen gleichzeitig übernommen. Aus n Bit Eingang werden n Bit Ausgang – nur eben gespeichert. Solche Bauformen heißen Auffangregister oder Parallelregister.

Ein wichtiger Unterschied, der in der Praxis gerne zu schwer aufzuspürenden Fehlern führt, ist die Frage: pegelgesteuert oder flankengesteuert?

  • Latch (pegelgesteuert): Solange der Enable-Eingang aktiv ist, sind die Ausgänge transparent – sie folgen direkt den Dateneingängen. Erst wenn Enable wieder inaktiv wird, wird der letzte Zustand „eingefroren“. Während der aktiven Phase ändert sich der Ausgang also fortlaufend.
  • Register (flankengesteuert, meist D-Flip-Flop): Übernimmt den Eingangszustand nur im Moment der Taktflanke – also für einen winzigen Augenblick. Vor und nach der Flanke ist der Ausgang unabhängig vom Eingang.

In der Automatisierungs- und Digitaltechnik werden für saubere Datenübernahme fast immer flankengesteuerte Register verwendet, weil sie ein klares Übernahmezeitfenster definieren. Latches treten gelegentlich noch in bestimmten Bus-Schaltungen auf, sind aber bei modernen Mikrocontrollern eher die Ausnahme. Wer beides verwechselt, bekommt schwer reproduzierbare Timing-Fehler – Daten werden mehrfach übernommen oder zum falschen Zeitpunkt.

4-Bit-Auffangregister aus D-Flip-Flops D CLK Q FF0 D CLK Q FF1 D CLK Q FF2 D CLK Q FF3 D0 D1 D2 D3 Q0 Q1 Q2 Q3 CLK Mit der Taktflanke werden D0–D3 gleichzeitig in das Register übernommen.

Was ist der entscheidende Unterschied zwischen einem Latch und einem flankengesteuerten Register?

  • a) Das Latch braucht weniger Strom
  • b) Beim Latch sind Eingang und Ausgang transparent verbunden, solange Enable aktiv ist – das Register übernimmt nur im Moment der Taktflanke
  • c) Das Latch arbeitet ausschließlich mit Wechselspannung
  • d) Das Register hat keine Speicherfunktion

Richtig: b)

Ein Latch is pegelgesteuert: solange Enable = 1, folgt der Ausgang den Eingangsdaten direkt. Erst beim Wechsel auf Enable = 0 wird der Wert „eingefroren“. Ein D-Flip-Flop dagegen reagiert nur auf die Taktflanke. Das ist ein Klassiker bei Timing-Problemen in Digitalschaltungen.

Wozu dient ein Akkumulator-Register in einer CPU?

  • a) Zur Glättung der Versorgungsspannung
  • b) Zur Erzeugung des Taktes
  • c) Zur Glättung von Gleichrichterausgängen
  • d) Es hält Zwischenergebnisse arithmetischer und logischer Operationen

Richtig: d)

Der Akkumulator ist das wichtigste Arbeitsregister einer einfachen CPU. Rechenoperationen schreiben ihr Ergebnis oft direkt in dieses Register. Mit Spannungsversorgung, Taktgenerierung oder analoger Glättung hat es nichts zu tun.

Wann wechselt der Ausgang eines flankengesteuerten Registers?

  • a) Genau zum Zeitpunkt der aktiven Taktflanke
  • b) Immer, wenn sich der Dateneingang ändert
  • c) Nach Ablauf einer festen internen Verzögerung ohne Takt
  • d) Nur beim Einschalten der Versorgungsspannung

Richtig: a)

Ein flankengesteuertes Register übernimmt den Eingang nur im Moment der Taktflanke. Zwischen den Flanken kann sich der Eingang beliebig ändern, ohne dass es den Ausgang beeinflusst. Genau dadurch wird die saubere Trennung zwischen Eingangs- und Ausgangszustand erreicht.

6. Schieberegister

Beim Schieberegister sind die Flip-Flops in einer Kette verbunden: Der Q-Ausgang des einen liegt am D-Eingang des nächsten. Mit jeder Taktflanke wird der Inhalt eine Stelle weitergeschoben. Daten können seriell hineinwandern und seriell oder parallel wieder herauskommen – oder umgekehrt.

Daraus ergeben sich vier Grundbauformen:

Bauform Eingabe Ausgabe Typische Anwendung
SISO seriell seriell Verzögerungsglied, Schiebespeicher
SIPO seriell parallel Serien-Parallel-Wandlung, z.B. UART-Empfang
PISO parallel seriell Parallel-Serien-Wandlung, z.B. UART-Sendung
PIPO parallel parallel Auffangregister mit Schiebefunktion
4-Bit-Schieberegister (SIPO) D CLK Q FF0 D CLK Q FF1 D CLK Q FF2 D CLK Q FF3 DATA_IN CLK Q0 Q1 Q2 Q3 Seriell rein bei DATA_IN, mit jedem Takt eine Stelle nach rechts geschoben.
Schieberegister — Impulsdiagramm CLK DATA_IN 1 0 1 1 Q0 Q1 Q2 Q3

Was passiert in einem Schieberegister bei jeder Taktflanke?

  • a) Der Inhalt wird gelöscht
  • b) Alle Bits werden invertiert
  • c) Der Inhalt wird um eine Stelle weitergeschoben, der serielle Eingang rückt in das erste Flip-Flop ein
  • d) Die Frequenz wird halbiert

Richtig: c)

Schieberegister sind Flip-Flop-Ketten. Der Q-Ausgang des einen geht auf den D-Eingang des nächsten. Mit jeder Taktflanke wandert das gesamte Bitmuster um eine Position weiter; der serielle Eingang füllt die freigewordene Position. Löschen, invertieren oder Frequenzhalbierung sind Funktionen anderer Schaltwerke.

Eine UART-Empfangsschaltung verwendet welche Schieberegister-Bauform?

  • a) SIPO (seriell rein, parallel raus)
  • b) PISO
  • c) SISO
  • d) PIPO

Richtig: a)

Beim UART-Empfang kommt das Datenwort Bit für Bit über eine einzelne Leitung. Diese serielle Folge wird in ein Schieberegister geschoben und nach dem Empfang als komplettes Datenwort parallel weitergegeben – also seriell rein, parallel raus, das ist SIPO. PISO ist die umgekehrte Richtung beim Senden.

Welche Funktion hat das Schieberegister-IC 74HC595 in einer typischen Mikrocontroller-Anwendung?

  • a) Spannungsstabilisierung des Mikrocontrollers
  • b) Trennverstärkung für Analogsignale
  • c) Wechselrichtung der Versorgungsspannung
  • d) Erweiterung der Anzahl digitaler Ausgänge mit nur drei Steuerleitungen

Richtig: d)

Der 74HC595 wandelt eine serielle Bitfolge in einen 8-Bit-Parallelausgang. Damit lassen sich mit drei Pins (Daten, Takt, Latch) acht Ausgänge ansteuern. Mehrere 74HC595 kaskadiert ergeben beliebig viele Ausgänge. Mit Spannungsversorgung oder Analogtechnik hat der Baustein nichts zu tun.

7. Anwendungen in der Praxis

Wer einmal das Prinzip von Zähler und Register verstanden hat, erkennt sie überall wieder. Eine kleine Auswahl typischer Einsatzfelder:

  • Stückzählung in Produktionsanlagen: Ein induktiver Näherungsschalter erzeugt pro vorbeifahrendem Werkstück einen Impuls. Ein Zähler in der SPS akkumuliert daraus die Stückzahl.
  • Drehzahlmessung über Inkrementalgeber: Pro Umdrehung liefert der Geber eine festgelegte Anzahl Impulse. Ein Zähler erfasst die Impulse pro Zeitfenster – die Drehzahl ergibt sich direkt daraus.
  • Adresszähler im Mikrocontroller: Der Program Counter ist ein synchroner Vorwärtszähler, der nach jedem Befehl um eine Stelle weiterzählt und so die nächste Befehlsadresse erzeugt.
  • Frequenzteilung in PLLs und Taktaufbereitung: Aus einem hochfrequenten Quarzoszillator werden niedrigere Bus- und Peripherietakte abgeleitet.
  • Schieberegister-Erweiterung für I/O: Wie im letzten Kapitel beschrieben, lassen sich mit einer Handvoll Pins beliebig viele digitale Ausgänge erzeugen.
  • Datenpuffer auf dem Bus: Auffangregister halten Daten zwischen Sender und Empfänger stabil, bis sie sicher übernommen wurden.
  • Serielle Schnittstellen wie UART, SPI, I²C: Im Inneren arbeiten überall Schieberegister, die Datenworte Bit für Bit verschicken oder empfangen.

Wer eine SPS programmiert, sieht von all dem oft nur die fertigen Bausteine wie CTU, CTD oder CTUD – Aufwärts-, Abwärts- und Aufwärts-Abwärts-Zähler. Doch im Hintergrund läuft genau das, was wir uns hier auf Logikebene angesehen haben.

Welche Schaltwerksklasse steckt typischerweise hinter dem CTU-Baustein einer SPS?

  • a) Ein Schaltnetz aus reinen Logikgattern ohne Speicher
  • b) Ein synchroner Vorwärtszähler
  • c) Ein Latch ohne Takt
  • d) Ein analoger Operationsverstärker

Richtig: b)

CTU (Count Up) zählt jeden Eingangsimpuls vorwärts. Realisiert wird das durch einen synchronen Vorwärtszähler im SPS-internen Logik-Datenpfad. Schaltnetze hätten keinen Speicher, Latches keinen Takt, und Operationsverstärker arbeiten analog.

Welche Anwendung kombiniert Schieberegister und Frequenzteiler in einer einzigen Schaltung besonders elegant?

  • a) Spannungsstabilisierung in einem Schaltnetzteil
  • b) Ein Klingeltransformator
  • c) Eine Multiplex-Anzeige mit mehreren 7-Segment-Stellen, getaktet aus einem geteilten Quarztakt
  • d) Ein einfaches Relais zur Motorumschaltung

Richtig: c)

In einer Multiplex-Anzeige werden die einzelnen Stellen schnell nacheinander angesteuert. Ein Frequenzteiler erzeugt die richtige Multiplexfrequenz aus dem CPU-Takt, ein Schieberegister wandelt die zu zeigenden Bitmuster für jede Stelle in die Ausgangsleitungen um. Netzteile, Trafos und Relais arbeiten auf ganz anderen Prinzipien.

Abschlusstest

Aufgabe 1: Ein 8-Bit-Asynchronzähler wird mit 2 MHz getaktet. Berechne den maximalen Zählerstand sowie die Frequenz und die Periodendauer am Ausgang des MSB.

Gegeben: n = 8, f_ein = 2 000 000 Hz

Gesucht: Z_max, f_MSB, T_MSB

Lösungsweg:

  1. Z_max = 2⁸ − 1 = 255
  2. f_MSB = 2 000 000 Hz / 2⁸ = 2 000 000 / 256 = 7812,5 Hz
  3. T_MSB = 1 / 7812,5 Hz = 128 µs

Ergebnis: Z_max = 255; f_MSB = 7812,5 Hz; T_MSB = 128 µs.

Aufgabe 2: Aus einem 8-MHz-Quarztakt soll für eine Sieben-Segment-Multiplex-Anzeige ein 400-Hz-Takt erzeugt werden. Berechne den nötigen Modulo-Wert N und die Mindestanzahl an Flip-Flops im Teiler.

Gegeben: f_ein = 8 000 000 Hz, f_aus = 400 Hz

Gesucht: N, n (Anzahl FF)

Lösungsweg:

  1. N = f_ein / f_aus = 8 000 000 / 400 = 20 000
  2. 2ⁿ ≥ 20 000 → 2¹⁴ = 16 384 (zu wenig), 2¹⁵ = 32 768 (ausreichend) → n = 15.

Ergebnis: N = 20 000; mindestens 15 Flip-Flops.

Aufgabe 3: Ein Schieberegister mit 6 Flip-Flops empfängt seriell ein Datenwort mit einer Bitrate von 9600 bit/s. Wie lange braucht das Datenwort, bis es vollständig parallel an den Ausgängen anliegt?

Gegeben: n = 6, Bitrate = 9600 bit/s

Gesucht: t (s)

Lösungsweg:

  1. t = n · (1/Bitrate) = 6 · (1 / 9600 s) ≈ 625 µs

Ergebnis: t ≈ 625 µs.

Aufgabe 4: Ein Inkrementalgeber liefert pro Wellenumdrehung 1000 Impulse. Diese werden in einem Modulo-1000-Zähler erfasst. Wie viele Flip-Flops braucht der Zähler mindestens, und welche maximale Drehzahl darf die Welle haben, damit der Zähler bei einer Erfassungsfrequenz von 100 kHz nicht überläuft?

Gegeben: N = 1000, f_max = 100 000 Hz

Gesucht: n (FF), n_max (1/min)

Lösungsweg:

  1. 2ⁿ ≥ 1000 → 2¹⁰ = 1024 → n = 10 Flip-Flops.
  2. Drehzahl: n_max = f_max / 1000 = 100 000 / 1000 = 100 Umdrehungen/s = 6000 1/min.

Ergebnis: n = 10 Flip-Flops; n_max = 6000 1/min.

Ein Modulo-16-Zähler wird mit 4 MHz getaktet. Welche Frequenz liegt am MSB-Ausgang?

  • a) 4 MHz
  • b) 1 MHz
  • c) 250 kHz
  • d) 16 MHz

Richtig: c)

Ein Modulo-16-Zähler durchläuft 16 Zustände, bevor er von vorne beginnt. Das MSB schaltet einmal pro vollem Zyklus. f_aus = f_ein / N = 4 000 000 / 16 = 250 000 Hz = 250 kHz.

Welcher Schaltungstyp eignet sich am besten als Datenpuffer zwischen einer SPS und einem schnellen Eingangsmodul?

  • a) Flankengesteuertes Auffangregister
  • b) Asynchroner Ripple-Counter
  • c) Pegelgesteuertes Latch ohne Enable-Auswertung
  • d) Ein reines NAND-Gatter

Richtig: a)

Ein flankengesteuertes Auffangregister übernimmt den Eingangszustand exakt zum SPS-Lesetakt und stellt ihn danach stabil bereit. Ein Ripple-Counter hat eine ganz andere Funktion. Ein Latch ohne klare Enable-Steuerung würde transparente Phasen verursachen – schlecht für saubere Datenübernahme. Ein einzelnes NAND hat keinen Speicher.

Wie viele Flip-Flops braucht ein Modulo-100-Zähler mindestens?

  • a) 6
  • b) 7
  • c) 8
  • d) 100

Richtig: b)

2ⁿ ≥ 100. Wegen 2⁶ = 64 < 100 reichen 6 nicht, 2⁷ = 128 ≥ 100 reicht. Also 7 Flip-Flops minimal.

Welcher Vorteil bietet ein synchroner Zähler gegenüber einem asynchronen?

  • a) Niedrigerer Stromverbrauch
  • b) Einfacherer Aufbau
  • c) Höhere Taktfrequenz und glitchfreie Übergänge
  • d) Kein Takt notwendig

Richtig: c)

Beim synchronen Zähler schalten alle Flip-Flops gleichzeitig durch denselben Takt. Es gibt keine zeitversetzten Übergänge und keine Glitches. Damit sind höhere Frequenzen möglich. Stromverbrauch ist tendenziell sogar höher, der Aufbau aufwendiger, und Takt brauchen beide Bauarten.

Eine PISO-Schieberegister-Anwendung steckt typischerweise in welcher Schnittstelle?

  • a) UART-Sendeteil
  • b) Spannungsstabilisierung eines Steckernetzteils
  • c) Heizungsthermostat
  • d) Optokoppler-Eingangsstufe

Richtig: a)

Beim Senden über UART liegt das Datenwort parallel am Sender, muss aber seriell auf die Leitung. Das übernimmt ein Parallel-Input-Serial-Output-Schieberegister. Heizung, Netzteil und Optokoppler haben mit Schieberegistern nichts zu tun.

Aus welchem Grund werden in Mikrocontrollern fast ausschließlich synchrone Zähler verwendet?

  • a) Weil asynchrone Zähler bei hohen Taktraten Glitches erzeugen, die Folgelogik fehlleiten können
  • b) Weil sie weniger Bauteile brauchen
  • c) Weil sie ohne Versorgungsspannung arbeiten
  • d) Weil sie analoge Eingänge verarbeiten können

Richtig: a)

Bei MHz- und GHz-Taktraten wären die Gatterlaufzeiten eines Ripple-Counters fatal – die Folgelogik bekäme während der Übergänge falsche Zwischenstände. Synchrone Zähler schalten gleichzeitig und liefern saubere Zustände. Bauteilanzahl, Versorgungsfrage und Analogeingänge sind nicht der Grund.

Ein Quarzoszillator mit 32,768 kHz wird durch 15 hintereinandergeschaltete Flip-Flops geteilt. Welche Ausgangsfrequenz erhält man?

  • a) 1 Hz
  • b) 60 Hz
  • c) 100 Hz
  • d) 32 768 Hz

Richtig: a)

2¹⁵ = 32 768. Damit ergibt sich f_aus = 32 768 / 32 768 = 1 Hz. Das ist die klassische Sekundentakt-Erzeugung in Uhren-ICs.

Ein 4-Bit-Asynchronzähler steht bei Zählerstand 7 (binär 0111). Welcher Zwischenzustand kann während des Übergangs auf 8 (binär 1000) kurz erscheinen, wenn die Flip-Flops mit unterschiedlichen Gatterlaufzeiten arbeiten?

  • a) 1010
  • b) 0110
  • c) 1111
  • d) 0000

Richtig: d)

Beim Übergang von 0111 auf 1000 kippen mehrere Bits. Wenn das LSB als erstes umschaltet, durchläuft die Zahl 0110, 0100, 0000, 1000. Der Zwischenstand 0000 ist also tatsächlich für eine kurze Zeit am Ausgang sichtbar. Genau das ist das Glitch-Problem asynchroner Zähler.

Welche Variante hat den geringsten Schaltungsaufwand?

  • a) Asynchroner Ripple-Counter
  • b) Synchroner Zähler mit allen UND-Gattern
  • c) Modulo-N-Zähler mit Auswertelogik
  • d) Vorwärts-Rückwärts-Zähler mit Umschaltlogik

Richtig: a)

Der asynchrone Ripple-Counter braucht nur T-Flip-Flops in Reihe – ohne zusätzliche Verknüpfungslogik. Alle anderen Varianten enthalten zusätzliche Gatter zur Steuerung der Schaltbedingung.

Welche Aussage zur Datenübernahme stimmt?

  • a) Ein Latch übernimmt Daten nur an der steigenden Taktflanke
  • b) Ein D-Flip-Flop überträgt Eingangssignale dauerhaft transparent
  • c) Ein Latch ist während aktiver Enable-Phase transparent, ein D-Flip-Flop übernimmt nur an der Taktflanke
  • d) Beide arbeiten ohne externes Steuersignal

Richtig: c)

Genau dieser Unterschied ist in der Praxis kritisch. Ein Latch ist pegelgesteuert (transparent solange Enable aktiv), ein D-Flip-Flop ist flankengesteuert (Übernahme nur im Moment der Flanke).

Eine SPS soll Stückzahlen erfassen. Welcher SPS-Baustein passt am besten?

  • a) TON (Einschaltverzögerung)
  • b) Multiplexer
  • c) Analogwert-Skalierung
  • d) CTU (Aufwärtszähler)

Richtig: d)

CTU zählt jeden Eingangsimpuls einmal nach oben – genau die Funktion, die für Stückzählung gebraucht wird. TON ist ein Timer, ein Multiplexer wählt zwischen Datenquellen, und Analogskalierung wandelt Messwerte um.

Welche Aussage zum 74HC595 ist richtig?

  • a) Er ist ein analoger Komparator
  • b) Er ist ein synchroner Zähler mit Display-Ausgang
  • c) Er ist ein Schieberegister mit zusätzlichem Auffangregister am Ausgang
  • d) Er ist ein Spannungsregler für 5 V

Richtig: c)

Der 74HC595 enthält ein 8-Bit-Schieberegister und am Ausgang ein paralleles Auffangregister (Latch). Während neue Daten ins Schieberegister geschoben werden, bleiben die alten Ausgänge stabil. Erst mit dem Latch-Impuls werden die neuen Daten an die Ausgänge übergeben. Mit Komparatoren, Zählern oder Spannungsreglern hat das nichts zu tun.

Glossar

Schaltwerk
Digitale Schaltung mit innerem Speicher. Ausgang hängt von aktuellen Eingängen und gespeichertem Zustand ab.
Asynchroner Zähler (Ripple-Counter)
Zähler aus T-Flip-Flops in Serie. Jedes Flip-Flop wird vom Q-Ausgang des vorhergehenden getaktet.
Synchroner Zähler
Zähler, in dem alle Flip-Flops denselben Takt erhalten und gleichzeitig schalten.
Modulo-N-Zähler
Zähler, der nach N Zuständen wieder bei 0 beginnt. Realisierung über Rückkopplung der Ausgänge auf den asynchronen Clear-Eingang.
Vorwärtszähler / Rückwärtszähler / Vorwärts-Rückwärts-Zähler
Zähler mit fester oder umschaltbarer Zählrichtung; Rückwärtszähler werten in der Verknüpfungslogik die invertierten Ausgänge aus.
Frequenzteilung
Reduktion einer Eingangsfrequenz durch einen Zähler: f_aus = f_ein / N.
Register
Bündel paralleler Flip-Flops mit gemeinsamem Takt zur Speicherung eines Datenworts.
Auffangregister
Synonym für Parallelregister; übernimmt mehrere Bits gleichzeitig.
Latch (pegelgesteuert)
Speicherelement, das während aktiver Enable-Phase transparent bleibt und den Eingang direkt durchreicht; erst bei inaktivem Enable wird der letzte Wert eingefroren.
Flankensteuerung
Übernahmeprinzip, bei dem nur im Moment der Taktflanke übernommen wird (typisch für D-Flip-Flop-Register).
Schieberegister
Flip-Flop-Kette, in der Daten Takt für Takt eine Position weitergeschoben werden. Bauformen: SISO, SIPO, PISO, PIPO.
Glitch
Kurzzeitig am Ausgang erscheinender, ungültiger Zwischenzustand. Tritt bei asynchronen Zählern wegen zeitversetzter Übergänge auf.
Scroll to Top