CMOS-XOR Gatter?
Ich muss momentan in Informatik einen Vortrag halten über das CMOS-XOR Gatter, wo ich auch eine Beispiel Schaltung mit vorstellen soll, jedoch verstehe ich zum einen sehr wenig davon und zum anderen sind alle Gatter die ich auf Google finde sehr kompliziert und liefern keine wirkliche Erklärung. Kann mir da jemand aushelfen?
2 Antworten
CMOS ist die Technische Ausführung und das XOR ist die Schaltfunktion.
XOR bedeutet "eXclusive OR", also "Exklusives Oder".
Das bedeutet "auf Deutsch" einfach "Das eine ODER das andere, aber nicht beides!"
Nur wenn genau ein Eingang HIGH ist, dann wird auch der Ausgang HIGH. Ist kein Eingang oder mehr als einer HIGH, dann ist der Ausgang LOW.
Diese Logik ist bei vielen Dingen nützlich. Wenn man zum Beispiel "Vorwärts oder Rückwärts" entscheiden muss, dann darf beides nicht gleichzeitig sein. Den Motor gibt man also per XOR nur frei, wenn eindeutig Vorwärts oder eindeutig Rückwärts gewählt wird. Viele Sicherheitsschaltungen benutzen XOR wenn zwei Zustände niemals gleichzeitig auftreten dürfen und Menschen oder die Maschine zu Schaden kommen kann wenn man beide gleichzeitig hat.
In der Informatik kann man mit mehreren XOR auch die Parität eines Bytes feststellen. Also ob da eine gerade oder ungerade Anzahl an Bits gesetzt ist. Bei der RS232 wird mit XOR dieses Paritätsbit generiert oder beim Empfänger verglichen. Passt die Parität nicht, weiß der Empfänger, dass dieses Byte falsch übertragen wurde.
Auch Festplatten erzeugen Paritätsbits die zusammen mit den Daten gespeichert werden. So können Schreib- und Lesefehler erkannt werden. Statt falscher Daten wird dann der Lesevorgang (mehrmals) wiederholt und wenn es immer noch nicht passt, kommt eine Fehlermeldung.
Und CMOS ist die Technik dahinter, genauer die Art wie die Transistoren aufgebaut sind.
Klassiche Logikbausteine sind mit bipolartransistoren aufgebaut, die brauchen aus heutiger Sicht immens viel Strom. Bei CMOS sind da Feldeffekttransistoren drin die nur eine Spannung brauchen um auf leitend zu schalten. Damit verschwendet man also keinen Strom mehr zur Ansteuerung der Transistoren. Nur dank CMOS sind digitale Armbanduhren möglich. In Bipolartechnik wäre die Batterie nach noch nicht mal einer Stunde leer!
Man unterscheidet bei Logikgattern zwischen CMOS und TTL. Das ist eigentlich falsch, denn CMOS ist auch eine Form von TTL, denn das steht für "Transistor (zu) Transistor Logik". Also TTL bezeichnet die Logik, CMOS die besondere Bauart. Also ist diese Unterscheidung eigentlich sachlich falsch.
Aber in der Elektronik macht man die Unterscheidung, da steht TTL für 5V Logik mit festen Spannungsbereichen wo zwischen "1" und "0" (bzw. HIGH und LOW) unterschieden wird. Bei CMOS ist die Spannung beliebig. Hier gillt alles unter 0,7V als "0" (bzw. LOW) und alles darüber als "1" (HIGH).
Während also TTL nur mit exakt 5V versorgt werden kann, kann man bei CMOS beliebige Spannungen verwenden, das Bauteil muss die halt nur können. CMOS bewegt sich bei den gängigen Logikgatter-ICs so zwischen 2V und 40V, es gibt auch spezial ICs die bis zu 120V vertragen.
wirklich vielen vielen Dank für diese ausführliche Antwort! :)
Um das mit TTL CMOS weiter aus zu führen:
Zuerst benutzte man viel Diodenlogik. Mit Dioden kann man aber nur OR Gatter bauen, keine AND. Mit einer Invertierung per Radioröhre oder Relais, später Transistor kann man ein NOR bauen und durch boolsche Algebra kann man mit NOR alles machen.
Der Apollo 11 Bordcomputer bestand rein aus NOR Gattern. Der benutzte DTL, also "Diode (zu) Transistor Logik". Es gab schon "richtige TTL", aber die "nur NOR DTL" Technik war das allerzuverlässigste was man damals bauen konnte.
In den Frühen 1970ern wurde dann die TTL technik standartisiert und die 74xx Reihe geschaffen. Jeder IC der mit 74 anfängt ist ein TTL Chip, die folgenden Ziffern geben dann an welche Art Gatter da drin sind.
7400 ist zum Beispiel ein IC mit 4× NAND Gatter.
Als dann die CMOS Technik erfunden wurde, hat man dann eine neue IC Serie, die 40xx Reihe erfunden. Die Nummern passen nicht überein, 7400 entspricht hier 4011, aber zum Glück ist da alles Pin-Kompatibel.
Man kann also einen 7400 IC der zwingend 5V braucht gegen einen 4011 ersetzen der "auch" 5V kann.
Die 74xx Reihe hat man dann auch als CMOS angeboten. Man könnte zwar die 40xx Reihe nehmen, aber nur bei der 74xx Reihe sind die Logikpegel sehr genau definiert. Also hat man dann Buchstaben eingeführt, 74HC00 steht dann für "High-speed Cmos"
Und da kommt dann die Unterscheidung TTL und CMOS her. TTL kann CMOS sein, muss aber nicht. Aber man unterscheidet dann technisch zwischen TTL Pegeln und CMOS pegeln, also ob man die 74 Reihe oder die 40 Reihe verwendet. Und die 40er Reihe heißt nun mal "CMOS Reihe".
Erklär erst einmal CMOS. Dann erklärst du die XOR-Schaltung auf höheren Lebeöl und zeigst dann, wie diese als CMOS zusammengesetzt ist.
CMOS einfach erklärt: Du hast ein Eingangssignal E. Du hast eine Stromquelle und eine Stromsenke.
Durch das Eingangssignals E werden zwei Transistoren so geschaltet, dass entweder Quelle oder Senke mit der Ausgangsleitung verbunden werden.
Durch die Wahl der Transistoren kann das Eingangssignal zum Beispiel invertiert werden. https://de.wikipedia.org/wiki/Datei:Inverter1.svg
Mit mehreren Transistoren vor Quelle und Senke sowie mehreren Eingangssignalen können nun andere Gatter realisiert werden. Beispielsweise ein NAND-Gatter: https://en.wikipedia.org/wiki/CMOS#/media/File:CMOS_NAND.svg
Das relevante dabei ist, dass die Transistoren an Quelle und Senke für dasselbe Eingangssignal niemals gleichzeitig schalten. Somit fließt kein Strom direkt von Quelle zu senke und die Leerleistung wird minimiert.
Für komplexere Gatter, wie ein XOR, braucht man entsprechend mehr Transistoren. Erklären würde ich das über eine Aussagenlogische Umformung/Repräsentation:
a xor b = (a and not b) or (not a and b)
Zu sehen hier:
https://de.wikipedia.org/wiki/Datei:Cmos_xor.svg
Ganz links werden einmal zu a und b die Signale (not a) und (not b) erzeugt.
Die Schaltungen in der Mitte und rechts hängen miteinander zusammen (beide an derselben Ausgangsleitung), werden entsprechend verordert.
Die Schaltung schaltet auf Masse bei (a and b) or (not a and not b). Die Spannung schaltet auf Spannung bei (not a and b) or (not b and a). (Ersteres unten in der Schaltung, letzteres oben).
Du hast also an der Spannungsseite denselben Term, wie oben geschrieben. An der Masseseite hast du den entsprechenden negierten Term, damit beide niemals gleichzeitig aktiv sind.