Czytałem więc kilka wątków tutaj i na innych forach. Rozumiem, że istnieją różne rozwiązania obniżania lub podwyższania napięcia. To, co znalazłem, to reguły przesuwające z serii LVC, które dają stały sygnał wyjściowy, MCP1825, który obniży od 5 do 3,3 (i inne wersje o różnych przyrostach) 74LCX245, który będzie zmieniał od 2,5 lub 3,3 do 5v i być może niektóre inne zapominam . Następnie są gotowe płyty, takie jak konwertery Sparkfun lub ten konwerter 8 pin na 8 pinów . Ale wszystkie z nich są tylko w jednym kierunku lub dwukierunkowo przełączane przez zworkę.
Jak miałbym konwertować napięcia w dół lub w górę w obu kierunkach bez konieczności wyboru pinów.
5--3,3
5--2,5
5--1,8
dzięki
źródło
Maxim ma kilka tłumaczy poziomu logicznego , z których większość jest dwukierunkowa. Prędkości są różne, najszybsza obsługuje maksymalną szybkość transmisji danych 100 MBit / s, co powinno obejmować prawie wszystko, co chcesz robić na poziomie hobby. Napięcia mieszczą się w zakresie od 0,9 V do 5,5 V.
źródło
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ą.
źródło
Na jednej z naszych płyt używamy TXS0104E do translacji między 3,3 V a 5 V na szynie I2C (dwukierunkowa).
źródło