mikrocontroller.net

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


Autor: André H. (andrekr)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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é

Autor: Schrotty (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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"?

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Schrotty (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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???

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Schrotty (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Schrotty (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Schrotty (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
-transmission gate
-PhotoMOS-Relay
-Analogschalter/Multiplexer

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann ich das diskret aufbauen?

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

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.