Wie funktioniert ein Schieberegister?

PWolff  06.02.2024, 15:13

Weißt du, wie ein D-Flipflop funktioniert?

YaHobby 
Fragesteller
 06.02.2024, 17:14

ne

1 Antwort

Ein D-Flipflop ist die einfachste Form eines "steuerbaren" Datenspeichers.

Gesteuert wird, ob das Flipflop seinen Zustand behält oder den Zustand von außen übernimmt.

Wenn der "Übernehmen"-Eingang (hier "Takt" / "Clock" / "CLK" genannt) auf 1 ("ein") steht, wird der Wert am Eingang D übernommen und am Ausgang Q ausgegeben.

Wenn der CLK-Eingang auf 0 ("aus") steht, bleibt der Ausgang Q erhalten, egal, was am Eingang D passiert.

Q^(quer) ist einfach die Negation von Q - erspart einen "Inverter", wenn man diesen Wert mal braucht.

Preset (PRE / setzen) und Clear (CLR / löschen) setzen den Zustand auf 1 bzw. 0, ohne sich um CLK und D zu kümmern. Werden aber während des Betriebes typischerweise nicht verwendet (nur beim Einschalten/Rücksetzen/"Initialisieren" des Gerätes).

-----

Die Schaltung hier ist ein typisches Schieberegister - der Ausgang eines Flipflops ist an den Eingang des nächsten geschaltet und die Takteingänge (CLK) werden gleichzeitig angesteuert.

Hier muss die Funktion von CLK noch ergänzt werden: es stimmt nicht ganz, dass bei CLK = "ein" der Wert an D übernommen wird - es wird der Wert an D übernommen, der dort anlag, als CLK noch auf 0 stand. Sonst würde bei CLK = "ein" der Wert am ersten Eingang an alle folgenden Flipflops "durchgereicht", und dann hätte man kein Schieberegister mehr.

Im Folgenden gebe ich den Anschlüssen vom ersten FF den Index 0 (übliche Zählung in der Digitaltechnik), den des zweiten den Index 1 etc. (ist manchmal übersichtlicher so als Extra-Buchstaben für jedes einzelne Element). Dann ist A = Q0, B = Q1, C = Q2, D = Q3.

Tabelle der zeitlichen Entwicklung - erst mal der Anfangszustand:

CLK  |  D0  Q0  |  D1  A1  |  D2  A2  |  D3  A3  |
--------------------------------------------------
  0  |  ?    1  |   1   0  |   0   0  |   0   0  |

D0 berechnet sich aus Q0, Q2 und Q3 - für die Werte 1, 0, 0 ergibt sich 1.

(Beachte, dass die D-Werte hier noch nicht verarbeitet werden.)

Also sehen die ersten beiden Zustände so aus:

CLK  |  D0  Q0  |  D1  A1  |  D2  A2  |  D3  A3  |
--------------------------------------------------
  0  |   1   1  |   1   0  |   0   0  |   0   0  |
     |          |          |          |          |
  1  |  (?)  1  |  (1)  1  |  (1)  0  |  (0)  0  |

Die D-Werte habe ich in Klammern gesetzt, um deutlich zu machen, dass sie erst im folgenden Schritt verarbeitet werden - übernommen wurden die Werte vom Anfangszustand.

Wieder berechnen wir D0 - es ergibt sich wieder 1. Also

CLK  |  D0  Q0  |  D1  A1  |  D2  A2  |  D3  A3  |
--------------------------------------------------
  0  |   1   1  |   1   0  |   0   0  |   0   0  |
     |          |          |          |          |
  1  |  (1)  1  |  (1)  1  |  (1)  0  |  (0)  0  |
     |          |          |          |          |
  0  |   1   1  |   1   1  |   1   0  |   0   0  |

Im bisher letzten Schritt werden die D-Werte gemerkt, aber noch nicht verarbeitet.

Der nächste Schritt entspricht dem 2. Taktpuls (ich nehme an, dass wie üblich das Schalten auf "1" als "Taktpuls" gezählt wird).

Kommst du jetzt selber weiter?


YaHobby 
Fragesteller
 06.02.2024, 21:30

Ja hat sehr geholfen vielen Dank

0