JK-Flipflop
Überblick
- Zweck: Das JK-Flipflop ist eine sequentielle digitale Schaltung, die ein Datenbit speichert und vielseitige Zustandskontrolle bietet. Es verbessert das SR-Flipflop, indem es ungültige Zustände eliminiert und eine Toggle-Funktionalität hinzufügt, wenn beide Eingänge HIGH sind.
- Symbol: Das JK-Flipflop wird durch einen Rechteckblock mit Eingängen für J (Set), K (Reset), Takt (CLK) und manchmal asynchronem SET und RESET sowie den Ausgängen Q und Q̅ dargestellt.
- Rolle in DigiSim.io: Dient als grundlegendes Speicherelement in sequentiellen digitalen Schaltungen und bietet einen vielseitigen Baustein für Zähler, Register, Zustandsautomaten und Steuerungsanwendungen.

Funktionale Beschreibung
Logikverhalten
Das JK-Flipflop ändert seinen Zustand basierend auf den J- und K-Eingängen, wenn es durch eine positive Taktflanke (steigende Flanke) getriggert wird. Es verfügt über asynchrone Preset- und Clear-Eingänge, die den Normalbetrieb überschreiben können.
Pinbelegung:
- Pin 0: J (Set-Steuereingang)
- Pin 1: K (Reset-Steuereingang)
- Pin 2: CLK (Takteingang)
- Pin 3: PRE (Preset – asynchrones Setzen)
- Pin 4: CLR (Clear – asynchrones Rücksetzen)
- Ausgang 0: Q (gespeicherter Wert)
- Ausgang 1: Q̅ (komplementärer Ausgang)
Wahrheitstabelle (positiv flankengesteuertes JK-Flipflop):
| PRE | CLR | J | K | CLK | Q (nächster) | Q̅ (nächster) | Operation |
|---|---|---|---|---|---|---|---|
| 0 | 1 | X | X | X | 0 | 1 | Asynchrones Clear |
| 1 | 0 | X | X | X | 1 | 0 | Asynchrones Preset |
| 0 | 0 | 0 | 0 | ↑ | Q (vorher) | Q̅ (vorher) | Keine Änderung (Halten) |
| 0 | 0 | 0 | 1 | ↑ | 0 | 1 | Rücksetzen |
| 0 | 0 | 1 | 0 | ↑ | 1 | 0 | Setzen |
| 0 | 0 | 1 | 1 | ↑ | Q̅ (vorher) | Q (vorher) | Toggle |
| 0 | 0 | X | X | 0 | Q (vorher) | Q̅ (vorher) | Vorherigen Zustand halten |
| 0 | 0 | X | X | ↓ | Q (vorher) | Q̅ (vorher) | Vorherigen Zustand halten |
Hinweis: ↑ bezeichnet die steigende Flanke des Takts, ↓ die fallende Flanke, X bedeutet „Don't care", 0 = inaktiv (LOW), 1 = aktiv (HIGH)
Operationspriorität (höchste zur niedrigsten):
- CLR (Clear): Wenn CLR=1, wird Q unabhängig von anderen Eingängen auf 0 gezwungen
- PRE (Preset): Wenn PRE=1 und CLR=0, wird Q unabhängig von anderen Eingängen auf 1 gezwungen
- Taktflanke: Wenn PRE=0 und CLR=0, steuern J- und K-Eingänge den Zustand bei steigender Taktflanke
Eingänge und Ausgänge
Eingänge:
- J [Pin 0]: 1-Bit-„Set-Steuer"-Eingang, der zusammen mit K den nächsten Zustand des Flipflops bestimmt.
- K [Pin 1]: 1-Bit-„Reset-Steuer"-Eingang, der zusammen mit J den nächsten Zustand des Flipflops bestimmt.
- CLK (Takt) [Pin 2]: 1-Bit-Timing-Signal mit positiver Flanke, das Zustandsänderungen auslöst.
- PRE (Preset) [Pin 3]: 1-Bit-Asynchroneingang, der Q auf 1 zwingt, wenn aktiv-HIGH.
- CLR (Clear) [Pin 4]: 1-Bit-Asynchroneingang, der Q auf 0 zwingt, wenn aktiv-HIGH (höchste Priorität).
Ausgänge:
- Q: 1-Bit-Ausgang, der das gespeicherte Bit (aktueller Zustand) darstellt.
- Q̅: 1-Bit-Ausgang, der das Komplement des gespeicherten Bits darstellt.
Konfigurierbare Parameter
- Taktflankenempfindlichkeit: Ob das Flipflop auf steigende oder fallende Taktflanken reagiert.
- Asynchrone Eingänge: Ob SET- und RESET-Eingänge vorhanden sind.
- Laufzeitverzögerung: Die Zeit, bis sich Ausgänge nach einem Auslösereignis ändern.
Visuelle Darstellung in DigiSim.io
Das JK-Flipflop wird als Rechteckblock mit beschrifteten Eingängen auf der linken Seite (J, K, CLK, PRE, CLR von oben nach unten) und Ausgängen (Q und Q̅) auf der rechten Seite angezeigt. Die Komponente ist deutlich mit „JK FF" beschriftet, um sie als JK-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
- Sequentielle Logik: Demonstriert, wie Schaltungen ihren Zustand basierend auf Timing-Signalen speichern und ändern können.
- Flankengesteuertes Verhalten: Veranschaulicht, wie digitale Schaltungen auf Signalübergänge statt auf Pegel reagieren können.
- Rückkopplungssysteme: Zeigt, wie der aktuelle Zustand die Berechnung des nächsten Zustands beeinflusst.
- Zustandsspeicher: Führt ein, wie digitale Schaltungen den Zustand zwischen Taktzyklen aufrechterhalten.
- Toggle-Funktionalität: Demonstriert binäres Zustandsumschalten, ein grundlegendes Konzept in digitalen Zählern.
Lernziele
- Verstehen, wie JK-Flipflops binäre Informationen speichern und Zustände ändern.
- Die Beziehung zwischen Eingangskombinationen und resultierenden Zustandsänderungen lernen.
- Erkennen, wie der Toggle-Modus ein effizientes Zählerdesign ermöglicht.
- JK-Flipflops in der Entwicklung sequentieller Schaltungen wie Zählern und Zustandsautomaten anwenden.
- Begreifen, wie JK-Flipflops andere Flipflop-Typen durch geeignete Verbindungen emulieren können.
Anwendungsbeispiele/Szenarien
- Binärzähler: Nutzung der Toggle-Funktionalität zum Zählen sequentieller Zustände.
- Frequenzteilung: Erstellung von Taktteilern durch Toggeln bei jedem Eingangstaktimpuls.
- Schieberegister: Speicherung und Verschiebung von Datenbits durch eine Reihe von Flipflops.
- Zustandsautomaten: Erstellung von Schaltungen, die definierte Sequenzen von Zuständen durchlaufen.
- Entprellschaltungen: Entfernung von Rauschen aus Eingaben mechanischer Schalter.
- Speicherelemente: Speicherung einzelner Bits in Speichersystemen.
Technische Hinweise
- Die Toggle-Funktion des JK-Flipflops (wenn J=K=1) macht es besonders nützlich für Zählerdesigns.
- JK-Flipflops können so konfiguriert werden, dass sie als andere Flipflop-Typen arbeiten:
- Als D-Flipflop: Verbinde J mit D und K mit NOT D
- Als T-Flipflop: Verbinde J und K miteinander (J=K=T)
- Als SR-Flipflop: Direkt verwenden, jedoch J=K=1 für reines SR-Verhalten vermeiden
- Positiv flankengesteuerte JK-Flipflops haben spezifische Setup- und Haltezeitanforderungen für zuverlässigen Betrieb.
- Asynchrone Steuerung: PRE- und CLR-Eingänge sind aktiv-HIGH und haben Vorrang vor den synchronen Takteingängen. CLR hat höhere Priorität als PRE.
- Steuersignalpriorität: Der CLR-Eingang überschreibt immer PRE und synchronisierte Eingänge. Wenn CLR=1, wird der Ausgang auf 0 gezwungen. Wenn PRE=1 und CLR=0, wird der Ausgang auf 1 gezwungen.
- In DigiSim.io modelliert das JK-Flipflop positiv flankengesteuertes Verhalten mit klarer visueller Rückmeldung von Zustandsübergängen.
Timing-Diagramm
Betriebsbeispiel:
| Taktflanke | J | K | Aktion | Q (nächster) |
|---|---|---|---|---|
| Steigend 1 | 0 | 1 | Rücksetzen | 0 |
| Steigend 2 | 1 | 0 | Setzen | 1 |
| Steigend 3 | 1 | 1 | Toggle | 0 |
| Steigend 4 | 1 | 1 | Toggle | 1 |
| Steigend 5 | 0 | 0 | Halten | 1 |
Schlüsselverhalten: Der Ausgang ändert sich nur an Taktflanken und bietet so einen stabilen synchronen Betrieb.
Eigenschaften
- Vielseitiger als SR- oder D-Flipflops
- Bietet eine Toggle-Funktion, wenn sowohl J als auch K HIGH sind
- Keine ungültigen Zustände im Normalbetrieb
- Flankengesteuert (reagiert auf Taktübergang)
- Hat Setup- und Haltezeitanforderungen
- Kann durch Verbinden von J und K als T-Flipflop verwendet werden
- Kann mit einfacher Logik als D-Flipflop verwendet werden
Anwendungen
- Zähler und Frequenzteiler (mit der Toggle-Funktion)
- Schieberegister
- Zustandsautomaten
- Speicherelemente in sequentiellen digitalen Schaltungen
- Pulserkennung und -erzeugung
- Entprellen physikalischer Schalter
- Timing- und Synchronisationsschaltungen
- Toggle-Schalter in digitalen Systemen
Implementierung
JK-Flipflops können aufgebaut werden aus:
- NAND- oder NOR-Gattern
- Einer modifizierten Master-Slave-Anordnung
- Üblichen IC-Gehäusen:
- 7473: Dual-JK-Flipflop mit Clear
- 7476: Dual-JK-Flipflop mit Preset und Clear
- 74112: Dual-JK-Flipflop mit Preset und Clear, fallend flankengesteuert
Funktionale Beziehungen
JK-Flipflops können als andere Flipflop-Typen konfiguriert werden:
- D-Flipflop: Verbinde J mit D und K mit NOT D
- T-Flipflop: Verbinde J und K miteinander (J=K=T)
- SR-Flipflop: Direkt verwenden, jedoch J=K=1 für SR-Verhalten vermeiden
Schaltungsdiagramm
Ein grundlegendes JK-Flipflop kann mit NAND-Gattern in einer Master-Slave-Konfiguration mit Rückkopplungspfaden aufgebaut werden, um die Toggle-Funktionalität zu bieten.
Verwandte Komponenten
- SR-Flipflop: Einfacheres Design, hat aber eine ungültige Eingangskombination
- D-Flipflop: Datenspeicherung, keine Toggle-Fähigkeit
- T-Flipflop: Nur Toggle-Funktionalität
- Zähler: Oft mit JK-Flipflops aufgrund ihrer Toggle-Fähigkeit aufgebaut