Pracujesz z autobusem I2C, prawda? Wywołam linie po stronie 3.3 V SDA3 i SCL3 ; dwie linie po stronie 5.0 V SDA5 i SCL5 .
„ MOSFET i dwa oporniki”
Jak już zauważyli todbot i cyphunk, obwód „MOSFET i dwa rezystory” opisany w samouczku „Interfejs czujnika SparkFun” robi to, co chcesz: Logiczny przepływ danych jest symetryczny - dane przepływają w obu kierunkach po liniach SDA, z strona niska do strony wysokiej, a milisekundy później od strony wysokiej do strony niskiej.
Uwaga „nie zadziała w innym kierunku” wskazuje, że obwód jest fizycznie asymetryczny: urządzenie 5,0 V I²C musi być podłączone do „wysokiej strony”, a urządzenie 3,3 V musi być podłączone do „dolnej strony”. Ponieważ obwód jest fizycznie asymetryczny, z pewnością nie jest oczywiste, że jest logicznie symetryczny. (Ten samouczek prowadzi do notatki aplikacji AN97055, która pokazuje obwód „dwóch tranzystorów MOSFET i dwóch rezystorów”, który jest fizycznie symetryczny, a zatem oczywiście logicznie symetryczny).
Linie oznaczone „TX” na konwerterach SparkFun - wskazane przez oryginalny plakat - implementują dwukierunkowy obwód „MOSFET i dwóch rezystorów”. Więc podłącz SDA3 do TX_LV, SDA5 do TX_HV, SCL3 do TX2_LV i SCL5 do TX2_HV.
Następnie dane płyną w obu kierunkach: kiedy twoje urządzenie po niskiej stronie napędza piny SDA3 i SCL3, odpowiednie napięcia są widoczne na górnych pinach SDA5 i SCL5. Milisekundy później, gdy wysokie urządzenie napędza styki SDA5 i SCL5, odpowiednie napięcia są widoczne na stykach SDA3 i SCL3.
(Niespójnie linie oznaczone „RX” na tej płycie konwertera będą transmitować dane tylko w kierunku od wysokiego napięcia do niskiego napięcia).
Dwukierunkowy optoizolator
Ponieważ używasz I²C, możesz być również zainteresowany dwukierunkowym optoizolatorem dla I²C . Obwód z dwoma optoizolatorami jest droższy i wolniejszy niż obwód „MOSFET i dwa oporniki”, ale działa, gdy jedna strona ma sygnały wahające się między 0 V a 5,0 V, a druga strona ma sygnały wahające się między 500,0 V a 505,0 V.
Obwód z dwoma optoizolatorami jest również całkowicie fizycznie symetryczny - a zatem logicznie symetryczny - nie ma znaczenia, która strona jest stroną wysoką, a która stroną niską.