002
09.04.2013, 20:39 Uhr
holm
|
Hmm... das ist nicht Alles das Selbe!
TTL Ausgangsstufen sind normalerweise PushPull, d.h. ein Transistor kann den Ausgang nach Richtung H ziehen und einer nach Richtung L. Die Transistoren sind gewissermaßen in Reihe geschaltet, der unterste NPN mit dem Emitter nach GND, dessen Kollektor zusammen mit dem Emitter des oberen Transistors dieser Knoten bildet den Ausgang, und der Kollektor des oberen T. hängt an VCC. Man kann die Transistoren nun abwechselnd einschalten, was wechselnden H- oder L Pegel am Ausgang ergibt, wenn man Beide gleichzeitig einschaltet qualmt es und der Chip ist Schrott. Das wird normalerweise durch die Logik im Gatter verhindert. Um nun Bussysteme realisieren zu können bei denen verschiedene Sender einen oder mehrere Empfänger ansteuern können gibt es 2 Möglichkeiten.
1. Open Kollektor oder open Drain: Der obere Transistor im Gatter fehlt. Dadurch kann nur der untere Transistor den Pegel nach L ziehen, nach H geht gar nicht. Das funktioniert nur durch einen an die betreffende Leitung angeschlossenen Pullupwiderstand oder eine andere (Konstant-) Stromquelle. Nun kann jeder Aktive Ausgang den Pegel nach L ziehen, es qualmt nicht, wenn mehrere Ausgänge aktiv sind und auch nicht wenn ein Ausgang H-Potential liefern würde (was wegen fehlendem Transistor nicht geht) und ein anderer L, es würde sich simpel L-Pegel einstellen sobald einer der Ausgangstransistoren durchschaltet. Das wird wegen seiner Funktion auch verdrahtetes Oder bzw. wired or genannt. Diese Mimik erklärt die vielen D103 Open Collector Gatter z.B. in U808 Rechnern.
2. Three State Bus In diesem Falle haben die Ausgangstransistoren einen weiteren Zustand: Keiner von Beiden ist Leitend, dadurch ist der Ausgang hochohmig (Three State, High Impedance = Hochohmig). Treibergatter für solche Bussysteme haben i.A. einen oder mehrere Eingänge die die logische Funktion des Ausgangs steuern UND einen Enable oder Datenrichtungseingang der den Ausgang hochohmig steuern kann. Auf diese Weise aufgebaute Bussysteme müssen gesteuert werden damit es keinen Krieg und "gegeneinander kämpfende" Ausgangstreiber mit VSQ Signalen gibt, sie haben aber den Vorteil das der nach VCC schaltende Transistor wesentlich schneller in der Lage ist eine Leitung umzuladen als ein passiver Pullupwiderstand. Diese Three State Busse sind z.B. am Z80 verbreitet.
Gruß,
Holm -- float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v; {s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+ (r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&& (A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;} |