Das 16-bit-Schieberegister

  1. Einleitung

    Das 16-bit-Schieberegister ist die zentrale Baugruppe der Ablaufsteuerung der CPU. Mit ihrer Hilfe ist es möglich, verschiedene Steueraufgaben innerhalb der CPU sequentiell abzuarbeiten. Die Aufgabe der Schaltung ist relativ einfach. Gesteuert durch ein Taktsignal sollen nacheinander 16 Ausgänge auf Logikpegel 1 gesetzt werden. Das Taktsignal wird aus dem Prozessortakt abgeleitet und die 16 Ausgänge werden der Mikrocodesteuerung der CPU zugeführt. Das Schieberegister arbeitet vollkommen statisch.

  2. Die Schaltung des 16-bit-Schieberegisters

    Auf dem folgenden Bild ist die Schaltung des 16-bit-Schieberegisters dargestellt.
  3. Funktionsweise der Schaltung

    Die Schaltung ist im Prinzip an eine taktgesteuerte Eimerkettenschaltung (Analogschieberegister) angelehnt, wie sie z.B. auch in CCD-Sensoren eingesetzt wird. Die Steuerung erfolgt über zwei Taktleitungen CLK und /CLK, wobei CLK ein Taktsignal mit einem Taktverhältnis von 1:1 ist. Das Signal /CLK ist zu CLK invertiert. Die Anschlüsse P2[5,6] bilden den Start/Stopp-Eingang des Schieberegisters. Wird dieser Anschluss mit Logikpegel 0 beschaltet, so ist das Schieberegister inaktiv. Erst der Logikpegel 1 aktiviert das Schieberegister. Da alle Relais abgefallen sind, wird der Logikpegel 1 (12V) vom letzten Relais REL16 über die geschlossenen Kontakte REL16[13,11] an Relais 15 weitergegeben, von da an Relais 14 usw. usf. Am Relais 1 ist der Anschluss REL1[11] am Steckverbinder P1[5,6] herausgeführt. Dieser Anschluss versorgt die Schaltung am Eingang des Schieberegisters, die den Startimpuls erzeugt. Nur wenn dieser Anschluss Logikpegel 1 führt, darf ein Startimpuls erzeugt werden.
    Nehmen wir nun an, dass der START/STOPP-Eingang den Logikpegel 1 führt, alle Relaisanschlüsse RELX[13] also mit 12V versorgt werden und nehmen wir weiter an, dass der Eingang CLK an P1[1,2] Logikpegel 1 und der Eingang /CLK an P1[3,4] Logikpegel 0 führt. Wird jetzt ein positiver Schaltimpuls an Anschluss P1[7,8] erzeugt, so fließt über die Diode D1 ein Strom, sodass der Kondensator C1 geladen wird und das Relais REL1 anzieht. In diesem Moment wird der Kontakt REL1[13,11] geöffnet und die Ausgangstreiber für den Startimpuls an P1 werden nicht mehr mit Spannung versorgt. Die Trägheit der Relaiskontakte, die im Eisenkern des Relais gespeicherte magnetische Energie und die im Kondensator gespeicherte elektrische Enerie sorgen dafür, dass das Relais REL1 sicher wechselt und dadurch die Kontakte REL1[9,13] verbunden werden. Damit werden die 12V aus der START/STOPP-Kette an die Relaisspule geleitet und das Relais REL1 befindet sich in Selbsthaltung.
    Gleichzeitig wechseln auch die Kontakte REL1[6,4,8] ihre Position und damit ist der Schalter REL1[4,8] geschlossen. Dieser verbindet nun den Eingang der nächsten Schaltstufe mit dem Takteingang /CLK. Synchron mit der nächsten steigenden Flanke von /CLK wird nun Relais REL2 anziehen. Dadurch werden die Kontanke REL2[11,13] geöffnet und damit die Selbsthaltung des Relais REL1 abgeschaltet. Gleichzeitig wird der Kontakt REL2[9,13] geschlossen und die Selbsthaltung für Relais REL2 aktiviert. Durch die im Kondensator C1 gespeicherte elektrische Energie fällt das Relais REL1 nicht sofort nach der Abschaltung der Selbsthaltung ab, sondern einen kurzen Moment später. Dadurch wird erreicht, dass beide Relais für einen kurzen Moment angezogen sind, um überlappende Ausgangssignale zu erhalten.
    Nun ist durch den Kontakt REL2[4,8] die dritte Relaisstufe mit dem Taktsignal CLK verbunden und wird bei der nächsten steigenden Flanke von CLK entsprechend reagieren.
    In der gesamten Schieberegisterkette wird also bei jeder positiven Flanke an CLK und /CLK, also bei jedem Taktimpuls, die nächste Schaltstufe aktiviert und der entsprechende Ausgang Logikpegel 1 führen.

  4. Zeitverhalten

    Im Taktdiagramm ist das zeitliche Verhalten der Steuersignale dargestellt. Jeweils aktive Schaltflanken sind durch senkrechte Zeitlinien markiert.
    Die Signale CLK und /CLK geben das Taktsignal und das invertierte Taktsignal wieder. Durch die Takterzeugung in der Ablaufsteuerung der CPU wird ein Starttakt T mit der positiven Flanke von CLK erzeugt. Dies führt zur Aktivierung der ersten Schaltstufe und damit Logikpegel 1 am Ausgang Q0 und dem Abschalten des Starttaktes T. Mit der nächsten steigenden Flanke von /CLK wird die zweite Stufe aktiviert und die erste Stufe abgeschaltet. Mit der nächsten steigenden Flanke von CLK wird die dritte Stufe aktiv und die zweite abgeschaltet usw. usf. , bis die gesamte Kette durchgelauufen ist.
    Es wird also mit jedem Flankenwechsel im CLK-Signal ein Schaltvorgang im Schieberegister ausgelöst und der Logikpegel 1 weiter durch die Kette geschoben.
    Die Ausgangssignale zweier benachbarter Ausgänge sind kurzzeitig beide aktiv, das bedeutet, dass zuerst der Ausgang Qn+1 aktiv geschaltet wird und erst danach der Ausgang Qn inaktiv wird. Das hat den Sinn, dass dadurch innerhalb der Mikrocodesteuerung durch die Veroderung mehrerer Ausgänge Q auch zeitlich länger andauernde, konstante Aktivierungssignale erzeugt werden können, ohne das störende Jitter auftreten.

  5. Anschlussbelegung

    Das Schieberegister ist über einen 10-poligen-Pfostenstecker P1 mit dem Taktgenerator verbunden. Der 10-polige Pfostenstecker P2 und der 40-polige Pfostenstecker P3 sind mit der Mikrocodesteuerung verbunden.
    Die Belegung des Steckverbinders P1:
    PinNameFunktionPegel
    1 CLKTakteingang0V,12V
    2 CLKTakteingang0V,12V
    3/CLKinvertierter Takteingang0V,12V
    4/CLKinvertierter Takteingang0V,12V
    5STRBAusgang Rückführung Startsignalabschaltung0V,12V
    6STRBAusgang Rückführung Startsignalabschaltung0V,12V
    7 TEingang Startsignal0V,12V,H
    8 TEingang Startsignal0V,12V,H
    9 GNDStromversorgung0V
    10 GNDStromversorgung0V
    Die Belegung des Steckverbinders P2:
    PinNameFunktionPegel
    1 CLKTaktausgang0V,12V
    2 CLKTaktausgang0V,12V
    3/CLKinvertierter Taktausgang0V,12V
    4/CLKinvertierter Taktausgang0V,12V
    5STRBEingang Rückführung Startsignalabschaltung0V,12V
    6STRBEingang Rückführung Startsignalabschaltung0V,12V
    7 TAusgang Startsignal0V,12V,H
    8 TAusgang Startsignal0V,12V,H
    9 GNDStromversorgung0V
    10 GNDStromversorgung0V
    Die Belegung des Steckverbinders P3:
    PinNameFunktionPegel
    1 A0Ausgang Bit012V,H
    2 GNDStromversorgung0V
    3 A1Ausgang Bit112V,H
    4 GNDStromversorgung0V
    5 A2Ausgang Bit212V,H
    6 GNDStromversorgung0V
    7 A3Ausgang Bit312V,H
    8 GNDStromversorgung0V
    9 A4Ausgang Bit412V,H
    10 GNDStromversorgung0V
    11 A5Ausgang Bit512V,H
    12 GNDStromversorgung0V
    13 A6Ausgang Bit612V,H
    14 GNDStromversorgung0V
    15 A7Ausgang Bit712V,H
    16 GNDStromversorgung0V
    17freikeine BelegungH
    18 GNDStromversorgung0V
    19freikeine BelegungH
    20 GNDStromversorgung0V
    21freikeine BelegungH
    22 GNDStromversorgung0V
    23freikeine BelegungH
    24 GNDStromversorgung0V
    25 A8Ausgang Bit012V,H
    26 GNDStromversorgung0V
    27 A9Ausgang Bit112V,H
    28 GNDStromversorgung0V
    29 A10Ausgang Bit212V,H
    30 GNDStromversorgung0V
    31 A11Ausgang Bit312V,H
    32 GNDStromversorgung0V
    33 A12Ausgang Bit412V,H
    34 GNDStromversorgung0V
    35 A13Ausgang Bit512V,H
    36 GNDStromversorgung0V
    37 A14Ausgang Bit612V,H
    38 GNDStromversorgung0V
    39 A15Ausgang Bit712V,H
    40 GNDStromversorgung0V

  6. Ersatzschaltbild

    Das Schieberegister, wird in den Übersichtsschaltplänen der CPU durch ein Ersatzschaltbild dargestellt. Da es für das Verständnis der Funktionsweise der CPU insgasamt nicht von entscheidender Bedeutung ist, wie das Schieberegister im Innern aufgebaut ist, ist die Erfassung als Funktionsblock ausreichend.

  7. Schluss

    Das Schieberegister wurde auf einer Platine mit den Abmessungen 160mmx100mm aufgebaut. Die Platinenfläche ist damit zwar nicht ausgeschöpft, aber es stellt eine wichtige logische Einheit der CPU dar, sodass es nicht sinnvoll war, weitere Schaltungsteile unterzubringen.


    Das Schieberegister von oben




Sollte jemand seine Rechte durch eine Veröffentlichung auf dieser oder einer anderen meiner Seiten verletzt sehen, bitte ich um sofortige Kontaktaufnahme. Ich werde die entsprechenden Inhalte umgehend entfernen. Somit sind sowohl ein anwaltlicher Rat als auch eine kostenpflichtige Abmahnung nicht erforderlich! Weiterhin weise ich darauf hin, dass der Inhalt verlinkter Seiten nicht in meiner redaktionellen Verantwortung liegt.
Vielen Dank

www.schlaefendorf.de 2012

www.linux-web.de