DIY / 74HC

MC74HC173N-Anleitung: 4-Bit-Register am gemeinsamen Bus

Ein Bus kann nur einen Wert zur Zeit führen. Alles, was einen Wert speichert und ihn später auf dieselben Leitungen zurücklegt, braucht deshalb zwei getrennte Schalter: einen, der entscheidet, wann gespeichert wird, und einen, der entscheidet, wann gesprochen wird. Der MC74HC173N hat beide. Er besteht aus vier D-Flipflops mit gemeinsamem Takt, einem Paar Data-Enable-Eingängen und einem Paar Output-Enable-Eingängen, die die Ausgänge in den hochohmigen Zustand versetzen.

Was ein Register wirklich speichert

Ein Register ist Speicher für einen einzigen Zeitpunkt. Jedes der vier D-Flipflops übernimmt den Pegel an seinem D-Eingang mit der steigenden Flanke des gemeinsamen Takts (Pin 7) an seinen Q-Ausgang und hält ihn dann bis zur nächsten Taktflanke. Die vier Dateneingänge heißen D0 (Pin 14) bis D3 (Pin 11), die vier Ausgänge Q0 (Pin 3) bis Q3 (Pin 6); dieses Bauteil zählt seine Bits also ab 0, was nicht jede Logikfamilie tut. Das ist der Unterschied zu einem reinen Treiber: ein 74HC245 Bus-Transceiver und ein 74HCT541-Treiber leiten Daten durch und vergessen sie, dieses Bauteil behält sie, nachdem die Quelle verschwunden ist.

Die zwei Enable-Paare und der Reset

Zwei Enable-Paare halten die beiden Aufgaben auseinander. DE1 (Pin 9) und DE2 (Pin 10) sind die Low-aktiven Data-Enable-Eingänge: nur wenn beide Low sind, lädt eine steigende Taktflanke die D-Eingänge in die Flipflops. Ist auch nur einer High, wird die Taktflanke ignoriert und der gespeicherte Wert bleibt unverändert; man kann also den ganzen Bus durchgehend takten und trotzdem auswählen, welches Register lädt. OE1 (Pin 1) und OE2 (Pin 2) sind die Output-Enable-Eingänge und wirken umgekehrt: ist einer von beiden High, gehen die Q-Ausgänge in den hochohmigen Zustand und der Chip gibt den Bus frei; nur wenn beide Low sind, zeigen die Ausgänge den gespeicherten Wert. Reset (Pin 15) ist High-aktiv und asynchron — er löscht alle vier Flipflops ohne Taktflanke, ein High dort zwingt den gespeicherten Wert also auf Null. Weil DE und OE unabhängig sind, kann der Chip einen Wert halten, ohne auf dem Bus sichtbar zu sein, und genau das erlaubt mehreren von ihnen, einen Leitungssatz zu teilen.

Ein vollständiger Schreib- und Lesevorgang

MC74HC173N-Funktionsablauf: ein 4-Bit-Bus führt D0 bis D3 über die Low-aktiven Data-Enables in vier mit steigender Flanke getaktete D-Flipflops, deren 3-State-Ausgänge Q0 bis Q3 unter den Low-aktiven Output-Enables auf den Bus zurückkehren, mit asynchronem High-aktivem Reset.
Das Laden steuert DE, das Treiben des Busses OE; beide sind unabhängig. SVG.

Ein vollständiger Vorgang an einem gemeinsamen 4-Bit-Bus: Den Chip mit VCC an Pin 16 und GND an Pin 8 versorgen; das Datenblatt erlaubt 2 bis 6 V, 5 V ist typisch. Zu Beginn liegt Reset auf Low, beide OE auf High, sodass die Ausgänge freigegeben sind, und beide DE auf High, sodass nichts geladen wird. Um den Wert 1010 zu schreiben, legt der Sender D3=1, D2=0, D1=1, D0=0 auf den Bus und zieht dann DE1 und DE2 auf Low. Bei 4,5 V verlangt das Datenblatt, dass diese Daten mindestens 20 ns vor der Taktflanke stabil anliegen und 3 ns danach stehen bleiben. Eine steigende Taktflanke geben — bei 4,5 V mindestens 16 ns breit — und die vier Bits sind gespeichert. DE1 und DE2 wieder auf High setzen; das Register ignoriert nun jede weitere Taktflanke, und der Sender kann den Bus vollständig freigeben. Zum Zurücklesen OE1 und OE2 auf Low ziehen; innerhalb von 30 ns bei 4,5 V verlassen die Ausgänge den hochohmigen Zustand und treiben 1010 auf dieselben vier Leitungen. Wieder auf High, und der Bus ist für das nächste Gerät frei. Bei 4,5 V ist das Bauteil für einen Takt bis 30 MHz und höchstens 35 ns von der Taktflanke bis zum gültigen Ausgang spezifiziert.

Den Bus mit anderen Chips teilen

Die wichtige Regel an einem gemeinsamen Bus lautet: genau ein Gerät darf ihn zur Zeit treiben. Zwei Chips mit freigegebenen Ausgängen an derselben Leitung arbeiten gegeneinander, verschwenden Strom und erzeugen einen unvorhersehbaren Pegel; die Output-Enables aller Teilnehmer müssen sich daher gegenseitig ausschließen. Üblich ist ein Decoder: ein Ausgang eines 74HC138 pro Gerät, sodass konstruktiv nur einer ausgewählt ist. Stammen Daten- und Adressleitungen von einem programmierbaren Peripheriebaustein wie dem CA82C55A, gilt dieselbe Disziplin für dessen Portrichtungen. Zwei MC74HC173N nebeneinander, mit gemeinsamem Takt und Reset aber getrennten DE-Paaren, ergeben ein 8-Bit-Register, dessen Hälften unabhängig laden.

Pinbelegung des MC74HC173N

Die Abbildung zeigt das angebotene N-Suffix-16-Pin-Plastik-DIP von oben, Pin 1 an der Kerbe und Zählung gegen den Uhrzeigersinn. Pin 1 ist OE1 und Pin 2 ist OE2; Pin 3 bis 6 sind die Ausgänge Q0 bis Q3 in dieser Reihenfolge; Pin 7 ist der Takt und Pin 8 ist GND. Auf der anderen Seite ist Pin 9 DE1 und Pin 10 DE2, danach laufen die Dateneingänge rückwärts: Pin 11 ist D3, Pin 12 ist D2, Pin 13 ist D1 und Pin 14 ist D0. Pin 15 ist Reset und Pin 16 ist VCC. Alle unbenutzten Eingänge an GND oder VCC legen statt sie offen zu lassen; ein offener CMOS-Eingang driftet und zieht Strom. Soll das Register etwa dauerhaft freigegeben sein, die unbenutzte Hälfte jedes Enable-Paars auf Low legen, nicht offen lassen.

MC74HC173N DIP-16 in Draufsicht mit OE1 und OE2, den Ausgängen Q0 bis Q3, Takt, GND, DE1 und DE2, den Dateneingängen D3 bis D0, Reset und VCC.
16-Pin-Plastik-DIP in Draufsicht; Pin 1 liegt an der Kerbe. SVG.

Verhältnis zum LS173 und zu TTL

Das Datenblatt nennt dieses Bauteil pinidentisch zum LS173, es passt also in ein älteres TTL-Design, doch elektrisch ist es nicht identisch. Seine Eingänge sind für übliche CMOS-Ausgangspegel gemacht; um sie aus LSTTL-Ausgängen zu treiben, verlangt das Datenblatt Pull-up-Widerstände, weil ein LSTTL-High die CMOS-Eingangsschwelle nicht garantiert erreicht. Umgekehrt ist es einfacher: die Ausgänge sind für 15 LSTTL-Lasten spezifiziert und lassen sich direkt mit CMOS, NMOS und TTL verbinden. Der Ruhestrom beträgt nur 8 Mikroampere pro Gehäuse bei 6 V; der Verbrauch hängt also davon ab, wie schnell getaktet wird, nicht vom Register selbst.

MC74HC173N-Produkt ansehen.

Quelle: Motorola-MC74HC173-Daten, Quad 3-State D Flip-Flop with Common Clock and Reset, im High-Speed CMOS Logic Data Book (DL129 Rev 6). Motorola PDF.