Liebe Community, ich möchte einen Level Shifter für die I2C bzw. UART Schnittstelle auf meiner PCB anbieten. Die gewöhnliche Betriebsweise eines Translators ist mir bekannt (TXS0102 i.e.). Was ist wenn ich einen Sensor hernehme, welcher mit 5V arbeitet und ich den Level Shifter nicht verwenden kann?! Deshalb möchte ich vorsichtig nachfragen ob meine Überlegung richtig ist? Danke im Voraus! Liebe Grüße aus Wien.
Du hast also eine Schaltung, die intern mit 5V funktioniert? Du möchtest außen mit variabler Signalspannung zwischen z.B. 2.5 und 5.5V arbeiten? Richtig? Dann schau her: http://www.ti.com/lit/ds/symlink/sn74lvc1t45.pdf Jede Seite kann mit einer Spannung zwischen 1.65V und 5.5V betrieben werden. Und es steht auch nirgendwo drin, dann nicht beide Seiten mit der gleichen Spannung versorgt werden dürfen. Lösung: Mache die Spannungsversorgung der externen Seite zu einem Eingang, der von dem angeschlossenen Gerät versorgt werden muss. Dadurch bist Du flexibel. Das ist bei JTAG-Adaptern für ARM etc. eine übliche Herangehensweise. Die Stromaufnahme ist üblicherweise recht gering. Und sei vorsichtig mit bidirektionalen Levelshiftern. Die Erkennung der Senderichtung ist mitunter recht empfindlich. Wenn Du wie bei einem UART eine bidirektionale Funktionalität nicht brauchst, bist Du mit unidirektionalen Levelshiftern oder mit welchen mit nicht-automatischer Richtungsumschaltung auf der sichereren Seite. fchk
Die Schaltung an sich funktioniert; ich würde trotzdem einen PCA9306 vorziehen. Unbedacht dessen: Wenn Du das einsetzt, achte auf einen MOSFET mit seeehr kleiner Gate-Kapazität und die Pull-up-Widerstände ebenfalls nicht zu groß machen - andernfalls entstehen Anstiegs- und Abfallzeiten >>1us - wenn Du dahinter mit Schmitt-Trigger-Eingängen arbeitest, geht's ja noch - andernfalls aber könnte die langsame Flanke Probleme in der nachfolgenden Logik machen.
:
Bearbeitet durch User
Vielen lieben Dank für die Vorschläge bzw. das Feedback! Habt ihr diese ICs selber eingesetzt und getestet?! Bei PCA9306 habe ich folgendes im Datenblatt gelesen: To support translation, VREF1 supports 1.2 V to VREF2 - 0.6 V. VREF2 must be between VREF1 + 0.6 V to 5.5 V. Ginge mit 5V < > 3V3 aber nicht mit 5V < > 5V. Ich frage mich gerade warum ich überhaupt variable Signalspannug haben möchte hehe .. bin ursprünglich ein SW-Dev und mag meine Werke so gestalten dass der User die Endentscheidung treffen kann. Beim PCB sollte ich mir diese Herangehensweise eventuell überdenken ^^ Oder ich bleibe bei meiner nmos-Lösung und verwende zB den 2N7000 ?!
Martin Z. schrieb: > Vielen lieben Dank für die Vorschläge bzw. das Feedback! > > Habt ihr diese ICs selber eingesetzt und getestet?! Bei PCA9306 habe ich > folgendes im Datenblatt gelesen: > > To support translation, VREF1 supports 1.2 V to VREF2 - 0.6 V. VREF2 > must be between VREF1 + 0.6 V to 5.5 V. > > Ginge mit 5V < > 3V3 aber nicht mit 5V < > 5V. Dann schau mal auf den PCA9517. Der funktioniert ein wenig anders. fchk
Frank K. schrieb: > Dann schau mal auf den PCA9517. Super gut, danke! :) 4x 10k Widerstände und 2x 100n Cap und gut ist, geilo! Somit hab ich den I2C Bus gedeckt. UART lasse ich auf 5V ohne Level Shifter :)
Martin Z. schrieb: > Frank K. schrieb: > >> Dann schau mal auf den PCA9517. > > Super gut, danke! :) > 4x 10k Widerstände und 2x 100n Cap und gut ist, geilo! > > Somit hab ich den I2C Bus gedeckt. UART lasse ich auf 5V ohne Level > Shifter :) Für den wären zwei 74LVC1T45 die optimale Lösung. fchk
Frank K. schrieb: > Für den wären zwei 74LVC1T45 die optimale Lösung. Hey, vielen Dank für das angenehme und freundliche Feedback! Ihr habt mir beide super weitergeholfen. Ich teile gerne meine Schaltung falls jemand mal auf der Suche ist .. Immer mit einem kritischen Auge genießen ;)
Du hast leider das Datenblatt nicht richtig gelesen. Der DIR-Input des 74LVC1T45 wird von VCCA gespeist, nicht von VCCB. Lass VCCA die interne, VCCB die externe Spannung sein, das ist besser. Und DIR entweder auf GND oder VCCA legen. fchk
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.