Digitale Schaltungstechnik/ beidflanken Triggerung

Aus Wikibooks
Zur Navigation springen Zur Suche springen

In diesem Kapitel geht es darum, die Vorteile der Beidflanken-Triggerung aufzuzeigen.

Wir gehen von dieser Schaltung aus:
Delay Analyze Cuircuit Basic.svg
Es handelt sich nur um einen groben Auszug aus einer möglichen Schaltung; in der Praxis wird sich kaum eine derartige Schaltung finden.
Dieser Teil stellt eine Taktverteilung dar.
Delay Analyze Cuircuit Clock Distribution.svg
So etwas kann nötig sein, wenn der Taktgeber alleine z.B. maximal 10 Gatter ansteuern kann, wir aber sagen wir fünfzig haben. Durch so eine Schaltung muss der Taktgeber nur 5 Buffer treiben, die jeweils 10 Gatter ansteuern.
Hier haben wir zwei Datenregister, die als Schieberegister geschaltet sind
Delay Analyze Cuircuit Shift Register.svg
Im kompletten Schema wären oben und unten noch weitere Flipflops. Zur Vereinfachung haben wir sie weggelassen.

Idealfall[Bearbeiten]

Die Schaltung von oben ist nun ergänzt mit den Signallaufzeiten:
Delay Analyze Cuircuit Good 000.svg
Die Startbedienung nehmen wir wie bisher einfach mit 0 an:
Delay Analyze Cuircuit Good 001.svg
Nach 100ns liegt am oberen Flipflop eine 1 an:
Delay Analyze Cuircuit Good 002.svg
Nach weiteren 100ns legen wir Clock auf 1:
Delay Analyze Cuircuit Good 003.svg
Nach weiteren 15ns (der Gatterlaufzeit der Clocktreiber) gehen die Clocktreiber auf 1:
Delay Analyze Cuircuit Good 004.svg
Nach weiteren 15ns (der Gatterlaufzeit des D-Flipflops) reagieren die Flipflops
Delay Analyze Cuircuit Good 005.svg
Delay Analyze Cuircuit Good 006.svg
Delay Analyze Cuircuit Good 007.svg

Unguter Fall[Bearbeiten]

Die Laufzeitverzögerung zweier Gatter muss nicht unbedingt gleich sein. Gründe dafür können Herstelltoleranzen sein, unterschiedlich lange Leitungen usw.

Wir nehmen an, dass der obere Schaltungsteil eine kürzere Signallaufzeit hat, als der untere Schaltungsteil:
Delay Analyze Cuircuit Bad 000.svg
Das kann beispielsweise bei Ungünstiger Leitungsführung auf der Leiterplatte vorkommen.
Wir nehmen an, dass am Anfang alle Bauteile auf Low sind:
Delay Analyze Cuircuit Bad 001.svg
Dann lagen wir ein High am ersten Flipflop an:
Delay Analyze Cuircuit Bad 002.svg
Nach 200ns aktivieren wir das Clock Signal. Nach 10ns kommt das Clocksignal durch den ersten Treiber zum ersten Flipflop:
Delay Analyze Cuircuit Bad 003.svg
Nach weiteren 10ns reagiert das Flipflop:
Delay Analyze Cuircuit Bad 004.svg
Nach weiteren 5ns (also 25ns nach dem wir das Clock Signal angelegt haben), reagiert der zweite Treiber:
Delay Analyze Cuircuit Bad 005.svg
Zubeachten ist: Das Signal vom ersten Flipflop hat nun sozusagen den Clock vom zweiten Flipflop überhollt.
Das zweite Flipflop braucht nach anliegen des CLocksignals noch 15ns bis es reagiert:
Delay Analyze Cuircuit Bad 006.svg
Nun, setzen wir das CLock signal wieder auf Low:
Delay Analyze Cuircuit Bad 007.svg
Wieder geben die Treiber die Signale erst verzögert weiter:
Delay Analyze Cuircuit Bad 008.svg
Delay Analyze Cuircuit Bad 009.svg


Vergleich[Bearbeiten]

Delay Analyze Cuircuit Good 007.svg
Delay Analyze Cuircuit Bad 009.svg

Lösung[Bearbeiten]

Das Problem lässt sich unter anderem mit Master-Slave-Flip-Flops lösen: Digitale Schaltungstechnik/ Flipflop/ JK-Flipflop MS/ Herleitung