T-Flipflop
Überblick
- Zweck: Das T-Flipflop (Toggle-Flipflop) ist eine sequentielle digitale Schaltung, die ihren Ausgangszustand ändert, wenn sie durch eine Taktflanke getriggert wird, während ihr T-Eingang HIGH ist. Es bietet eine einfache und effiziente Möglichkeit, Toggle-Verhalten für Zähler und Frequenzteiler zu implementieren.
- Symbol: Das T-Flipflop wird durch einen Rechteckblock mit T-Eingang (Toggle), Takteingang (CLK), optionalen asynchronen SET- und RESET-Eingängen sowie komplementären Ausgängen Q und Q̅ dargestellt.
- Rolle in DigiSim.io: Dient als grundlegender Baustein zur Erstellung von Binärzählern, Frequenzteilern und Zustandsautomaten in digitalen Schaltungen.

Funktionale Beschreibung
Logikverhalten
Das T-Flipflop schaltet seinen Ausgangszustand um, wenn der T-Eingang während einer positiven Taktflanke (steigende Flanke) HIGH (1) ist, oder behält seinen aktuellen Zustand bei, wenn T LOW (0) ist. Es verfügt über einen asynchronen Clear-Eingang, der den Normalbetrieb überschreiben kann.
Pinbelegung:
- Pin 0: T (Toggle-Steuereingang)
- Pin 1: CLK (Takteingang)
- Pin 2: CLR (Clear – asynchrones Rücksetzen)
- Ausgang 0: Q (gespeicherter Wert)
- Ausgang 1: Q̅ (komplementärer Ausgang)
Wahrheitstabelle (positiv flankengesteuertes T-Flipflop):
| CLR | T | CLK | Q (nächster) | Q̅ (nächster) | Operation |
|---|---|---|---|---|---|
| 1 | X | X | 0 | 1 | Asynchrones Clear |
| 0 | 0 | ↑ | Q (vorher) | Q̅ (vorher) | Zustand halten (keine Änderung) |
| 0 | 1 | ↑ | Q̅ (vorher) | Q (vorher) | Toggle (Komplement) |
| 0 | X | 0 | Q (vorher) | Q̅ (vorher) | Zustand halten (keine Änderung) |
| 0 | X | ↓ | Q (vorher) | Q̅ (vorher) | Zustand halten (keine Änderung) |
Hinweis: ↑ bezeichnet die steigende Flanke des Takts, ↓ die fallende Flanke, X bedeutet „Don't care", 0 = inaktiv (LOW), 1 = aktiv (HIGH), „vorher" bedeutet vorheriger Zustand
Operationspriorität (höchste zur niedrigsten):
- CLR (Clear): Wenn CLR=1, wird Q unabhängig von anderen Eingängen auf 0 gezwungen
- Taktflanke: Wenn CLR=0, steuert der T-Eingang das Toggle-Verhalten bei steigender Taktflanke
Hinweis: Diese Implementierung enthält keinen PRE-Pin (Preset). Für Preset-Funktionalität verwende die JK- oder D-Flipflop-Komponenten.
Eingänge und Ausgänge
Eingänge:
- T (Toggle) [Pin 0]: 1-Bit-Eingang, der bestimmt, ob das Flipflop bei der Taktflanke umschaltet oder seinen Zustand beibehält.
- CLK (Takt) [Pin 1]: 1-Bit-Timing-Signal mit positiver Flanke, das Zustandsänderungen auslöst.
- CLR (Clear) [Pin 2]: 1-Bit-Asynchroneingang, der Q auf 0 zwingt, wenn aktiv-HIGH.
Ausgänge:
- Q: 1-Bit-Ausgang, der den gespeicherten Wert (aktueller Zustand) darstellt.
- Q̅: 1-Bit-Ausgang, der das Komplement des gespeicherten Werts darstellt.
Konfigurierbare Parameter
- Taktflankenempfindlichkeit: Ob das Flipflop auf steigende oder fallende Taktflanken reagiert.
- Asynchrone Eingänge: Ob Preset- und Clear-Eingänge vorhanden sind und aktiv-HIGH oder aktiv-LOW arbeiten.
- Laufzeitverzögerung: Die Zeit, bis sich Ausgänge nach einem Auslösereignis ändern.
Visuelle Darstellung in DigiSim.io
Das T-Flipflop wird als Rechteckblock mit beschrifteten Eingängen auf der linken Seite (T, CLK, CLR von oben nach unten) und Ausgängen (Q und Q̅) auf der rechten Seite angezeigt. Die Komponente ist deutlich mit „T FF" beschriftet, um sie als T-Flipflop zu identifizieren. Der Takteingang ist typischerweise mit einem Dreieckssymbol markiert, das die Empfindlichkeit gegenüber positiver Flanke anzeigt. Wenn die Komponente in einer Schaltung verbunden ist, zeigt sie ihren aktuellen Zustand visuell durch die an ihren Ausgängen angezeigten Werte und Farbänderungen auf den verbindenden Leitungen an.
Pädagogischer Wert
Schlüsselkonzepte
- Toggle-Verhalten: Demonstriert das grundlegende Konzept des binären Zustandsumschaltens.
- Sequentielle Logik: Veranschaulicht, wie Schaltungen ihren Zustand basierend auf Timing-Signalen speichern und ändern können.
- Flankengesteuerter Betrieb: Zeigt, wie digitale Schaltungen auf Signalübergänge statt auf Pegel reagieren können.
- Frequenzteilung: Führt das Konzept der Frequenzteilung mittels Toggle-Verhalten ein.
- Binärzählen: Demonstriert den grundlegenden Baustein für Binärzähler.
Lernziele
- Verstehen, wie das T-Flipflop basierend auf Eingangsbedingungen zwischen Zuständen umschaltet.
- Lernen, wie Frequenzteilerschaltungen mit T-Flipflops erstellt werden.
- Die Rolle von T-Flipflops im Binärzählerdesign erkennen.
- T-Flipflops zur Erstellung von Timing- und Sequenzgenerierungsschaltungen anwenden.
- Begreifen, wie das T-Flipflop mit anderen Flipflop-Typen (D, JK, SR) zusammenhängt.
Anwendungsbeispiele/Szenarien
- Binärzähler: Erstellung von Zählern durch Verbinden von T-Flipflops in Reihe.
- Frequenzteilung: Teilung einer Taktfrequenz um Faktoren von 2 für Timing-Anwendungen.
- Rechtecksignalerzeugung: Erzeugung von Rechtecksignalen mit genau halber Frequenz des Eingangssignals.
- Zustandsautomaten: Implementierung alternierender Zustandssequenzen in Steuerungssystemen.
- Paritätsbildung: Erstellung von Paritätsbits zur Fehlererkennung bei der Datenübertragung.
- Ereigniszählung: Zählen der Anzahl von Ereignissen durch Umschalten zwischen Zuständen.
Technische Hinweise
- Ein T-Flipflop, dessen T-Eingang dauerhaft mit HIGH (1) verbunden ist, fungiert als Frequenzteiler und erzeugt eine Ausgangsfrequenz, die halb so groß ist wie die Eingangstaktfrequenz.
- T-Flipflops können aus anderen Flipflop-Typen aufgebaut werden:
- Mit einem JK-Flipflop, dessen J- und K-Eingänge als T zusammengeschaltet sind
- Mit einem D-Flipflop und einem XOR-Gatter, das den T-Eingang mit dem aktuellen Q-Ausgang kombiniert
- Positiv flankengesteuerte T-Flipflops haben spezifische Setup- und Haltezeitanforderungen für zuverlässigen Betrieb.
- Asynchrone Steuerung: Diese Implementierung enthält nur einen CLR-Eingang (Clear), der aktiv-HIGH ist. Wenn CLR=1, wird der Ausgang unabhängig von anderen Eingängen sofort auf 0 gezwungen.
- Kein Preset-Pin: Im Gegensatz zu den JK- und D-Flipflops enthält diese T-Flipflop-Implementierung keinen PRE-Eingang (Preset). Für Anwendungen, die Preset-Funktionalität erfordern, verwende die JK- oder D-Flipflop-Komponenten.
- In kaskadierten Anordnungen (wie Zählern) schaltet jedes T-Flipflop typischerweise mit halber Frequenz der vorhergehenden Stufe.
- In DigiSim.io bietet das T-Flipflop visuelles Feedback des Toggle-Verhaltens und eignet sich hervorragend zur Demonstration binärer Zählkonzepte.
Eigenschaften
- Taktgesteuerter Betrieb:
- Flankengesteuert (typischerweise steigende Flanke)
- Zustandsänderungen nur bei aktiven Taktübergängen
- Toggle-Funktion:
- Wenn T=1: Ausgang schaltet bei jeder Taktflanke um
- Wenn T=0: Ausgang behält seinen aktuellen Zustand bei
- Laufzeitverzögerung:
- Clock-to-Q-Verzögerung: Typisch 5–15 ns (technologieabhängig)
- Setup-Zeit: Zeit, in der T vor der Taktflanke stabil sein muss
- Haltezeit: Zeit, in der T nach der Taktflanke stabil sein muss
- Stromverbrauch:
- Statisch: Niedrig (hauptsächlich Leckstrom)
- Dynamisch: Mäßig während Zustandsübergängen
- Fan-out:
- Typisch 10–50 Gatter (technologieabhängig)
- Betriebsmodi:
- Toggle-Modus (T=1)
- Halte-Modus (T=0)
- Asynchroner Preset/Clear (sofern vorhanden)
- Frequenzteilung:
- Wenn T auf HIGH gehalten wird, wird die Eingangstaktfrequenz durch 2 geteilt
- Metastabilitätsresistenz:
- Besser als Latches aufgrund flankengesteuerten Verhaltens
- Interne Master-Slave-Struktur reduziert die Wahrscheinlichkeit von Metastabilität
Implementierungsmethoden
- Mit einem JK-Flipflop
- Verbinde sowohl J- als auch K-Eingang mit T
- Erbt die flankengesteuerten Eigenschaften des JK-Flipflops
graph LR
T[T Input] --> J[J Input]
T --> K[K Input]
CLK[Clock] --> JKFF[JK Flip-Flop]
J --> JKFF
K --> JKFF
JKFF --> Q[Q Output]
JKFF --> QB[Q̅ Output]
Funktionsweise: Wenn T=1 und der Takt triggert, schaltet das Flipflop um. Wenn T=0, hält das Flipflop seinen Zustand.
- Mit einem D-Flipflop und Rückkopplung
- XOR-Gatter kombiniert T mit dem aktuellen Q-Ausgang
- Ausgang wird zum D-Eingang zurückgeführt
graph LR
T[T Input] --> XOR[XOR Gate]
Q[Q Output] --> XOR
XOR --> D[D Input]
D --> DFF[D Flip-Flop]
CLK[Clock] --> DFF
DFF --> Q
DFF --> QB[Q̅ Output]
Funktionsweise: XOR erzeugt Toggle-Logik. Wenn T=1, ist D = Q XOR 1 = NOT Q (toggelt). Wenn T=0, ist D = Q XOR 0 = Q (hält).
Direkte Implementierung mit Master-Slave-Struktur
- Zwei D-Latches in Master-Slave-Konfiguration
- Zusätzliche Logik für die Toggle-Funktion
Integrierte Schaltkreise
- Erhältlich in 74xx-Logikfamilien (z. B. 74LS73, 74HC73)
- Häufig als Dual- oder Quad-Flipflops pro Gehäuse implementiert
Anwendungen
Binärzähler
- Frequenzteiler (Teilung durch 2 wenn T=1)
- Ripple-Zähler und synchrone Zähler
- Erzeugung digitaler Takte
Frequenzteilung
- Teilung des Taktsignals für Timing-Anwendungen
- Rate-Multiplier und programmierbare Teiler
Zustandsautomaten
- Sequentielle Logikschaltungen
- Steuerungssysteme mit alternierenden Zuständen
Paritätsbildung/-prüfung
- Erzeugung gerader/ungerader Paritätsbits
- Fehlererkennung bei der Datenübertragung
Pulserzeugung
- Rechtecksignalgeneratoren
- Timing- und Synchronisationssignale
Ereigniszählung
- Zählen externer Ereignisse oder Pulse
- Verarbeitung von Sensoreingaben
Speicherelemente
- Einzelbit-Speicherung in digitalen Systemen
- Schieberegister und Datenpuffer
Einschränkungen
Eingangs-Timing-Beschränkungen
- Setup- und Haltezeitanforderungen müssen erfüllt sein
- Möglichkeit von Timing-Verletzungen in Hochgeschwindigkeitssystemen
Begrenzte Funktionalität
- Nur Toggle- oder Halteoperationen
- Komplexere Verhaltensweisen erfordern zusätzliche Logik
Stromverbrauch beim Toggeln
- Kontinuierliches Toggeln (T=1) verbraucht mehr Strom
- Kann ein Problem in batteriebetriebenen Anwendungen sein
Empfindlichkeit gegenüber Taktversatz
- Leistung wird durch Qualität der Taktverteilung beeinflusst
- Kann sorgfältiges Taktbaumdesign in komplexen Systemen erfordern
Metastabilitätsrisiko
- Obwohl besser als Latches, dennoch anfällig für Metastabilität
- Kritisch bei Schnittstellen zu asynchronen Systemen
Detail der Schaltungsimplementierung
T-Flipflop mit JK-Flipflop
Die einfachste Implementierung eines T-Flipflops verwendet ein JK-Flipflop, dessen J- und K-Eingänge mit dem T-Eingang verbunden sind:
J = T
K = T
Wenn T=0, J=K=0, was die „Halte"-Bedingung für ein JK-Flipflop ist. Wenn T=1, J=K=1, was die „Toggle"-Bedingung für ein JK-Flipflop ist.
T-Flipflop mit D-Flipflop
Ein T-Flipflop kann auch mit einem D-Flipflop und einem XOR-Gatter aufgebaut werden:
D = T ⊕ Q
Wenn T=0, D=Q, was den aktuellen Zustand beibehält. Wenn T=1, D=¬Q, was den Zustand umschaltet.
Verwandte Komponenten
- D-Flipflop: Flankengesteuertes Flipflop, das Eingangsdaten direkt lädt
- JK-Flipflop: Vielseitiges Flipflop mit Set-, Reset- und Toggle-Fähigkeiten
- SR-Flipflop: Grundlegendes Flipflop mit Set- und Reset-Eingängen
- Binärzähler: Reihe von T-Flipflops zum Zählen
- Frequenzteiler: Anwendung des T-Flipflops zur Taktfrequenzteilung
- Johnson-Zähler: Spezieller Zähler mit T-Flipflops und invertierter Rückkopplung
- Ringzähler: Verbundene Reihe von Flipflops mit zirkulärem Datenpfad