Ich versuche ein 3.3VI 2 C Gerät an ein 5V Arduino anzuschließen .
Ich habe kein Problem mit der SCL-Leitung. Ich kann einen einfachen Spannungsteiler verwenden, habe jedoch ein Problem mit der SDA-Leitung, da diese bidirektional ist.
Ich bin mir nicht sicher, wie ich damit umgehen soll. Ich habe allerdings ein Paar Dioden hinzugefügt, mit einem Spannungsteiler auf der Slave-Eingangsseite und nichts extra auf dem Master-Eingang.
Gibt es noch andere Lösungen?
Antworten:
Ein gutes Dokument zu diesem Thema ist der bidirektionale Pegelumsetzer für I2C-Busse und andere Systeme, die einen einzelnen Mosfet als bidirektionalen Pegelumsetzer verwenden.
quelle
Um die Antwort von sivu zu erweitern, ist dies eine gebräuchliche Verwendung für sogenannte "Bus-Schalter", bei denen es sich im Grunde um logisch gesteuerte MOSFETs handelt. Die Verwendung von diskreten MOSFETs hat einige Nachteile (parasitäre Kapazität / kapazitive Kopplung ist eins) und es kann schwierig sein, einen guten MOSFET zu wählen. Die Busschalter sind für den Einsatz in schnellen Logikschaltungen optimiert.
Einige Hersteller stellen sie her, darunter Fairchild, TI, IDT und Pericom. Schauen Sie sich die NC7SZ384 an .
Siehe unter anderem folgende Appnotes:
quelle
Viele Arduinos unterstützen 3,3 V an Bord. Tatsächlich können alle mit 3,3 V betrieben werden, und der FTDI-Chip erklärt in einem Beispiel, wie. Paul, der den Teensy USB Arduino hergestellt hat , hatte vorgeschlagen, dass ich das USB-Kabel aufspleißen und eine 3,3 V-Spannung anstelle der V CC- Leitung des Kabels liefern könnte . Sie könnten das versuchen. Es gibt aber auch andere Möglichkeiten.
Zuletzt haben wir eine Diskussion, die Sie hier auf Chiphacker über unidirektionale und bidirektionale Lösungen zur Spannungsreduzierung interessieren könnte . Dieser von todbot erwähnte Artikel über SparkFun ist nützlich, ebenso wie die Diskussion über bidrektionale MOSFET- Artikel, die von SparkFun verlinkt wurden. So fassen Sie den SparkFun-Artikel zusammen:
quelle
Es gibt ICs, die speziell für die Pegelverschiebung von I2C verfügbar sind:
Ich weiß nicht, welche Einschränkungen Sie für Ihr Design haben, aber ich denke, die Verwendung eines dedizierten ICs ist einfacher, als eine eigene Lösung zu finden.
quelle