PREVIEW
Shift Register (8-bit)

Shift Register (8-bit)

Memory signal_cellular_alt_2_bar Intermediate schedule 25 min

Interactive Circuit

8-Bit-Schieberegister

Übersicht

  • Zweck: Das 8-Bit-Schieberegister ist eine sequenzielle digitale Schaltung, die 8 Bit binärer Daten speichert und nach links oder rechts verschiebt. Sie ermöglicht die Wandlung zwischen seriellen und parallelen Datenformaten, die temporäre Speicherung sowie die Bitmanipulation.
  • Symbol: Üblicherweise als rechteckiger Block mit einem seriellen Eingang (SI), parallelen Dateneingängen (D0-D7), Steuereingängen (CLK, LOAD, SCLR), parallelen Ausgängen (Q0-Q7) und einem seriellen Ausgang (SO) dargestellt.
  • DigiSim.io-Rolle: Dient als wesentlicher Baustein für Datenübertragung, Kommunikationsschnittstellen und sequenzielle digitale Operationen, bei denen Daten verschoben, gespeichert oder zwischen seriellen und parallelen Formaten umgewandelt werden müssen.

8-Bit-Schieberegister-Komponente

Funktionsbeschreibung

Logikverhalten

Das 8-Bit-Schieberegister führt drei Hauptoperationen aus: paralleles Laden (gleichzeitiges Erfassen von 8 Bit), serielles Schieben (Bewegen der Bits durch das Register) und Ausgabe (Bereitstellen der gespeicherten Daten in paralleler oder serieller Form). Sein Betrieb wird durch Takt-, Lade- und Löschsignale gesteuert.

Wahrheitstabelle (8-Bit-Universalschieberegister):

CLK DIR S/L SI D7..D0 Q7..Q0 (Nächster Zustand) Anmerkungen
X 1 X d7..d0 d7..d0 Paralleles Laden
0 0 si X si, Q7, Q6, Q5, Q4, Q3, Q2, Q1 Rechtsschieben
1 0 si X Q6, Q5, Q4, Q3, Q2, Q1, Q0, si Linksschieben
X X X X Q7..Q0 (keine Änderung) Keine Änderung

Hinweis: ↑ steht für eine steigende Taktflanke, ↓ für eine fallende Flanke, X für „don't care", si für den seriellen Eingang, d7..d0 für die parallelen Dateneingänge. Qn ist der aktuelle Zustand.

Eingänge und Ausgänge

  • Eingänge (12 insgesamt):

    • SI (Serial Input): 1-Bit-Eingang für die serielle Dateneingabe.
    • CLK (Clock): 1-Bit-Eingang; Operationen erfolgen an der steigenden Flanke.
    • DIR (Direction): 1-Bit-Eingang; steuert die Schieberichtung (0 = rechts, 1 = links), wenn S/L = 0 ist.
    • S/L (Shift/Load): 1-Bit-Eingang; Modussteuerung (0 = Schieben, 1 = paralleles Laden).
    • D0, D1, D2, D3, D4, D5, D6, D7: Acht 1-Bit-Paralleleingänge zum gleichzeitigen Laden von Daten, wenn S/L = 1 ist.
  • Ausgänge (9 insgesamt):

    • Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7: Acht 1-Bit-Parallelausgänge, die die aktuell gespeicherten Bits des Registers darstellen.
    • SO (Serial Output): 1-Bit-Ausgang. Das Verhalten hängt von der Schieberichtung ab:
      • Beim Rechtsschieben (DIR=0): SO entspricht typischerweise Q0.
      • Beim Linksschieben (DIR=1): SO entspricht typischerweise Q7.

Konfigurierbare Parameter

  • Taktflanke: Ob Operationen durch die steigende oder fallende Taktflanke ausgelöst werden.
  • Schieberichtung: Rechtsschieben, Linksschieben oder bidirektional (in einigen Implementierungen).
  • Löschtyp: Synchrone (taktgesteuerte) oder asynchrone Löschfunktion.
  • Steuersignal-Logik: Ob Steuersignale aktiv-HIGH oder aktiv-LOW sind.
  • Serielle E/A-Konfiguration: Welches Ende des Registers als serieller Ein- bzw. Ausgang dient.
  • Timing-Parameter: Setup-Zeit, Hold-Zeit und Signallaufzeiten.

Visuelle Darstellung in DigiSim.io

Das 8-Bit-Schieberegister wird als rechteckiger Block mit den Dateneingangs-Pins (D0-D7 und SI) auf der linken Seite, den Steuersignalen (CLK, DIR, S/L) unten und den Datenausgangs-Pins (Q0-Q7 und SO) auf der rechten Seite dargestellt. In einer Schaltung visualisiert die Komponente die gespeicherten Werte und Schiebeoperationen durch Farbänderungen auf den verbundenen Leitungen.

Pädagogischer Wert

Schlüsselkonzepte

  • Sequenzielle Logik: Zeigt, wie Daten in digitalen Schaltungen über die Zeit gespeichert und manipuliert werden können.
  • Datenverschiebung: Veranschaulicht Bitbewegung und Rotationsoperationen in digitalen Systemen.
  • Formatumwandlung: Zeigt, wie Daten zwischen seriellen und parallelen Formaten konvertiert werden können.
  • Taktgesteuerter Betrieb: Betont die Bedeutung von Timing und Synchronisation in sequenziellen Schaltungen.
  • Temporäre Speicherung: Vermittelt das Konzept der Datenpufferung und stufenweisen Verarbeitung.
  • Digitale Kommunikation: Führt grundlegende Konzepte der seriellen und parallelen Datenübertragung ein.

Lernziele

  • Verstehen, wie Schieberegister zwischen seriellen und parallelen Datenformaten umwandeln.
  • Lernen, wie taktgesteuerte sequenzielle Operationen in digitalen Systemen funktionieren.
  • Erkennen der Bedeutung von Schieberegistern in Kommunikationsschnittstellen.
  • Anwendung von Schieberegister-Konzepten beim Entwurf von Datenübertragungssystemen.
  • Verständnis der Beziehung zwischen Steuersignalen und Registeroperationen.
  • Entwicklung von Fähigkeiten zur Analyse und zum Entwurf sequenzieller Schaltungen mit mehreren Betriebsmodi.
  • Beherrschen der Timing-Beziehungen bei seriellen Datenoperationen.

Anwendungsbeispiele/Szenarien

  • Serielle Kommunikation: Implementierung von UART-, SPI- oder I²C-Schnittstellen für die Wandlung zwischen seriellen Protokollen und parallelen Datenbussen.
  • LED-Anzeigesteuerung: Ansteuerung mehrerer LED-Anzeigen mit weniger Steuerleitungen durch serielles Schieben der Anzeigedaten.
  • Datenerfassung: Erfassung serieller Sensordaten und Umwandlung in paralleles Format zur Verarbeitung.
  • Digitale Filter: Erstellung von Verzögerungsleitungen für die digitale Signalverarbeitung.
  • Tastaturabfrage: Abtasten von Matrixtastaturen durch Schieben eines einzelnen aktiven Bits.
  • Mustererzeugung: Erzeugung sich wiederholender Bitmuster für Test- oder Steuerungsanwendungen.
  • CRC-Berechnung: Implementierung der Polynomdivision zur Fehlerprüfung in Kommunikationssystemen.
  • Parallel-Seriell-Wandlung: Übertragung paralleler Daten über serielle Kommunikationskanäle.

Technische Hinweise

  • Die Implementierung verwendet typischerweise acht in Reihe geschaltete D-Flip-Flops mit zusätzlichen Multiplexern für das parallele Laden.
  • Schieberegister können kaskadiert werden, um längere Bitlängen zu erzeugen, indem der serielle Ausgang eines Registers mit dem seriellen Eingang des nächsten verbunden wird.
  • Wichtige Timing-Parameter sind die Setup-Zeit (5–15 ns vor der Taktflanke) und die Hold-Zeit (0–5 ns nach der Taktflanke).
  • Verschiedene Konfigurationen umfassen SISO (Serial-In, Serial-Out), SIPO (Serial-In, Parallel-Out), PISO (Parallel-In, Serial-Out) und Universal (bidirektional mit parallelem Laden).
  • Häufige IC-Implementierungen sind 74HC164 (SIPO), 74HC165 (PISO) und 74HC595 (SIPO mit Ausgangslatch).
  • Die maximale Schiebefrequenz wird durch die Signallaufzeiten in der Flip-Flop-Kette begrenzt.
  • In DigiSim.io modelliert die Schieberegister-Simulation die Timing-Abhängigkeiten und Bitbewegungen realer Schieberegisterkomponenten präzise.

Eigenschaften

  • Eingangskonfiguration:

    • Acht parallele Dateneingänge (D0-D7)
    • Serieller Eingang (SI) zum Hineinschieben von Daten
    • Takteingang (CLK) – typischerweise flankengetriggert (steigende Flanke)
    • Synchroner Lösch-Eingang (SCLR) zum Zurücksetzen des Registers
    • Freigabe für paralleles Laden (LOAD) zum Laden paralleler Daten
    • Kann bei bidirektionalen Typen eine Schieberichtungssteuerung enthalten
    • Kompatibel mit standardmäßigen digitalen Logikpegeln
  • Ausgangskonfiguration:

    • Acht parallele Datenausgänge (Q0-Q7)
    • Serieller Ausgang (SO) – typischerweise Q0 bei Rechtsschieberegistern
    • Jeder Ausgang stellt den aktuellen Zustand der entsprechenden Stufe dar
    • Kann standardmäßige digitale Lasten treiben
    • Kann in einigen Implementierungen komplementäre Ausgänge enthalten
    • Wechselt seinen Zustand synchron mit Takttransitionen
  • Funktionalität:

    • Speichert und schiebt 8 Bit binärer Daten
    • Ermöglicht das parallele oder serielle Laden von Daten
    • Bietet Zugriff auf Daten in parallelem oder seriellem Format
    • Schiebt Daten nach rechts (oder links bei bidirektionalen Varianten)
    • Wandelt zwischen seriellen und parallelen Datenformaten um
    • Implementiert Operationen vom Typ SISO, SIPO, PISO oder PIPO
    • Kann für größere Bitbreiten kaskadiert werden
  • Signallaufzeit:

    • Takt-zu-Ausgang (tCO): typisch 10–25 ns
    • Setup-Zeit (tS): 5–15 ns vor der Taktflanke
    • Hold-Zeit (tH): 0–5 ns nach der Taktflanke
    • Lösch-zu-Ausgang (tCLR): 5–20 ns
    • Technologieabhängig (TTL, CMOS usw.)
    • Kritische Parameter für serielle Hochgeschwindigkeitsoperationen
    • Bei synchronen Designs konsistent über alle Bits
  • Fan-Out:

    • Treibt typischerweise 10–20 Standardlasten
    • Ausgangsbelastung beeinflusst die Signallaufzeit
    • Kann für hohe Fan-Out-Anwendungen Pufferung erfordern
    • Serieller Ausgang ist oft für die Ansteuerung nachfolgender Stufen ausgelegt
  • Leistungsaufnahme:

    • Statische Leistung minimal in CMOS-Implementierungen
    • Dynamische Leistung steigt mit der Taktfrequenz
    • Leistungsaufnahme proportional zur Schiebeaktivität
    • Stromspitzen bei mehrfachen Bitübergängen
    • Energiemanagement durch Clock-Gating
    • Technologieabhängig (CMOS hat die niedrigste statische Leistung)
  • Schaltungskomplexität:

    • Mittlere Komplexität
    • Erfordert acht Flip-Flops plus Steuerlogik
    • Zusätzliche Multiplexer für paralleles Laden
    • Eingangssteuerlogik zur Modusauswahl
    • Komplexität steigt mit zusätzlichen Funktionen (bidirektional usw.)
    • Integrierte Implementierungen reduzieren die Anzahl externer Bauteile

Implementierungsmethoden

  1. D-Flip-Flop-Kette

    • Acht kaskadierte D-Flip-Flops mit gemeinsamem Takt
    • Einfachste Implementierung für Serial-In/Serial-Out
    • Ausgang jedes Flip-Flops mit dem Eingang des nächsten verbunden
    • Zusätzliche Multiplexer für paralleles Laden
    • Modussteuerlogik zur Auswahl der Operation
    • Klassisches Lehrbeispiel für die Schieberegister-Funktionsweise
  2. Implementierung als integrierte Schaltung

    • Dedizierte 8-Bit-Schieberegister-ICs
    • Beispiele: 74HC164 (Serial-In/Parallel-Out), 74HC165 (Parallel-In/Serial-Out), 74HC595 (Serial-In/Parallel-Out mit Ausgangslatches)
    • Verschiedene Funktionen: paralleles Laden, Tri-State-Ausgänge usw.
    • Verfügbar in verschiedenen Logikfamilien (TTL, CMOS usw.)
    • Reduzierte Bauteilanzahl und Platinenfläche
    • Klar definierte Timing-Eigenschaften
  3. Universalschieberegister

    • Konfigurierbar für Linksschieben, Rechtsschieben, paralleles Laden
    • Komplexere Steuerlogik und interne Pfade
    • Maximale Flexibilität für unterschiedliche Operationen
    • Beispiele sind 74HC194, 74HC299
    • Modusauswahl-Eingänge bestimmen die Operation
    • Komplexer, aber sehr vielseitig
  4. Bidirektionales Schieberegister

    • Kann Daten nach links oder rechts schieben
    • Richtungssteuereingang wählt die Schieberichtung
    • Zusätzliche Multiplexer für die Richtungssteuerung
    • Häufig in arithmetischen Operationen (Multiplikation, Division)
    • Oft mit Universalschieberegistern realisiert
    • Erhöhte Komplexität für die bidirektionale Funktion
  5. SIPO-Konfiguration (Serial-In/Parallel-Out)

    • Daten werden seriell eingegeben, parallel ausgelesen
    • Üblich für Seriell-Parallel-Wandlung
    • Ermöglicht das Erfassen serieller Datenströme
    • Wird in seriellen Kommunikationsschnittstellen verwendet
    • Einfacher als ein Universalentwurf, wenn auf diese Funktion beschränkt
    • Typisches Beispiel: 74HC164
  6. PISO-Konfiguration (Parallel-In/Serial-Out)

    • Daten werden parallel eingegeben, seriell ausgegeben
    • Ermöglicht Parallel-Seriell-Wandlung
    • Wird in Sendern und seriellen Schnittstellen verwendet
    • Erfordert die Fähigkeit zum parallelen Laden
    • Taktsteuerung für das serielle Schieben
    • Typisches Beispiel: 74HC165
  7. FPGA/ASIC-Implementierung

    • Realisiert mit Flip-Flops und Multiplexern
    • Hochgradig konfigurierbare Designoptionen
    • Kann für spezifische Anforderungen optimiert werden
    • Kann spezialisierte Funktionen der Zieltechnologie nutzen
    • Wird oft aus HDL-Beschreibungen synthetisiert
    • Benutzerdefinierte Funktionen leicht hinzuzufügen

Anwendungen

  1. Seriell-zu-Parallel-Wandlung

    • Anbindung serieller Peripheriegeräte an parallele Bussysteme
    • Implementierung von UART/USART-Empfängern
    • SPI-Slave-Schnittstellen
    • I²C-Slave-Empfänger
    • Erfassung serieller Sensordaten
    • Serielle Daten-Deserialisierer
  2. Parallel-zu-Seriell-Wandlung

    • Anbindung paralleler Bussysteme an serielle Peripheriegeräte
    • Implementierung von UART/USART-Sendern
    • SPI-Master-Schnittstellen
    • Serialisierung von Daten zur Übertragung
    • Treiberschnittstellen für Anzeigen
    • Serielle Daten-Serialisierer
  3. Datenpufferung und temporäre Speicherung

    • Pipeline-Register in Datenpfaden
    • Erfassen und Halten von Eingangsdaten
    • Anpassung der Datenraten zwischen Systemen
    • Mehrstufige Puffer für Datenströme
    • Temporäre Speicherung für die Verarbeitung
    • Byteweise Datenpufferung
  4. Digitale Signalverarbeitung

    • Digitale Filter (FIR/IIR-Implementierung)
    • Verzögerungsleitungen für Signalverarbeitung
    • Korrelations- und Faltungsoperationen
    • Erzeugung digitaler Wellenformen
    • Mustererkennung in seriellen Strömen
    • Sequenzerkennung
  5. Arithmetische Operationen

    • Binäre Multiplikation und Division
    • Serielle Recheneinheiten
    • Polynomdivision (CRC-Berechnung)
    • Bitmanipulationsoperationen
    • Hardware-Beschleuniger für spezifische Algorithmen
    • Implementierungen von Linear-Feedback-Shift-Registern
  6. Timing und Steuerung

    • Sequenzgenerierung
    • Zustandsautomaten mit festen Sequenzen
    • Implementierung von Zeitverzögerungen
    • Steuerung von Pulssequenzen
    • Mustergeneratoren
    • Pseudozufallssequenz-Generatoren
  7. Datenkommunikation

    • Rahmen-Synchronisation
    • Protokollverkapselung
    • Datenformatierung
    • Bit Stuffing und Destuffing
    • Datenpaketierung
    • Erzeugung von Fehlererkennungscodes

Einschränkungen

  1. Timing-Beschränkungen

    • Anforderungen an Setup- und Hold-Zeiten
    • Begrenzung der maximalen Taktfrequenz
    • Datentransitions-Timing kritisch für serielle Ströme
    • Empfindlichkeit gegenüber Taktversatz in kaskadierten Systemen
    • Signallaufzeiten begrenzen die Maximalgeschwindigkeit
    • Synchronisationsprobleme mit externen Systemen
  2. Datenkapazität

    • Ohne Kaskadierung auf 8 Bit begrenzt
    • Mehrere Bausteine für breitere Datenpfade erforderlich
    • Kaskadierung erhöht die Signallaufzeit
    • Datenbreite nach Implementierung fest
    • Geringere Speicherkapazität als dedizierte Speicher
    • Aufwand für Steuerlogik bei Anwendungen mit kleinen Daten
  3. Operationale Beschränkungen

    • Feste Schieberichtung bei nicht-universellen Typen
    • Datenverlust beim Schieben ohne externe Speicherung
    • Anforderungen an das Modussteuerungs-Timing
    • Sequenzieller Zugriff auf verschobene Daten
    • Eingeschränkte Zugriffsmöglichkeiten auf interne Stufen
    • Reset-/Preset-Möglichkeiten variieren je nach Implementierung
  4. Leistungsaufnahme

    • Kontinuierliches Takten erhöht den Stromverbrauch
    • Hochfrequenter Betrieb erhöht die dynamische Leistung
    • Aktive Leistung proportional zu den Bitübergängen
    • Energiemanagement erfordert Taktsteuerung
    • Batteriebetriebene Anwendungen erfordern sorgfältige Auslegung
    • Hochgeschwindigkeits-Schieben erhöht die Leistungsanforderungen
  5. Designkomplexität

    • Komplexität der Kaskadierung für größere Bitbreiten
    • Koordination der Steuersignale
    • Aufwand für Modusauswahllogik
    • Überlegungen zur Taktverteilung
    • Herausforderungen bei Test und Verifikation
    • Integration mit asynchronen Systemen

Schaltungsdetails

Grundlegendes 8-Bit-Schieberegister mit Serial-In/Parallel-Out

graph LR
    SI[Serial In] --> FF0[D FF 0]
    CLK[Clock] --> FF0
    FF0 -->|Q0| OUT0[Q0]
    FF0 --> FF1[D FF 1]
    CLK --> FF1
    FF1 -->|Q1| OUT1[Q1]
    FF1 --> FF2[D FF 2]
    CLK --> FF2
    FF2 -->|Q2| OUT2[Q2]
    FF2 --> FF7[D FF 7]
    CLK --> FF7
    FF7 -->|Q7| OUT7[Q7]

Funktionsweise: Daten werden bei jeder Taktflanke nach rechts geschoben; parallele Ausgänge stehen an allen Flip-Flops zur Verfügung.

74HC595 8-Bit-Schieberegister mit Serial-In/Parallel-Out und Ausgangslatches

Pinbelegung:

Pin Signal Funktion
SER Serieller Eingang Dateneingang
SRCLK Schiebetakt Schiebt Daten an steigender Flanke
RCLK Registertakt Übernimmt Schieberegister auf Ausgang
/SRCLR Löschen Aktiv-LOW-Löschen
/OE Ausgangsfreigabe Aktiv-LOW-Ausgangsfreigabe
QA-QH Ausgänge Parallele Datenausgänge Q0-Q7
QH' Serieller Ausgang Kaskadenausgang
VCC, GND Versorgung +5V und Masse

Merkmale:

  • Zweistufig: Schieberegister + Ausgangslatch
  • Kaskadierung: QH' ermöglicht das Verketten mehrerer Bausteine
  • Ausgangssteuerung: Tri-State-Ausgänge über /OE

74HC165 8-Bit-Schieberegister mit Parallel-In/Serial-Out

Pinbelegung:

Pin Signal Funktion
A-H Dateneingänge Parallele Dateneingänge D0-D7
SER Serieller Eingang Kaskadier-/serieller Dateneingang
CLK Takt Schiebetakt-Eingang
CLK INH Taktsperre Stoppt den Takt bei HIGH
SH//LD Shift/Load LOW=parallel laden, HIGH=schieben
QH Serieller Ausgang Serieller Datenausgang
QH' Komplement-Ausgang Invertierter serieller Ausgang
VCC, GND Versorgung +5V und Masse

Funktionsweise:

  • Lademodus (SH//LD=LOW): Parallele Daten werden geladen
  • Schiebemodus (SH//LD=HIGH): Daten werden seriell ausgeschoben

CLK = Takt, CLK INH = Taktsperre, SH/LD = Shift/Load, SER = serieller Eingang, QH = serieller Ausgang, QH' = komplementärer serieller Ausgang

Verwandte Komponenten

  • 4-Bit-Schieberegister: Kleinere Version für Operationen in Nibble-Größe
  • 16-Bit-Schieberegister: Erweiterte Version für Operationen in Wortgröße
  • Universalschieberegister: Flexibles Register mit mehreren Schiebemodi
  • Bidirektionales Schieberegister: Kann Daten nach links oder rechts schieben
  • SIPO-Register (Serial-In/Parallel-Out): Spezialisiert auf Seriell-Parallel-Wandlung
  • PISO-Register (Parallel-In/Serial-Out): Spezialisiert auf Parallel-Seriell-Wandlung
  • SISO-Register (Serial-In/Serial-Out): Einfaches Schieberegister mit seriellem Ein- und Ausgang
  • PIPO-Register (Parallel-In/Parallel-Out): Einfaches Register ohne Schiebefunktion
  • Johnson-Zähler: Schieberegister mit invertierter Rückkopplung zur Sequenzgenerierung
  • Ringzähler: Schieberegister mit direkter Rückkopplung zur Sequenzgenerierung

school Lernpfad

arrow_forward Nächste Schritte

help_outline Häufig gestellte Fragen

Wo werden 8-Bit-Schieberegister verwendet?

Serielle Kommunikation (SPI, UART), LED-Display-Controller, Pseudozufallszahlengeneratoren und die Umwandlung zwischen seriellen und parallelen Datenformaten.

play_arrow Live-Schaltung ausführen

Weitere Komponenten ansehen