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é
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"?
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.
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???
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.
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?
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
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).
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.
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?
-transmission gate -PhotoMOS-Relay -Analogschalter/Multiplexer
Wie kann ich das diskret aufbauen? Ein 7403 würde vielleicht auch gehen, oder? (Hab ich allerdings auch nicht hier.)
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...
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.
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.
@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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.