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
Ist die Frage so dämlich oder ist das Problem unlösbar? :)
Was spricht denn dagegen mal die Widerstände R1 und R2 zu vertauschen? Hab das gerade mal in LTSpice kurz zusammen geklickt und es sah eigentlich ganz gut aus. Ich kam zwar nur auf 0,4V für das Low, aber ich hab auch gerade nicht das Modell des BSS138.
M. W. schrieb: > Was spricht denn dagegen mal die Widerstände R1 und R2 zu vertauschen? Damit funktioniert der (I²C ähnliche) Bus nicht mehr, da andauernd Low. Bei einem Bus der jeweils nur aktiv Low durchstellt kann man kein passives Low durch einfaches Abstecken erzeugen.
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!
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
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?
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!
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.