Hallo zusammen,
ich suche einen Levelshifter für den I2C Bus von 5V auf 3.3V
Biderektional. Ich weiß, es gibt ein Paper von NXP wie man sowas baut,
aber ich bin dazu Motorisch und Geistig nicht in der Lage ;)
Wer also weiß wo man soetwas Fertig bekommt, oder in der Lage ist mir
soetwas zu bauen bitte melden.
Du weisst aber schon, wie der I2C Bus funktioniert?
Das mit den Open Collector bzw. Open Drain Ports?
Es sollte eigentlich reichen die Pullups auf 3,3V zu legen, wenn
der 5V Busteilnehmer die Logikpegel noch sauber erkennt.
Oder die Pullups auf 5V, wenn der 3,3V Teilnehmer 5V tolerante Ports
hat.
Wo ist das Problem?
Das Problem ist das ich sicher weiß das beide Teilnehmer nicht Tollerant
sind. Der SCP1000 mag nur 3,3 und definitiv nicht mehr und der andere
ist ein CMPS03 Kompass welcher unbedingt 5V möchte.
>Wo ist das Problem?
Das Problem ist, das es schon einen ganzen Thread mit diesem Thema gab.
Der Fragende es entweder nicht verstanden hat, oder die Lösung ihm zu
aufwendig war oder frag mich nicht...
Ist alles schon ausführlich diskutiert.
> ... Ich weiß, es gibt ein Paper von NXP wie man sowas baut,> aber ich bin dazu Motorisch und Geistig nicht in der Lage ;)
zum suchen wohl auch nicht... $subject in G***gle:
http://www.telos.de/hardware/
Ja, ich kanns mir schon denken... gefällt Dir nicht ;-)
Also irgendwie muss ich mich über den Ton hier schon wundern. Aber egal.
http://www.telos.de/hardware/
gefällt mir ansich schon aber den Preis find ich dann doch etwas hoch.
Ich bräuchte das auch nicht im Gehäuse, eine Platine mit Pins und den
MOS-Fets würde mir völlig reichen. Aber wer konstruktive Ratschläge
sucht ist hier wohl falsch.
>ist ein CMPS03 Kompass welcher unbedingt 5V möchte.
VCC ? Die Versorgung kann ja 5V sein, die I2C Ports müssen nur
Open Collector bzw. Open drain sein. Einzige Unsicherheit wären
Klemmdioden.
Aber bei den Pullups im Bereich 2k-4k sollte da kein Problem auftreten.
Die Frage ist nur, was der CMPS03 an seinem Eingang als Mindestspannung
für
den HIGH Pegel braucht.
Wie ich am Anfang bereits geschrieben habe, bin ich nicht in der Lage
Platinen selbst aufzubauen, ich hab die Hände eines Metzgers und auch
nicht das Entsprechende Werkzeug.
Ah ja, dann gib doch einfach "i2c-trn" in die Suche ein un dann siehste
wer es verkauft. In Deutschland wirst du das wohl kaum bekommen. Der
Chip selbst kostet ürbigens nur 50 Cent. Fertige Lösungen sind wohl
unverkäuflich und deswegen tut sich das keiner an. Wirst du wohl doch
selbst bauen müssen..
i2c mag zwar nicht direkt ttl kompatibel sein aber in der Regel gilt der
High-Pegel schon bei 3,5 Volt. Das könntest du eventuell gezielt
ausnutzen. Das würde ich nochmal ganz genau untersuchen. 3.3 Volt kannst
du locker auch mit 3,6 betreiben.
Frank, ich bin mir ziemlich sicher, daß du keinen Levelshifter brauchst.
Klemm die Pullups auf 3,3V und es wird funktionieren.
Laß' dich nicht von der Betriebsspannung verwirren. I2C treibt kein
high, sondern hat nur open-collector Ausgänge. Dashalb reicht es aus,
nach irgendwas zu ziehen was als high erkannt wird. Das ist ab 2V der
Fall. Auch bei dem CMPS03, da ist ein PIC drauf, als high gilt laut
Datenblatt >=2.0V.
Das ist also nicht unsauber. Man könnte lediglich argumentieren daß der
Störabstand reduziert ist.
Jörg
>ich suche einen Levelshifter für den I2C Bus von 5V auf 3.3V>Biderektional.
In der I2C-Spezifikation ist ein Shifter mit zwei FETs drin,
funktioniert einwandfrei.
Ich hab ein BeagleBoard und der Expansion Header hat einen I2C
Connector. Allerdings angeblich mit 1,8 Volt.
Wie kann ich da "normale" Sensoren dranklemmen, ohne mein schönes
BeagleBoard zu ruinieren?