Also habe ich hier und in anderen Foren ein paar Threads gelesen. Ich verstehe, dass es verschiedene Lösungen gibt, um eine Spannung zu senken oder zu erhöhen. Was ich gefunden habe, sind die Schaltregister der LVC-Serie, die einen konstanten Ausgang ergeben, MCP1825, der 5 bis 3,3 herunterfährt (und andere Versionen, die unterschiedliche Inkremente haben), der 74LCX245, der 2,5 oder 3,3 bis 5 V erhöht, und vielleicht einige andere, die ich vergesse . Dann gibt es fertige Platinen wie die Sparkfun-Wandler oder diesen 8-poligen zu 8-poligen Wandler . Aber alle diese sind nur eine Richtung oder bidirektional durch einen Jumper geschaltet.
Wie würde ich Spannungen in beide Richtungen nach unten oder oben umwandeln, ohne dass eine Pinauswahl erforderlich wäre?
5--3.3
5--2.5
5--1.8
Vielen Dank
quelle
Maxim hat eine Reihe von Übersetzern auf Logikebene , von denen die meisten bidirektional sind. Die Geschwindigkeiten variieren, die schnellste unterstützt eine maximale Datenrate von 100 MBit / s, die so ziemlich alles abdecken sollte, was Sie jemals auf Hobbyebene tun möchten. Die Spannungen reichen von 0,9 V bis 5,5 V.
quelle
Sie arbeiten mit einem I2C-Bus, oder? Ich werde die Leitungen auf der 3,3-V-Seite SDA3 und SCL3 anrufen . die beiden Leitungen auf der 5,0-V-Seite SDA5 und SCL5 .
" MOSFET und zwei Widerstände"
Wie todbot und cyphunk bereits betont haben, macht die im SparkFun-Tutorial "Sensorschnittstelle " beschriebene Schaltung "MOSFET und zwei Widerstände" das, was Sie wollen: Der logische Datenfluss ist symmetrisch - Datenflüsse in beide Richtungen auf den SDA-Leitungen von der niedrige Seite zur hohen Seite und Millisekunden später von der hohen Seite zur niedrigen Seite.
Der Hinweis "funktioniert nicht in die andere Richtung" weist darauf hin, dass die Schaltung physikalisch asymmetrisch ist: Ihr 5,0-V-I²C-Gerät muss an die "High-Seite" angeschlossen sein, Ihr 3,3-V-Gerät muss an die "Low-Seite" angeschlossen sein. Da die Schaltung physikalisch asymmetrisch ist, ist es sicherlich nicht offensichtlich, dass sie logisch symmetrisch ist. (Dieses Tutorial enthält Links zu einem AN97055-Anwendungshinweis, der eine Schaltung "zwei MOSFETs und zwei Widerstände" zeigt, die physikalisch symmetrisch und daher offensichtlich logisch symmetrisch ist.)
Die mit "TX" gekennzeichneten Leitungen auf den SparkFun-Wandlern - auf die auf dem Originalplakat hingewiesen wurde - implementieren diese bidirektionale Schaltung "MOSFET und zwei Widerstände". Verbinden Sie also SDA3 mit TX_LV, SDA5 mit TX_HV, SCL3 mit TX2_LV und SCL5 mit TX2_HV.
Dann fließen die Daten in beide Richtungen: Wenn Ihr Low-Side-Gerät die SDA3- und SCL3-Pins ansteuert, werden die entsprechenden Spannungen an den High-Side-SDA5- und SCL5-Pins angezeigt. Millisekunden später, wenn das High-Side-Gerät die SDA5- und SCL5-Pins ansteuert, werden die entsprechenden Spannungen an den SDA3- und SCL3-Pins angezeigt.
(Inkonsistent übertragen die mit "RX" gekennzeichneten Leitungen auf dieser Konverterplatine nur Daten in Hochspannungs- in Niederspannungsrichtung.)
Bidirektionaler Optoisolator
Da Sie I²C verwenden, könnten Sie auch an einem bidirektionalen Optoisolator für I²C interessiert sein . Die Zwei-Optoisolator-Schaltung ist teurer und langsamer als die Schaltung "MOSFET und zwei Widerstände", funktioniert jedoch, wenn eine Seite Signale hat, die zwischen 0 V und 5,0 V schwingen, und die andere Seite Signale hat, die zwischen 500,0 V und 505,0 schwingen V. V.
Die Zwei-Optoisolator-Schaltung ist auch physikalisch vollständig symmetrisch - und daher logisch symmetrisch - es spielt keine Rolle, welche Seite die hohe Seite und welche Seite die niedrige Seite ist.
quelle
Auf einer unserer Karten verwenden wir einen TXS0104E , um zwischen 3,3 V und 5 V auf einem I2C-Bus (bidirektional) zu übersetzen.
quelle