Hallo allerseits, wie der Threadname schon sagt bin ich mir nicht im klaren darüber was genau ein Open Drain Ausgang ist und wofür sie bei bei Mikrocontrollern eingesetzt wird. Mir persönlich sind Drains nur von Mosfet-Transistoren her bekannt aber irgendwie will mir der zusammenhang mit Mikrocontrollern nicht einleuchten (hab da wohl gerade ein Brett vor dem Kopf :) ).Leider gibt mir google dazu nur Informationen wie sich diese bei bestimmten Mikrocontrollern nutzen lassen. Ich bin auf der Suche nach einer allgemeingültigen Erklärung. Falls also jemand einen Link hat oder mir eine kurze Erklärung geben könnte wäre ich wirklich dankbar. MfG Matthias
Guck mal nach Open-Collector. Das ist das Pendant bei Bipolaren Transistoren. Gruß Rahul
Sagt Dir "open collector" etwas? Das ist annähernd das gleiche. Ein OC/OD-Ausgang kann nur einen Signalpegel auf Masse ziehen oder unverändert lassen. Einen High-Pegel kann man mit einem OC/OD-Ausgang nur erzeugen, wenn ein Pullup-Widerstand vorhanden ist. Mehrere OC/OD-Ausgänge können zusammengeschaltet werden und bilden so ein logisches OR. Das ist beispielsweise für's Interrupt Sharing sehr praktisch. Es gibt auch serielle Schnittstellen, die dieses Verfahren nutzen, die "PS/2"-Schnittstelle, an der Mäuse und Tastaturen hängen, ist ein weit verbreitetes Beispiel.
Ich fuerchte wenn du schon weisst wie ein Mosfet funktioniert dann musst da wohl wirklich gerade eine mittlere Bohle vor deiner Birne haengen. :-) OpenDrain entspricht etwas einem vielleicht bekannteren OpenCollector Ausgang. Mit andeeren Worden ein Ausgang der den Prozessor nur nach Masse ziehen kann. Zur korrekten Funktion braucht es dann immer einen Pullupwiderstand auf eine positive Spannung. Das macht in zwei Faellen sinn: 1. Man kann mehrere Ausgaenge gegen einen Widerstand arbeiten lassen. Z.b bei Bussen. 2. Die Spannung gegen die der Widerstand geschaltet ist muss nicht zwangslaeufig mit der Versorgungsspannung des Prozessors identisch sein. Sie kann z.B niedriger sein (5->3.3V) oder auch hoeher. Es gibt z.B TTL-Ics mit OC Ausgang die bis zu 30V koennen um damit Nixieroehren zu schalten. Olaf
** Korrektur ** Natürlich ist's kein logisches OR, sondern ein logisches AND. Sorry.
erstmal danke für die schnellen antworten. Das Brett ist wohl eher eine Wand des vergessens alles schon ziemlich lange her. Mal sehen ob ich das richtig verstanden habe. Open Drain Ausgange werden also zum Anschliessen externer Perepherie genutzt mit einem anderen Spannungspegel (kleinere Motoren ?) und können nur als Ausgang benutzt werden? Matthias
> Natürlich ist's kein logisches OR, sondern ein logisches AND.
Hm. Definitionssache, oder? Wenn irgendeiner der Busteilnehmer den Bus
auf GND zieht (indem seine Drain-Source-Strecke niederohmig wird), ist
der Bus definiert auf GND, egal wieviele Pullups noch dagegen arbeiten.
Insofern wäre es ein "OR". Anders herum gesehen ist der Bus nur dann
"high", wenn alle_ Teilnehmer _nicht auf GND durchleiten, also
alle Pullups wirksam sind. Insofern ein "AND". Quasi je nach Logik
(active-high/active-low) ein ANDOR. ;-)
Naja, da man erstmal nicht von negierter Logik ausgeht - ein AND-Gatter ist nunmal ein AND-Gatter, ist's ein AND. Daß ich das Ding zunächst ein OR zieh, hat damit zu tun, daß ja üblicherweise Active-Low-Signale damit verknüpft werden ... und das ist dann ja irgendwie doch ein OR. Es ist aber ratsam, eine Birne eine Birne zu nennen, egal, ob's nun um Stiel oder Fruchtfleisch geht - alles andere führt nur zu Hirnverknotungen. Also ist das ein AND.
nene, es ist ein NOR... Sobald an einem Eingang eine logische 1 (Ugs>0) anliegt, ist der Ausgang = 0. Egal, welcher Eingang den entscheidenden Pegel für die Änderung des Ausgangspegels liefert ( 1 OR 0 = 1), ändert sich der Ausgangspegel. Da bei der obigen Schaltung am Eingang eine 1 liegt und am Ausgang ein 0 herauskommt, ist die Schaltung ein Inverter. Schaltet man nun mehrere dieser Open-Collector-/Open-Drain-Inverter zusammen, bekommen man ein negiertes OR --> ein NOR. Anderer Sinn der OpenDingsbums-Schaltungen: Man kann mit einer (bspw. 5V) Spannung einen Verbraucher mit einer anderen Spannung (bspw. 24V) ohne galvanische Trennung schalten. Gruß Rahul
Rahul, Du implizierst die Verwendung von _Invertern_* mit OC-Ausgang. Nur dann ist's ein NOR. Von Invertern war aber nicht die Rede, sondern nur von OD/OC-Ausgängen. (Sieh' Dir beispielsweise mal die Interrupt-Ausgänge von Peripheriebausteinen aus der 68xx-Reihe wie 6821, 6850 oder 6840 an) Es bleibt beim AND, wenn man mehrere OD/OC-Ausgänge (und einen Pullup) miteinander verknüpft. *) Inverter mit OC-Ausgang sind 7405 oder 7406, letzterer ist spannungsfest bis 30V. http://www.indiana.edu/~gmhlab/c501/SN7406.pdf Ein nichtinvertierendes spannungsfestes Äquivalent ist der 7407. Da 7406/7407 40 mA Strom verkraften, sind sie sehr schöne Treiber.
Ja, gut... Bin von der direkten Ansteuerung einen MOSFET oder bipolaren Transistors ausgegangen...
Hi, falls noch Fragen da sind, was Open Drain ist, dann gucke mal auf diese Seite: http://www.sprut.de/electronic/pic/grund/ioports.htm#tx Dort ist ein sehr anschauliches Bild, welches eindeutig die Funktionsweise des OD/OC Ausganges erklärt.
Hi BTW: Auch Philips nennt die Funktion die auf den I2C-Leitungen mittles OC/OD realisiert wird Wired-And. Matthias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.