Forum: Mikrocontroller und Digitale Elektronik Gerät vom Open-Collector-Bus trennen


von André H. (andrekr)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte ein Gerät von einem Open-Collector-Bus abtrennen, also so, 
daß das Gerät nicht mitbekommt, wenn der Bus runtergezogen wird.

Dazu habe ich einfach mal einen MOSFET genommen, siehe Plan.

Das funktioniert aber nur so mittelmäßig:
- Wenn ich das Gate auf Low lege, sehe ich das auf dem Bus (Trennen.gif)

- Wenn ich mit Gate auf Low Daten auf dem Bus schicke, habe ich 
ziemliches Übersprechen(?) auf der Geräte-Seite (Daten.gif)

- Ist es für den MOSFET eigentlich in Ordnung, wenn Usource > Ugate?

Wie mache ich es besser?

André

von Schrotty (Gast)


Lesenswert?

Was hat du denn genau vor? Willst du das Gerät physikalisch vom Bus 
trennen? Also quasi abstecken und in den Schrank legen oder willst du es 
nur logisch trennen? Gerät bleibt angesteckt, aber "hält die Klappe"?

von André H. (andrekr)


Lesenswert?

Hatte ich doch geschrieben:
> also so, daß das Gerät nicht mitbekommt, wenn der Bus runtergezogen wird.

Gerät bleibt angesteckt, ist aber taub. Die Klappe halten tut es von 
selbst. Wenn ich es mundtot machen wollte, müßte der MOSFET ja andersrum 
sein.

von Schrotty (Gast)


Lesenswert?

Und wo ist dann der Sinn des Ganzen? Wenn das Gerät eh die Klappe hält, 
warum willst es dann noch vom Bus trennen???

von André H. (andrekr)


Lesenswert?

Na, es redet nur, wenn es gefragt wird. Und ich will, daß der Bus keine 
Möglichkeit hat, das Gerät anzusprechen.

Also auf dem Bus wird das Gerät angesprochen, aber es soll darauf nicht 
reagieren.

von Schrotty (Gast)


Lesenswert?

Verstehst? Ich such grad nach einer Lösung auf logischer Basis. Denn die 
Unterbrechung des Busses ist natürlich sicher auch möglich, aber nicht 
so einfach, wie du das hingezeichnet hast. Das Signal ist ja 
bidirektional und daher brauchst einen bidirektionalen Treiber, der 
ausserdem auch noch die Terminierung des Bus nachbildet. Also nicht ganz 
so einfach, wie du das in deinem Ansatz versuchst.
Daher noch ein paar Fragen:
Wieviele Teilnehmer hängen an dem Bus? nur die beiden?
WER entscheidet, wann das Gerät vom Bus genommen werden soll? Also wer 
erzeugt das "Detach" Signal?

von Schrotty (Gast)


Lesenswert?

Falls es unbedingt eine Trennugn sein muss, dann würde ich in deiner 
Schaltung den Transistor einfach durch ein kleines Relais ersetzen. Das 
ist auf jeden Fall die technisch einfachste Lösung

von André H. (andrekr)


Lesenswert?

Auf der Seite "Device" hängt nur das Gerät. Auf der Seite "Bus" hängen 
zwei Geräte. Der µC erzeugt das Detach-Signal.

Terminierung und Timing sollte relativ unkritisch sein (PS/2-Bus).

von Schrotty (Gast)


Lesenswert?

Und der µC, der das Detach-Signal erzeugt, sitzt in dem Gerät auf der 
"Device"-Seite. Er entscheidet also, ob das eine oder andere Gerät vom 
Bus genommen werden soll. Verstehe ich das richtig?
Das heisst doch aber auch, dass der µC auch einfach gezielt, das 
betreffende Gerät nicht mehr adressieren kann und somit hält dies auch 
die Klappe. Ganz ohne Bustrennung.

von André H. (andrekr)


Lesenswert?

Nein, der ist extra, lauscht am Bus und entscheidet, wann das Gerät 
getrennt werden soll (quasi ein Filter).

Gerät (Barcode-Scanner) und Bus ist alles vorhanden. Ich will ihn so 
abtrennen, daß er die Anwort des Busses nicht mehr mitbekommt.

Klar, ein Relais wäre eine Möglichkeit, aber ist das schnell genug und 
hat das genügend Schaltzyklen um einzelne Pakete rauszufiltern?

von H.Joachim S. (crazyhorse)


Lesenswert?

-transmission gate
-PhotoMOS-Relay
-Analogschalter/Multiplexer

von André H. (andrekr)


Lesenswert?

Wie kann ich das diskret aufbauen?

Ein 7403 würde vielleicht auch gehen, oder? (Hab ich allerdings auch 
nicht hier.)

von H.Joachim S. (crazyhorse)


Lesenswert?

dann bräuchtest du einen p- und einen n-Kanal-Fet. Und die müssen 
gegenphasig angesteuert werden, also auch noch einen Inverter.
Reed-Relais ist für solche Sachen auch evtl. ne Lösung, deutlich 
schneller als "normale" Relais und deutlich grössere Lebensdauer.
Hast noch nichts geschrieben, wie schnell bei dir schnell genug ist...

von André H. (andrekr)


Lesenswert?

Falls das falsch rüberkam: Mein Problem ist NICHT, den Bus in BEIDE 
Richtungen zu trennen. Da würde ich einfach zwei FETs back-to-back 
schalten. Es reicht, wenn der in Richtung Gerät getrennt wird. Aber halt 
ohne die dargestellten Störungen. Kämen die mit zwei FETs nicht mehr 
vor?

Ein Bustakt ist etwa 5 µs lang, schnell genug ist alles, was darunter 
liegt.

von Rolf Magnus (Gast)


Lesenswert?

André H. schrieb:
> Falls das falsch rüberkam: Mein Problem ist NICHT, den Bus in BEIDE
> Richtungen zu trennen. Da würde ich einfach zwei FETs back-to-back
> schalten. Es reicht, wenn der in Richtung Gerät getrennt wird.

Es geht weniger ums Trennen, als ums Durchlassen. Denn wenn nicht 
getrennt ist, muß deine Schaltung ja in beide Richtungen durchlassen, 
wenn ich das richtig verstanden hab.

> Ein Bustakt ist etwa 5 µs lang, schnell genug ist alles, was darunter
> liegt.

Da wirst du mit einem Relais natürlich nicht weit kommen.

von Yalu X. (yalu) (Moderator)


Lesenswert?

@André H.:

So schlecht ist deine ursprünglich Schaltung gar nicht. Du hast nur
einen viel zu großen Mosfet genommen. Der IRLZ34N ist für 30A gut und
hat dementsprechend große parasitäre Kapazitäten. Diese Kapazitäten
bilden mit den Pullup-Widerständen Hochpässe, so dass steile Flanken den
Mosfet fast ungehindert passieren können.

Probier mal einen kleineren Mosfet wie den FDG6301N und mach die
Pullup-Widerstände kleiner. Wenn das Übersprechen immer noch zu stark
ist, solltest du versuchen, die Schaltflanken flacher zu machen.

von André H. (andrekr)


Lesenswert?

Jup, das war der entscheidende Hinweis. Danke.

Hab mir Drähte an nen BSN20 (der wirds eh später) gemacht und damit 
funktionierts einwandfrei.

Gibt es eigentlich Logic-Level-MOSFETs in TO-92 fürs Steckbrett?

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
Noch kein Account? Hier anmelden.