Ausgangsstufen Logik-ICs
Einleitung
Für die äußere Beschaltung von Logik-ICs ist es wichtig wie die Ausgangsstufen aufgebaut sind. Die verschiedenen Typen zeigen Unterschiede hinsichtlich der Treiberfähigkeit und bei der Frage, ob und wie sie miteinander verbunden werden können. Während man bei der Verwendung von Standard-ICs der 74xx-Reihe darauf angewiesen ist, die gegebenen Ausgangsstufen zu verwenden, kann man sie bei Microcontrollern oder programmierbaren Logikbausteinen meist zur Lauf- oder zur Entwurfszeit umschalten.
Push-Pull
Bei Push-Pull wird als Ausgangsstufe ein komplementäres Transistorpaar eingesetzt (N-Kanal und P-Kanal), was der CMOS-Technik entspricht. Es sperrt stets einer der beiden Transistoren, während der andere durchlässig ist. Dies bewirkt, dass die Spannung am Ausgang sehr dicht an die positive oder negative Versorgungsspannung heranreicht. Außerdem bietet diese Schaltung die Möglichkeit, sowohl als Stromquelle (source current) als auch als Stromsenke (sink current) zu fungieren. In Bipolartechnik nennt man das Totem-Pole, weil zwei gleichartige NPN-Transistoren "übereinander gestapelt" sind, wie die Schnitzereien am Totempfahl der Indianer. (Praktisch kann man auch bipolare Transistoren NPN und PNP zu einer Push-Pull Stufe kombinieren, wie es z. B. bei Leistungsendstufen gemacht wird. In Logik-ICs wurde das aber aus technologischen Gründen nicht gemacht.) Die Funktion ist sehr ähnlich, es wird abwechslend der obere oder der untere Transistor durchgeschaltet. Allerdings ist die Ausgangsspannung bei HIGH um ~1,4V geringer als die Betriebsspannung, da zwei Diodenstrecken in Reihe dazu liegen (die einzelne Diode hat technologische Gründe, im Bild nicht eingezeichnet). Deshalb ist die Ausgangsspannung bei originalen TTL-ICs max. 3,6V.
Vorteile:
- Der Ausgang kann bei HIGH viel Strom liefern (engl. source) und bei LOW viel Strom aufnehmen (engl. sink)
- Im statischen Fall wird kein Strom verbraucht
- Wegen Punkt 1 kann der Ausgang das Signal schnell schalten (Umladung der parasitären Kapazitäten)
Nachteile:
- Push-Pull hat einen entscheidenden Nachteil! Verbindet man zwei Push-pull-Ausgänge, kommt es in der Praxis zur Zerstörung des Ausgangs und schlimmstenfalls des ganzen Chips. Denn sobald der eine Ausgang auf High schaltet und der andere auf Low, fließt ein Strom zwischen der Versorgung und Masse, der nur durch den sehr geringen Widerstand in der Kollektor-Emitter-Strecke bzw. Drain-Source-Strecke begrenzt wird. Diese hohen Ströme führen zur Zerstörung der Ausgangstransistoren durch Überhitzung. Sollen mehrere Ausgänge zu einem Bus verbunden werden, wird ein Tristate Ausgang benötigt.
Tristate
Um Bussysteme mit mehreren Partnern zu ermöglichen, können Tristate-Ausgangsstufen eingesetzt werden. Hier ist ein dritter Logikzustand eingeführt: Neben High und Low kann ein Ausgang auch hochohmig geschaltet werden. Dieser dritte Zustand wird meist als High-Z bezeichnet, für high impedance. Ein hochohmig geschalteter Ausgang verhält sich so als wäre er gar nicht vorhanden. Somit kann man viele Tristate-Ausgänge zusammenschalten. Es ist lediglich dafür Sorge zu tragen, dass maximal ein Ausgang aktiv ist, während alle anderen Ausgänge auf High-Z geschaltet sind. Dies sicherzustellen obliegt dem Busmaster. Hierzu verfügt jedes der angeschlossenen ICs über eine Chip-Enable-Leitung oder Chip-Select-Leitung. Vom Busmaster wird also auschließlich demjenigen IC ein Chip Enable signalisiert, auf das gerade zugegriffen wird.
Open Collector
Auch mittels Tristate kann immer nur ein Teilnehmer gleichzeitig auf einen Bus schreiben. Sollen zwei oder mehr ICs gleichzeitig die Möglichkeit bekommen ein Signal auszugeben ohne dass ein Busmaster benötigt wird, wird Open Collector eingesetzt. Hier können theoretisch beliebig viele Ausgänge zusammengeschaltet werden. Bei Open Collector wird nur ein NPN Ausgangstransistor verwendet, dessen Emitter auf Masse liegt und dessen Kollektor am Ausgang angeschlossen ist. Es ist also lediglich möglich, den Ausgang auf Masse zu ziehen. Ist der Transistor nicht durchgesteuert, ist der Ausgang hochohmig. Um in diesem Fall ein definiertes Potential am Ausgang zu haben, wird ein Pull-up-Widerstand zur positiven Betriebsspannung gelegt. Dieser Pull-up-Widerstand kann entweder extern angeschlossen werden oder bereits im IC integriert sein. Mitunter ist es auch möglich, interne Pull-up-Widerstände wahlweise zu aktivieren. Werden mehrere Ausgänge zusammengeschaltet, braucht für gewöhnlich nur an einer Stelle ein Pull-up-Widerstand angeschlossen zu werden.
Vorteile:
- Kein Kurzschluss wie bei Push Pull möglich, auch bei Programmfehlern
- Eine Pegelwandlung kann einfach realisiert werden
Nachteile:
- Bei LOW fliesst immer Strom
- Die Schaltflanke von LOW nach HIGH ist relativ langsam, weil sie nur durch den meist recht grossen Pull-Up Widerstand gezogen wird (RC-Ladekurve)
- Nur bei LOW kann ein grosser Strom aufgenommen werden. Bei HIGH können nur sehr geringe Ströme entnommen werden, siehe Port-Expander PCF8574.
Der Widerstandswert des Pull-up-Widerstands darf nicht zu groß gewählt werden, da sonst zusammen mit Eingangs- und parasitären Kapazitäten die Signale verschleifen und im Extremfall nicht mehr korrekt erkannt werden können. Grundsätzlich gilt hierbei, dass je länger der Bus, je mehr angeschlossene Teilnehmer und je höher die Bitrate, der Widerstand umso niedriger gewählt werden muss. Andererseits ist der Wert so groß zu wählen, dass bei durchgesteuertem Transistor der Strom klein genug bleibt, um den Transistor nicht zu beschädigen. In der Praxis wird meist ein Wert von 1 kΩ bis 100 kΩ eingesetzt.
Sind zwei oder mehr Sender am Bus angeschlossen, können sie jeweils die Leitung auf Masse ziehen. Ziehen zwei oder mehr Teilnehmer die Leitung gleichzeitig auf Masse, bleibt sie natürlich ebenfalls auf Masse-Potential. Es gibt keinen Kurzschluss. Ein logisches High wird also nur dann erreicht, wenn keiner der Sender ein LOW ausgibt. Man kann also sagen, dass ein High auf der Signalleitung nur möglich ist, wenn alle ICs high ausgeben, was einer logischen UND-Verknüpfung entspricht. In einer Umgebung wo mehrere Teilnehmer des Busses die Möglichkeit haben auf den Bus zu schreiben, müssen sie also überprüfen, ob bei einem High auch wirklich ein High auf der Leitung anliegt. Wenn nicht, sendet gerade ein anderer Teilnehmer ein dominierendes Low. Dieses Verhalten zeigt sich beispielsweise beim I²C- oder CAN-Bus.
Eine weitere Besonderheit von Open Collector-Ausgangsstufen ist, dass sie in der Praxis lediglich als Senken, nicht jedoch als Quellen arbeiten können. Dies liegt am relativ hochohmigen Pull-up-Widerstand. Für typische Werte von 5 V Betriebsspannung und 10 kΩ Pull-up-Widerstand ergibt sich im Quellenbetrieb ein maximaler Strom von 0,5 mA. Dies spielt zwar für Logikschaltungen mit sehr hochohmigen Eingängen keine Rolle, Stromverbraucher wie LEDs kann man hingegen ausschließlich nach Masse schalten.
Wenn ein Open-Collector Ausgang mit dem Eingang eines weiteren ICs/Gerätes mit einer anderen Versorgungsspannnung (Vcc) verbunden ist, muss man aufpassen an welcher Vcc der Pull-up Widerstand angeschlossen wird. Grundsätzlich muss man vermeiden, an nicht mit Spannung versorgte ICs/Geräte Spannungen an den Eingängen anzulegen. Der Pull-up-Widerstand sollte daher mit der Vcc des Eingangs-ICs/Geräts verbunden sein und nicht mit der Vcc des Ausgangs-ICs. Dadurch wird bei fehlender Vcc am Eingangs-IC der Eingang nicht mit Spannung versorgt und damit kann der IC auch nicht über die Schutzdioden unerwünscht mit Strom versorgt werden. Die Einschaltreihenfolge der Versorgungsspannungen spielt keine Rolle mehr. Bei fehlender Vcc des Ausgangs-ICs fliesst kein Strom zum Ausgangsport dieses ICs, da es sich um einen Open Collector Ausgang handelt welcher meist keine Schutzdioden enthält (machmal wird der ESD-Schutz mit Z-Dioden gemacht).
Schließlich sei noch erwähnt, dass man auch mit Feldeffekt-Transistoren Ausgangsstufen aufbauen kann, die praktisch dasselbe Verhalten zeigen wie solche mit Bipolartransistoren. Korrekterweise spricht man dann von einem Open Drain-Ausgang. Die heute veraltete NMOS-Herstellungstechnik, wie sie beim Original-8051 verwendet wurde, bevorzugt solche Schalt- und Ausgangsstufen, mit Stromquelle unterschiedlicher Stärke als Pullup. Die I/O-Pins des 8051 wurden speziell auf diese Eigenheit der damaligen Herstellungstechnik optimiert. Heute ist die CMOS-Technik Stand der Dinge und wird weit verbreitet eingesetzt.