Uniwersalny translator poziomów I²C

Uniwersalny translator poziomów I²C

Zaprezentowany moduł uniwersalnego translatora poziomów umożliwia połączenie magistrali I²C pomiędzy systemami pracującymi z napięciami 3,3 V lub 5 V niezależnie od kierunku konwersji. Układ doskonale sprawdza się w prototypowaniu przy użyciu Raspberry Pi/Pico lub Arduino umożliwiając proste podłączenie dostępnych na rynku czujników lub modułów rozszerzeń niezależnie od wymaganego napięcia zasilania.

Podstawowe parametry:
  • umożliwia połączenie magistrali I²C pomiędzy systemami pracującymi z napięciami 3,3 V lub 5 V niezależnie od kierunku konwersji i różnicy poziomów,
  • wbudowana przetwornica obniżająco-podwyższająca napięcie,
  • możliwość przedłużenia zasięgu magistrali (redriver),
  • zasilanie napięciem z zakresu 3,3...5 V.

Układ nadaje się, także do przedłużenia zasięgu magistrali pełniąc funkcje re-drivera i stabilizatora zasilania. Zaletą układu jest wbudowana przetwornica obniżająco-podwyższająca napięcie zapewniająca zasilanie dla współpracujących układów I²C.

Budowa i działanie

Schemat układu został pokazany na rysunku 1. Magistrala I²C (master) wraz z napięciem zasilania 3,3...5 V doprowadzona jest do translatora poprzez jedno ze złącz wejściowych I²CI1...4. Cztery typy użytych złącz zapewniają zgodność z popularnymi zestawami uruchomieniowymi. Magistrala I²C doprowadzona jest do układu izolatora I²C typu ADUM1251 (U1), który zastosowany jest w nietypowej roli translatora poziomów.

Rysunek 1. Schemat ideowy układu translatora

Większość standardowych konwerterów poziomów dla poprawnego działania wymusza określoną różnicę napięć zasilania strony wejść i wyjść, znak tej różnicy jest ściśle określony, a zmiana kierunku konwersji z 3,3/5 V na 5 V/3,3 V wymusza przeprojektowanie układu. Konieczność konwersji poziomów logicznych 3,3/5 V, w sytuacji gdy napięcie zasilania wynosi 5 V, nie pozwala spełnić warunku wymaganej różnicy i polaryzacji napięć pomiędzy stronami typowego translatora np.: PCA9603 wymaga Vref1<Vref2 i Vref2>Vref1 o ok. 0,6 V. Standardowe translatory poziomów nie pracują poprawnie, gdy napięcia zasilające są równe lub różnica napięć zmienia znak tj. Vref1>Vref2. W najlepszym przypadku pogarszają się czasy propagacji sygnału I²C, w najgorszym wypadku sam translator może ulec uszkodzeniu lub co gorsze, może przepuszczać prąd ze strony zasilanej wyższym napięciem do części zasilanej niższym napięciem, doprowadzając do uszkodzenia współpracujących układów. Izolacja galwaniczna stron U1 pozwala uniknąć tego zagrożenia i umożliwia zastosowanie tylko jednego typu translatora niezależnie od wartości napięcia zasilającego 3,3/5 V i kierunku translacji.

Aby układ nie wymagał obustronnego zasilania, co szczególnie pożądane przy aplikacjach pomiarowych wymagających zasilania czujników, moduł wyposażony jest we własną przetwornicę U2 typu MCP1253. Jest to przetwornica pojemnościowa z szerokim zakresem napięć zasilania (2,0...5,5 V) i automatycznym przełączaniem trybu podwyższania i obniżania napięcia wyjściowego, którego ustalona wartość wybierania jest stanem wyprowadzenia SEL. Zwarcie zwory VO z napięciem zasilania VIN (zwarte piny 2+3) ustala 3,3 V, zwarcie zwory VO z masą (zwarte piny 1+2) ustala 5 V napięcia wyjściowego przetwornicy. Dzięki temu translator zasilany napięciem z zakresu 3,3...5 V, może zasilać czujniki napięciem 3,3 V lub 5 V z jednoczesną translacją poziomów I²C.

Napięcie wyjściowe oraz sygnał I²C po konwersji poziomów wyprowadzony jest na złącza I²CO1...4. Dodatkową funkcją translatora jest możliwość przedłużenia zasięgu magistrali (redriver) oraz stabilizacja napięcia zasilania VOUT.

Montaż i uruchomienie

Moduł zmontowany jest na dwustronnej płytce drukowanej, której schemat został pokazany na rysunku 2. Montaż jest typowy i nie wymaga opisu. Przed podłączeniem do aplikacji docelowej należy sprawdzić poprawność generowanego napięcia wyjściowego VOUT=3,3 V/5 V przy obu położeniach zwory VO w całym zakresie napięcia zasilania VIN=3,3 V/5 V. Jeżeli wartość generowanego napięcia jest poprawna układ może być podłączony do aplikacji docelowej.

Rysunek 2. Rozmieszczenie elementów

Przykładowe zastosowanie translatora to np. podłączenie czujników zgodnych z 3,3 V serii QWIIC do Arduino Uno lub podłączenie czujników wymagających zasilania 5 V do Raspberry Pi/ Pico.

Adam Tatuś, EP

Wykaz elementów:
Rezystory:
  • RP1: 10 kΩ Drabinka rezystorowa (CRA06S08)
Kondensatory:
  • C1, C2: 0,1 μF 10 V (SMD0603)
  • C3, C4: 10 μF 10 V (SMD0603)
  • C5: 1 μF 16 V (SMD0805)
Półprzewodniki:
  • U1: ADUM1251ARZ (SO8)
  • U2: MCP1253-33x50 (MSOP8)
Pozostałe:
  • I²CI1, I²CO1: złącze JST 1 mm
  • I²CI2, I²CO2: złącze JST 2 mm
  • I²CI3, I²CO3: złącze SIP 2,54 mm
  • I²CI4, I²CO4: złącze Grove 2 mm (110990037)
  • VO: złącze SIP 2,54 mm + zwora
Artykuł ukazał się w
Elektronika Praktyczna
lipiec 2023
DO POBRANIA
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów