Hallo zusammen,
ich komme hierbei immer durcheinander und hoffe, dass ihr mir endgültig
erklären könnt wie es richtig funktioniert. Es geht um die Bezeichnung
eines Pins von z.B. einem µC.
Bei einem Pin der als open-drain gekennzeichnet ist, steht, dass man
einen pull-up Widerstand zu VDD anschließen soll.
Ist es jedoch nicht so, dass aus dem Drain der Strom kommt (technische
Stromrichtung)? Dann müsste man einen pull-down Widerstand verwenden
oder irre ich mich?
Wie sieht es dann im Gegensatz beim open-source-Pin aus?
Ich bedanke mich im Voraus für eure Hilfe!
Gruß Markus
Da die Physik sich nicht um willkürlich definierte technische
Stromrichtungen dreht, sind Bezeichnungen wie Emitter und Source nicht
wirklich als Quelle solcher Erkenntnis geegnet. Erst recht nicht, wenn
man bedenkt, dass die Situation bei NPN/N-Kanal invers zu PNP/P-Kanal
ist.
Die Bezeichnungen Open-Collector und Open-Drain sind aus realen
Schaltungen abgeleitet und ohne Blick auf diese nicht wirklich
verständlich.
Der Begiff Open-Source ist sowieso nur bei Software nennenswert
verbreitet.
Markus schrieb:> ich komme hierbei immer durcheinander und hoffe, dass ihr mir endgültig> erklären könnt wie es richtig funktioniert. Es geht um die Bezeichnung> eines Pins von z.B. einem µC.> Bei einem Pin der als open-drain gekennzeichnet ist, steht, dass man> einen pull-up Widerstand zu VDD anschließen soll.> Ist es jedoch nicht so, dass aus dem Drain der Strom kommt (technische> Stromrichtung)? Dann müsste man einen pull-down Widerstand verwenden> oder irre ich mich?
Ich habe mich auch erst vor kurzem für Mikrocontroller und deren
Beschaltung interessiert und versuche mal das darzustellen, wie ich es
verstanden habe: Ein "Open Drain" Ausgang ist dasselbe wie ein "Open
Collector". Nur eine andere Bezeichnung.
Ein Open Collector (Open Drain) Ausgang ist zu sehen wie ein
mechanischer Schalter, der entweder offen ("open") ist, oder der gegen
Masse durchschaltet und dabei "Strom schluckt" ("Drain" wie Drainage).
An "offenen" Schaltausgängen kann ein Microcontroller allerdings keinen
definierten Spannungspegel von z.B. +5V oder 0V feststellen, der Pegel
ist undefiniert bzw. er springt im Zeitverlauf hin und her. Deshalb wird
ein Pull-Up Widerstand an den offenen Ausgang gelegt, durch den
Widerstand bekommt der offene Ausgang nun einen 5V-Pegel, solange der
Schalter "offen" ist. Strom fließt dabei praktisch nicht (der Schalter
ist ja "offen").
Wird nun der Schaltausgang geschlossen (gegen Masse durchgeschaltet),
dann wird der vorher offene Schaltausgang dabei auf 0V-Pegel
durchgeschaltet. Nun fließt entsprechend dem ohmschen Gesetz ein Strom
über den Pull-Up-Widerstand und dabei wechselt der Pegel am Open-Drain
Ausgang von 5V auf 0V/Ground.
D.h.:
1. offener "Open Collector" ==> am offenen Ausgang liegen die 5V an, die
über den Pull-Up Widerstand geliefert werden.
2. durchgeschalteter "Open Collector" ==> am geschlossenen Ausgang wird
der über den Pull-Up-Widerstand abfließende Strom "geschluckt", wegen
des fließenden Stroms tritt ein Spannungsabfall am Pull-Up-Widerstand
auf, der Pegel am geschalteten Ausgang beträgt 0V/Gnd.
Der fließende Strom im Zustand "durchgeschaltet" beträgt
I=U/R, z.B. I= 5 V / 10000 Ohm = 0,0005 A = 0,5 mA
Und je nachdem ob dieser Strom fließt (Schaltausgang geschaltet) oder
nicht fließt (Schaltausgang offen), ändert sich der Pegel von 5V auf 0V
und umgekehrt.
Alles klar Jungs, vielen Dank für eure Erklärungen! Der open-drain ist
mir jetzt klar :)
Ist wie A. K. sagt, der open-source/emitter wirklich nur in der
Software von Belangen? Was ist hierbei besonders, sodass er nur in der
Software verwendet wird?
Markus schrieb:> Ist wie A. K. sagt, der open-source/emitter wirklich nur in der> Software von Belangen? Was ist hierbei besonders, sodass er nur in der> Software verwendet wird?
Was wäre denn Open Source Logik im hier betrachteten Sinn? In CMOS wäre
es einfach nur Unfug. Open Drain ist im üblichen Sprachgebrauch ein
Pulldown- ohne Pullup-Transistor. Das Gegenstück, also ein Pullup ohne
Pulldown, wäre genau was? Schau genau hin wie CMOS aussieht: Es wäre
ebenfalls Open Drain. Nämlich der Drain vom P-Kanal Transistor. Nur bei
TTLs wäre das Open Emitter, weil darin keine Komplementärtechnik
eingesetzt wird, sondern ausschliesslich NPN.
Die eigentliche Frage ist also nicht Open Drain vs. Open Source, sondern
weshalb Pulldown statt Pullup. Und das hat mit jener Technik zu tun, in
der die Grundlagen der digitalen Elektronik wesentlich gelegt wurden:
TTL nämlich. Bei der in hochintegrierten ICs zunächst führenden N-MOS
Technik ist es aber auch nicht anders.
In diese beiden Techniken werden nur NPN bzw. N-Kanal Transistoren
verwendet. Daraus ergibt sich, dass der Pulldown-Zweig der Logik
wesentlich effektiver ist als der Pullup-Zweig. TTL Ausgänge sind stark
asymmetrisch, sie ziehen viel stärker und weiter runter als hoch und der
mittlere Pegel zwischen Low und High liegt deshalb mit ca. 1,5V ziemlich
niedrig. Für eine sinnvolle Implementierung von Pullup ohne Pulldown
sind das schlechte Voraussetzungen. Bei TTLs ist es zwar möglich und
stromarm, einen Eingang per Widerstand hoch und gegen diesen aktiv
runter zu ziehen. Die umgekehrte Richtung jedoch funktioniert nicht.
M.a.W: Bei TTLs war Open Emitter, aka Pullup ohne Pulldown, nicht
sinnvoll. Bei N-MOS letztlich auch nicht. Nur in CMOS wäre eine
vergleichbare Logik sinnvoll, es wäre aber kein Open Source.
Die Bezeichnungen "Source" und "Drain" haben doch nichts mit der
Stromflussrichtung zu tun, sondern eher damit, daß der Source-Anschluß
meist zur Quelle geht, der Drain-Anschluß zum Verbraucher.
Dementsprechend wäre "open-source" hier auch wenig sinnvoll.
Markus schrieb:> Alles klar Jungs, vielen Dank für eure Erklärungen! Der open-drain ist> mir jetzt klar :)> Ist wie A. K. sagt, der open-source/emitter wirklich nur in der> Software von Belangen? Was ist hierbei besonders, sodass er nur in der> Software verwendet wird?
So, nun zum Verständnis von "Open Source" und "Open Source". Das ist
zunächst mal ein Teekesselchen. Vielleicht habt ihr früher in der Schule
mal Teekesselchen gespielt? Wenn nicht, siehe ggf. bei Wikipedia:
http://de.wikipedia.org/wiki/Teekesselchen
Also zwei Bedeutungen:
1. "Open Source Software" ==> quelloffene Software, freier Quellcode
2. "Open Source Ausgang" ==> zur Quelle offener Schaltausgang in einer
Schaltung
Das hat zunächst mal genau so wenig miteinander zu tun wie eine "Bank"
(zum drauf sitzen) und eine "Bank" (zur Kontoführung).
Deine Frage bezieht sich auf den Open Source Ausgang. Das ist ein eher
wenig gebräuchlicher Typ von Ausgang, deshalb ist "Open Source" als
Begriff im Zusammenhang mit quelloffener Software gebräuchlicher.
Als Ausgang ist der einfach zu verstehen, wenn Du den Open Drain Ausgang
verstanden hast. Ist genau dasselbe, nur mit vertauschten Vorzeichen bei
der Polung.
Während der Open Drain Ausgang ein offener Schalter gegen Ground ist,
ist ein Open Source Ausgang ein offener Schalter gegen die
Betriebsspannung, mal angenommen das seien 5V.
Open Source Ausgang als offener Schalter ==> Pegel nicht definiert
Open Source Ausgang als geschlossener Schalter ==> Pegel 5V
Damit Du diesen Ausgang in einer Digitalschaltung mit 0/5V-Logik
verwenden kannst, mußt Du ihn im offenen Zustand auf einen definierten
Pegel ziehen. Das macht man mit einem Pull-Down-Widerstand gegen Masse
auf den Pegel 0V.
Jürgen S. schrieb:> Während der Open Drain Ausgang ein offener Schalter gegen Ground ist,> ist ein Open Source Ausgang ein offener Schalter gegen die> Betriebsspannung
Drain ist hier der Name des Anschlusses vom betreffenden Transistor und
das ist auch in diesem Fall ein Drain. Nur eben der vom oberen P-MOS
Transistor.
@ A. K. (prx)
>Was wäre denn Open Source Logik im hier betrachteten Sinn? In CMOS wäre>es einfach nur Unfug.
Sicher, aber es gibt noch ECL, dort sind Open Emitter bisweilen
vertreten.