bidirektionaler Pegelwandler mit "Floating-Erkennung"

OP #4647564
Lesenswert?

Hallo zusammen,
ich stehe gerade etwas auf dem Schlauch...

Ich möchte zwei Systeme miteinander verbinden:
System A ist batteriebetrieben (Versorgungsspannung 1.8V bis max. 3.3V). 
Das Signal [A] ist an einem I/O eines µCs (PIC24F32KA302) angeschlossen.

System B wird mit konstant 3.3V versorgt. Signal [B] ist hier auch an 
eine Logikschaltung angeschlossen. System B ist im Aufbau fix und kann 
nicht modifiziert werden.

System A beeinhaltet eine bidirektionale Pegelwandlung zwischen [A] und 
[B]. Es handelt sich um ein Signal < 1 kHz.

Aktuell sollte es funktionieren, dass wenn ein Signal [A] oder [B] auf 
low gezogen wird, das jeweils andere System dies zuverlässig erkennen 
kann.

Die Frage nun: wie muss ich die Schaltung anpassen, damit [A] immer auf 
low liegt, falls System B nicht angeschlossen ist?
Der Pull-Down rechts von dem FET (R2) reicht nicht aus, da - beim Fehlen 
von System B - ein Spannungsteiler aus R1 und R2 gebildet wird und die 
Spannung von Signal [A] zu hoch für die Erkennung eines Low-Pegels ist.
Ich suche nun eine Lösung, die diese Aufgabe möglichst stromsparend 
erfüllt.

Habt ihr eine Idee?

Danke & Gruß
Daniel
Angehängte Dateien:
OP #4648846
Lesenswert?

Hi, danke für die Antworten!
@rallini94: sehe das auch so, System B würde ein Dauer-Low erkennen.

Ich hätte noch mehr µC-Pins frei und könnte daher die Floating-Erkennung 
von der eigentlichen Kommunikation trennen. Ich frage mich, ob man mit 
mehreren Dioden etwas schlaues anstellen könnte, komme aber auf keinen 
grünen Zweig :-/

Eigentlich muss es auch keine wirkliche bidirektionale Kommunikation 
sein. Wichtig ist hauptsächlich, dass System A nach System B einen 
low-Pulse übertragen kann. Von System B interessiert mich eigentlich 
nur, ob es überhaupt da (also angeschlossen) ist. Vielleicht lässt sich 
mit dieser aufgeweichten Aufgabenstellung die ganze Sasche anders 
angehen?

Danke Euch!
OP #4652773
Lesenswert?

Hallo zusammen!
Was haltet ihr von dem angehängten Vorschlag?

Ist zwar nicht ganz so fancy wie mit MOSFETs, könnte aber möglicherweise 
den Zweck erfüllen:
- Wenn System B nicht angschlossen ist sollte T2 sperren -> an SYS_A_IN 
liegt ein HIGH-Pegel an
- Wenn System B angeschlossen ist und SYS_B_IN = HIGH, dann sollte T2 
eigentlich leiten und damit SYS_A_IN = LOW sein
- Wenn SYS_A_OUT auf HIGH gesetzt wird, sollte T1 durchschalten und 
SYS_B_IN entsprechend auf LOW ziehen

Aber was ist, wenn SYSTEM B zwar angeschlossen ist, aber SYSTEM A nicht 
eingeschaltet ist? Übersehe ich etwas und es könnte zu parasitärer 
Versorgung von SYS A kommen?

Gibt es noch eine elegantere Lösung für SYS_A_IN, die im idle-Zustand 
(SYS_B_IN auf HIGH) keinen Strom verbraucht? Derzeit fließt ja ständig 
Strom durch R3.

Danke & Gruß
Daniel
Angehängte Dateien:
OP #4652983
Lesenswert?

Ich habe den Wert von R6 auf 100k erhöht, andernfalls ergibt sich eine 
zu niedrige Spannung an SYS_B_IN im Idle-Zustand.

Der Steuerstrom für T2 liegt jetzt aber bei gerade einmal 18 µA. Kann 
man das machen oder ist die Schaltung bei so hochohmiger Ansteuerung 
(für den Fall System B ist nicht angeschlossen) anfällig für äußere 
Störungen?
Angehängte Dateien:
OP #4655544
Lesenswert?

Ich habe mich noch einmal auf die Suche nach einem n-Kanal MOSFET mit 
niedrigem V_GS(th) gemacht und bin auf das PMV20XNR (Datenblatt: 
http://www.mouser.com/ds/2/302/PMV20XNE-842460.pdf) gestoßen.

Mit der MOSFET-Variante sieht die Schaltung wie im Anhang aus. Ich würde 
mich über Feedback dazu freuen. Geht das so? Würde man das in der Praxis 
so machen oder mit Bipolartransistoren lösen?
Gibt es noch eine Möglichkeit, den Strom durch R3 im Idle-Zustand 
(SYS_B_IN auf HIGH) zu vermeiden?

Danke!
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren