Artikel-Schlagworte: „Transistor“

Timing und Glitches

Sonntag, 17. Januar 2010

Jedes Bauelement benötigt einen Moment, bis es auf eine Änderung am Eingang reagiert. Natürlich sind diese Zeiten bei einzelnen Element sehr gering, aber wenn man richtige Schaltung baut, dann kann es sehr schnell zu Problemen kommen.

Schaltungen aus primitiven Elementen

Bei Schaltungen mit einfachen Bauteilen halten sich die Zeiten, die berücksichtigt werden müssen, in Grenzen. Es gibt nur 2: t_{cd} und t_{pd}. Mit t_{cd} (engl. contamination delay) gibt man die minimale Zeit an, bis die Schaltung den neuen Wert ausgibt. Mit t_{pd} (engl. propagation delay) dagegen die maximale Zeit, bis der neue Wert feststeht.
Zu beachten ist, dass es zwischen t_{cd} und t_{pd} zu mehreren Änderungen am Ausgang der Logik geben kann, auch wenn sich der Eingangswert nur ein einziges mal geändert hat. Das sind die sogenannten Glitches.

Glitches

In Logikschaltungen gibt es Pfade in denen nur wenige Elemente liegen (engl. short path), die das Ergebnis also sehr schnell berechen. Natürlich gibt es dann auch Pfade in denen viele (oder einfach mehr Elemente als in short path) liegen (engl. critical path), und deren Ergebnis erst später fertig ist. Deshalb kann es vorkommen, dass sich der Ausgang einer Logikschaltung zwischen t_{cd} und t_{pd} mehrmals ändert, bis er dann nach t_{pd} stabil das Ergebnis zeigt.
Beispiel in der Wikipedia.

Sequenzielle Logik

In sequentielle Logik sind sowohl Logikbausteine als auch Flip-Flops verbaut. Die Logikbausteine berechnen den neuen Wert, der dann am Eingang von einem Flip-Flop anliegt, das den Wert dann zur nächsten Taktflanke übernimmt. Daraufhin kann die Logik hinter einem Flip-Flop nach der Taktflanke eine neue Berechnung beginnen, da sich die Eingangswert eventuell geändert haben.
Da die Logik eine bestimme Zeit benötigt bis sie die Berechnung definitiv abgeschlossen hat, muss genügend Zeit zwischen zwei Taktflanken zur Verfügung stehen. Da man aber nicht 100%tig sagen kann wann das Flip-Flop den neuen Wert übernimmt und wann der neue Wert ausgegeben wird, brauchen wir auch einen Zeitpuffer für das Flip-Flop.
Genau gesagt, darf sich t_{setup} vor der Taktflanke bis t_{hold} nach der Taktflanke nichts mehr am Eingangssignal des Flip-Flops ändern. Nach dem das Flip-Flop den neuen Wert übernommen hat (man spricht auch von sampled), können wieder die Berechnungen durch die Logik stattfinden. Beide Zeiten werden als Abtastzeit bezeichnet, also das Zeitintervall um die Taktflanke herum in dem sich das Eingangssignal nicht ändern darf – es muss stabil sein. t_{a}=t_{setup}+t_{hold}

t_{a} ist also ein Zeitpuffer um die Taktflanke herum, falls ein Flip-Flop etwas früher oder etwas zu spät sampled.

Allerdings gibt es bei Flop-Flops noch weitere Verzögerungen die zu beachten sind: Ähnlich wie bei Logik kann es eine bestimme Zeit dauern, bis der neue Wert nach einer Taktflanke ausgegeben wird. Dazu gibt es zwei Zeiten: t_{ccq} (engl. contamination delay) gibt die minimal Zeit an, nach der der Ausgang bereits wieder aktuell sein könnte. Des weiteren sagt sie aus, wie lang nach einer Taktflanke definitiv keine Änderungen am Ausgang auftreten.
Schließlich gibt t_{pcq} (engl. propagation delay) die Zeit an, nach der der Ausgang in jedem Fall den korrekten Wert hat. Zwischen t_{ccq} und t_{pcq} könnte der Ausgang – genau wie bei Logikschaltungen – glitchen.

Taktfrequenz

Mit diesen Zeitanforderungen lässt sich bestimmen wie hoch der Takt maximal für eine Schaltung sein kann.
Wir müssen folgende Zeiten berücksichtigen:

  • t_{pcq}
    die Zeit die das Flip-Flop braucht, bis es nach einer Taktflanke den neuen Wert ausgibt
  • t_{pd}
    die Zeit die die Logik maximal braucht, bis sie den neuen Wert berechnet hat
  • t_{setup}
    die Zeit in der das Signal vor einer Taktflanke stabil sein muss

Die Zeit zwischen 2 Takten muss mindestens die Summe dieser drei Zeiten sein, also ist die Formel: T_c = t_{pcq} + t_{pd} + t_{setup}. Damit lässt sich dann auch die Taktfrequenz berechnen: f = \frac{1}{T_c}

Multiplexer

Dienstag, 10. November 2009
von Wikipedia Commons

von Wikipedia Commons

Multiplexer (oder kurz Mux) wählen als Ausgangssignal das aktuelle Signal auf einem der Eingänge in Abhängigkeit des Wertes am Selecteingang/an den Selecteingängen.
Es gibt also an einem Mux mehrere EIngangstypen: Den Selecteingang und den “normalen” Dateneingang. Der Multiplexer macht nichts anderes als das Signal eines Dateneinganges auszugeben. Welcher Eingang dazu benutzt wird, wird durch den Selecteingang ausgewählt.

Ein einfaches Beispiel: 2:1 Mux
Nehmen wir einen Multiplexer mit 2 Dateneingängen an. Da wir nur 2 Dateneingänge haben, reicht 1 Selecteingang.

D0 D1 S Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Man sieht also, das der Multiplexer einfach nur die Leitung von Eingang zum Ausgang durch schaltet, wobei man den Eingang mit dem Selector wählen kann.

Vereinfacht bedeutet das:

D0 D1 S Y
X X 0 D0
X X 1 D1

Logik mit Multiplexern

Man kann Multiplexer auch als logische Bausteine benutzen. Gehen wir zum Beispiel von einem 4:2 Mux aus, den wir als AND nutzen wollen. Dazu schließen wir an die Eingänge 0 – 2 LOW (also 0) an und an den Eingang 3 HIGH (also 1). Der Mux schaltet den HIGH Wert nur auf den Ausgang durch, wenn beide Selecteingänge 1. Andernfalls ist der Ausgang 0.

Transmissionsgatter

Donnerstag, 5. November 2009

Transmissionsgatter (engl. transmission gate) verbinden die Vorteile von nMOS und pMOS Transistoren. Somit ist ein solches Gatter ein sehr guter Schalter, der sowohl 0 als auch 1 gut schalten kann.

Transmissionsgatter

Er besteht aus 2 Transistoren, also jeweils ein nMOS und pMOS. Beide schalten das gleiche Signal A; das Ergebnis ist das Signal B. Auch das Signal das die Transistoren schaltet ist bei beiden gleich, mit dem Unterschied das es am pMOS Transistor negiert anliegt. Da sich ein pMOS mit einem negiertem Gate-Signal verhält wie ein nMOS schalten beide immer gleich, aber es werden die jeweiligen Vorteile ausgenutzt.
Bei einer 1 leitet hauptsächlich der pMOS; bei einer 0 hauptsächlich der nMOS. Damit hat man einen “perfekten” Schalter.

nMOS und pMOS Transistoren

Dienstag, 3. November 2009

Die Aufgabe eines Transistors ist es, zwei Anschlüsse abhängig von einem Dritten zu schalten. Es ist also im Grunde ein elektrischer Schalter.

nMOS

Beide Transistoren sind sich sehr ähnlich, deshalb möchte ich den Aufbau am Beispiel des nMOS beschrieben:

nMOS Transistor (ausgeschaltet)

Auf der rechten Seite ist ein Querschnitt eines nMOS Transistors abgebildet. Der Körper des Transistors besteht aus einem p-dotiertem Material an dem die niedrigste Spannung des Systemes anliegt (LOW, GND). p-dotiert heißt, das es frei bewegliche positive Löcher gibt. Darin sind die beiden Kontakte eingebettet die jeweils aus einem n-dotiertem Material bestehen – da gibt es also frei bewegliche negative Ladungsträger. Zwischen diesen Kontakten kann kein Strom fließen, weil die Materialen aus unterschiedlichen Dotierungen bestehen.
In der Mitte ist das so genannte Gate. Damit vom Gate zum Körper kein Strom fließen kann, ist eine isolierende Schicht eingebracht (heute meist Glas).
Der Strom soll in den nMOS und pMOS Transistoren von Source nach Drain fließen. Wenn am Gate kein Strom anliegt, fließt auch kein Strom zwischen S und D. Wenn man jedoch Strom (HIGH, also die höchste Spannung im System, V_{DD}) an das Gate legt, dann entsteht ein elektrisches Feld zwischen dem Gate und dem eigentlichem Körper. Strom kann aufgrund des Isolators nicht zwischen Gate und Körper fließen. Durch das Feld werden die positiven Ladungen zum Gate gezogen, und negative nach unten gedrückt.

nMOS (eingeschaltet)

Damit bildet sich zwischen den beiden Kontakten (Source und Drain) ein Kanal (channel) durch den ein Strom zwischen Source und Drain fließen kann.

pMOS

Im pMOS ist alles im Grund umgedreht. Der Körper besteht aus n-dotiertem und die Source und Drain Kontakte aus p-dotiertem Material. Der Körper ist an die höchste Spannung im System angeschlossen. Wenn am Gate auch V_{DD} anliegt ist der pMOS Transistor geschlossen, bei GND geöffnet.

Leitungseigenschaften

Das Problem bei der ganzen Sache ist, das jeder Typ nur einen Wert sehr gut leitet. Das heißt der nMOS leitet eine 0 sehr gut, aber eine 1 schlecht. Beim pMOS ist es genau andersrum; pMOS leitet die 1 sehr gut, aber die 0 schlecht.
Deshalb verbaut man meist beide Arten, und nutzt die jeweiligen Vorteile aus.

Bilder von Wikimedia Commons.

Logikpegel

Sonntag, 1. November 2009

Logikpegel sind – einfach gesagt – die Spannungsbereiche in denen ein Signal als 0 bzw. 1 interpretiert wird. Das zugrunde liegende Problem ist dass zwischen der Ausgabe einer Spannung am ersten Transistor und dem Eingang am zweiten Transistors Rauschen auftreten kann. Des weiteren kann es auch vorkommen das der erste Transistor bereits eine fehlerhafte Spannung ausgibt weil die Spannung die das Netzteil liefert nicht mehr ausreicht.
Der das Bauteil das dass Signal ausgibt wird auch Treiber genannt, dass empfangende Bauteil Empfänger.

Man definiert also einen bestimmten Spannungsbereich in dem jedes ausgegebene Signal liegen muss, wenn es eine 0 bzw. 1 sein soll, und einen etwas größeren Bereich für die eingehende Spannung am Empfänger.

  • output low V_{OL}
    maximale ausgehende Spannung für eine 0
  • output high V_{OH}
    minimale ausgehende Spannung für eine 1
  • input low V_{IL}
    maximale eigehende Spannung für eine 0
  • input high V_{IH}
    minimale eigehende Spannung für eine 1
von http://www.elektronik-kompendium.de/sites/dig/0205171.htm

von http://www.elektronik-kompendium.de/sites/dig/0205171.htm

Der Toleranzbereich auf der Empfängerseite ist größer als der auf der Leiterseite. Dieser Unterschied ist der sogenannte Störabstand. Man kann ihn mit folgenden Formeln berechnen:
NM_H=V_{OH}-V_{IH}
NM_L=V_{IL}-V_{OL}

Der Bereich der keinem Wert zugeordnet ist wird als verbotene Zone bezeichnet. Sollte der Empfänger einen Wert in der verbotenen Zone empfangen ist nicht definiert was danach passiert.

Ältere Chips arbeiten noch mit 5 Volt. Dabei kann man die Bereiche und die verbotene Zone sehr groß wählen. Um Energie zu sparen und um die Chips weiter verkleinern zu können muss man die Spannung aber so weit wie möglich senken. Dabei entsteht das Problem dass man die Toleranzbereiche immer kleiner wählen muss.