Hi, ich verwende den bekannten I²C-Pegelwandler aus der Appnote von Philips (z.B. http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf). Meine 3V-Seite wird von einem normalen LP2950-3.0 Spannungsregler versorgt und ist relativ schwach belastet (ein paar 74er, die nicht viel zu tun haben). Mein Problem ist nun, daß die 5V-Seite die 3V-Seite auf 5V zieht. Ich habe mal die 3V-Seite belastet und so ermittelt, daß der Pegelwandler zwischen den Seiten einen Widerstand von nur 2,7 kOhm bietet. Ich finde das relativ wenig und frage mich: 1. Muß das so oder hab ich was falschgemacht? 2. Geht mir irgendwas auf der 3V-Seite kaputt? Ich habe da diverse ICs die laut Datenblatt ausdrücklich nicht 5V-tolerant sind und nicht zu vergessen den Spannungsregler. Grüße, André
Klaus De lisson schrieb: > Hast vielleicht bei den FET S und D vertauscht ? Nee, dann müßte die Library vom Target schon falsch sein, was sie aber nicht ist, hab ich eben nochmal überprüft. Außerdem wäre dann die Isolation zwischen den beiden Seiten vermutlich nochmal deutlich schlechter... wenn ich den 3V-Kreis mit etwa 5mA belaste, stimmt ja die Spannung und der 5V-Kreis bleibt dabei unberührt.
nun.. es war ja nur spontane Idee. Andererseits frage ich mich, ob man die Schaltung überhaupt benötigt. Da I2C ja mit Pullups arbeitet und nicht aktiv Spannung auf die Leitung setzt, würde ich einfach die Pullups gegen 3,3 laufen lassen. Auch das 5 V System wird das dann noch erkennen. Gruss Klaus p.s. und bei deiner Schaltung dürfte die UGS Threshold essentiell sein. .. hier also die Frage : "richtige Mosfet ?)
Den Pegelwandler hab ich eingesetzt, weil ich mir erhoffte, daß die doch recht flache steigende Flanke dann steiler ist und daß der Bus robuster gegen Störungen wird. Und der BSN20 wird in der genannten Appnote ausdrücklich für diesen Zweck empfohlen.
Hmmmm , meine Antwort soll aussehen, wie ein Honigmaul. Ich hoffe, dass ein Hmmmm dazu reicht. .. aber ist es nicht so, dass der I2C doch ein recht einfaches und gemütliches System ist, welches sich sogar darüber freuen könnte, wenn die Flanken nicht zu steil sind. Ich weiss ja jetzt auch nicht , ob du dein Project für dich, oder für eine kommerzielle Geschichte verwenden willst. Im privaten Bereich würde ich halt von den Pegelwandlern absehen, da hier nur zusätzliche fehlerquellen entstehen können. Dein Text war ja : "Mein Problem ist nun, daß die 5V-Seite die 3V-Seite auf 5V zieht" Wie hast du das denn gemessen ? Wenn das Transmission Gate aktiv wird, muss ja zwangsläufig mal temporör ne Verbindung entstehen gruss Klaus
Hallo, ich habe auch Probleme mit genau dieser Schaltung. Als FET haben wir einen 2N7002. Mein Problem: gelegentlich kommt das ACK von der 3V-Seite (Slave, grün) nicht auf die 5V-Seite (Master, blau) durch. Meistens klappt es aber. Ich vermute, dass der Prozessor da seltsame Dinge tut, wenn die Spannungen auf SCK und SDA nicht ganz eindeutig sind. Zunächst hatte ich auch das Problem, dass der SCK-Takt immer niedriger war als laut Teilerfaktor. Das lag daran, dass der Prozessor den Entstör-C an SCK (330pF) als clock-stretching interpretiert hat. Das wurde durch Entfernung der Cs besser, richtig rund läuft die Schnittstelle aber erst, seitdem ich den Pegelwandler entfernt habe. Mit nur einem Pullup gegen 3,3V kommt aber kein einziger Takt aus dem Prozessor (Fujitsu MB96340-Serie), wahrscheinlich ist das für den Prozessor wieder dauer-clock-streching. Wenn zusätzlich der interne Pullup (ca. 50k) vom Prozessor an ist, ergibt sich High = 3,5 V, was offenbar für beide Seiten o.k. ist. Gruß Paul
Nachtrag: die 3,3V werden bei mir nicht hochgezogen! Paul
Hallo, die Firma Sparkfun www.sparkfun.com bietet einen Logic Level Converter sku: BOB-08745 an. Hiew wird ein BSS138 eingesetzt. Schreib doch mal die Leute an, welche Erfahrungen die haben ! Die sind hilfsbereit und antworten gerne. Das Board verwenden wir in Zusammenhang mit einer I2C Real-Time-Clock und es geht fehlerfrei. Gruß
Was spricht dagegen, einen fertigen I²C-Pegelwandlerbaustein wie den PCA9517 (http://www.nxp.com/#/pip/pip=[pip=PCA9517AD]|pp=[t=pip,i=PCA9517AD%5D) zu verwenden?
OMG, epic fail! Habe gerade festgestellt, daß ich ins falsche Fach gelangt hab und überall BC857 bestückt habe, wo eigentlich BSN20 sein sollten. Es könnte allerdings sein, daß ich ganz am Anfang die richtigen bestückt hatte (die dann aber nicht funktionierten). Ich weiß es nicht, denn ich hab keine BSN20 mehr und hab nun BSH108 genommen (die eh bessere Werte haben). Jetzt funktionierts super. Warum es mit den bipolaren PNP tatsächlich einigermaßen funktioniert hat, da kann jemand anderes drüber nachdenken. ;) Gute Nacht.
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.