|

TXS0108E vs TXB0108 – który konwerter poziomów logicznych wybrać?

TXS0108E vs TXB0108 – który konwerter poziomów logicznych wybrać?

W projektach elektronicznych często musimy połączyć układy działające na różnych napięciach logicznych np. mikrokontroler 5 V z czujnikiem 3,3 V. Bezpośrednie połączenie takich urządzeń może być niebezpieczne grozi uszkodzeniem wejść o niższym napięciu lub nieprawidłowym odczytem stanu logicznego. Rozwiązaniem są konwertery poziomów logicznych, które dostosowują napięcia sygnałów cyfrowych między dwoma systemami, zapewniając bezpieczną komunikację. Na rynku dostępne są m.in. dwie popularne 8-kanałowe kostki firmy TI: TXS0108E oraz TXB0108. Choć nazwy różnią się tylko jedną literą, układy te działają nieco inaczej. Poniżej wyjaśniamy, czym się różnią m.in. pojęcia push-pull vs open-drain i który z nich wybrać w zależności od zastosowania.

Push-pull vs Open-drain – co to znaczy?

Każdy cyfrowy pin wyjściowy mikrokontrolera lub układu logicznego może być skonfigurowany w określony sposób. Dwa często spotykane typy wyjść to push-pull oraz open-drain.

  • Wyjście push-pull: jest sterowane aktywnie w obu stanach logicznych. Oznacza to, że układ wewnątrz posiada dwa tranzystory jeden łączący wyjście z napięciem zasilania stan wysoki, a drugi łączący z masą stan niski. Taki pin potrafi samodzielnie wymusić stan niski i wysoki, dzięki czemu przełączanie jest szybkie i nie wymaga dodatkowych elementów. Większość standardowych sygnałów cyfrowych np. linie SPI, UART, sterowanie LED korzysta z wyjść push-pull.
  • Wyjście open-drain: w tym trybie układ tylko ściąga sygnał do stanu niskiego, natomiast „stan wysoki” nie jest aktywnie wymuszany. Zamiast górnego tranzystora stosuje się rezystor podciągający do zasilania może być zewnętrzny lub wbudowany w układ. Gdy tranzystor wyjścia jest wyłączony, linia zostaje „puszczona” i poprzez rezystor ma poziom wysoki. Zaletą open-drain jest możliwość łączenia wielu wyjść na jednej linii tzw. połączenie wire-OR: jeśli żadne urządzenie nie ściąga linii do masy, pozostaje ona w stanie wysokim. Jeśli którekolwiek z połączonych urządzeń wymusi niski, linia będzie niska wspólna dla wszystkich. Taka konfiguracja jest stosowana np. w magistrali I2C, 1-Wire oraz przy sygnałach przerwań, gdzie wielu nadawców dzieli jedną linię bez ryzyka zwarcia. Wadą otwartego drenu jest wolniejsze narastanie sygnału rezystor podciągający często jest dość duży, co spowalnia zbocza oraz konieczność użycia dodatkowego rezystora.

Różnice między TXS0108E a TXB0108

Oba moduły TXS0108E i TXB0108 umożliwiają dwukierunkową translację sygnałów logicznych na 8 liniach jednocześnie, obsługując szeroki zakres napięć. Różnica tkwi w ich wewnętrznej architekturze, która wpływa na kompatybilność z różnymi typami sygnałów i osiągi prędkości.

TXS0108E – jest przystosowany do współpracy zarówno z sygnałami open-drain, jak i push-pull. Świetnie nadaje się do dwukierunkowych magistral takich jak I2C czy 1-Wire, gdzie linie działają w trybie otwartego drenu. Układ ten poradzi sobie również z typowymi interfejsami push-pull SPI, UART itp. i oferuje bardzo wysoką maksymalną szybkość przełączania do 110 Mb/s przy sygnałach push-pull. Trzeba jednak pamiętać, że w przypadku tłumaczenia sygnałów otwartych gdzie wykorzystuje się rezystory podciągające, maksymalne bezpieczne tempo jest znacznie niższe rzędu 1,2 Mb/s dla TXS0108E. To wciąż wystarczająco dużo np. dla I2C standardowo 100–400 kb/s.

TXB0108 – ten konwerter został zaprojektowany wyłącznie z myślą o sygnałach push-pull. W przeciwieństwie do TXS, nie posiada wewnętrznych układów potrzebnych do obsługi otwartego drenu, dlatego nie sprawdzi się przy bezpośrednim tłumaczeniu magistral takich jak I2C wymagających rezystorów podciągających. Próby użycia TXB0108 do takich zastosowań zwykle zawodzą. Układ nie potrafi poprawnie wykryć kierunku transmisji na liniach open-drain, a nawet może tłumić sygnały ponieważ spodziewa się silnych sygnałów push-pull. TXB0108 sprawdza się za to znakomicie przy szybkich sygnałach cyfrowych sterowanych push-pull, oferując konwersję bez opóźnień np. dla SPI czy innych szybkich interfejsów. Jego deklarowana maksymalna przepustowość to ok. 60 Mb/s dla sygnałów push-pull w praktyce bywa podawane nawet ~100 Mb/s w idealnych warunkach, ale 60 Mb/s to rozsądna wartość uwzględniająca typowe obciążenia. TXB0108 nie jest zoptymalizowany do pracy z sygnałami wolnozmiennymi o charakterze analogowym czy z liniami wymagającymi dużych pojemności to typowy tłumacz logiczny do szybkich, czystych sygnałów dwustanowych.

Podsumowanie różnic w tabeli

Dla ułatwienia porównania, poniżej zestawiono kluczowe parametry obu konwerterów:

ParametrTXS0108E (open-drain + push-pull)TXB0108 (tylko push-pull)
Zakres napięć strony A1,4 V – 3,6 V1,2 V – 3,6 V
Zakres napięć strony B1,65 V – 5,5 V1,65 V – 5,5 V
Obsługiwane typy sygnałówPush-pull i Open-Drain Tylko Push-pull
Zastosowania typoweI2C, 1-Wire, UART, SPI, GPIO ogólnego przeznaczeniaSPI, UART, szybkie GPIO; nie magistrale open-drain np. I2C
Maks. szybkość (push-pull)do 110 Mb/sdo 100 Mb/s
Maks. szybkość (open-drain)do ~1,2 Mb/sbrak kompatybilności
Uwagi specjalneWymaga rezystorów podciągających dla linii open-drain np. I2C często moduły mają je wbudowane.Nie działa poprawnie z rezystorami podciągającymi na liniach danych.

Jak widać, TXS0108E jest bardziej uniwersalny, pozwalając na pracę zarówno z interfejsami wymagającymi otwartego drenu, jak i z sygnałami push-pull. TXB0108 natomiast jest wyspecjalizowany do czysto push-pullowych zastosowań i osiąga w nich świetne rezultaty, ale ceną jest brak kompatybilności z sygnałami typu open-collector/open-drain

Kiedy wybrać TXS0108E, a kiedy TXB0108?

Wybór odpowiedniego konwertera zależy głównie od rodzaju interfejsów, jakie chcemy konwertować:

  • Wybierz TXS0108E, jeśli: Twoje urządzenia komunikują się poprzez magistrale typu I2C, 1-Wire lub inne protokoły wymagające wyjść otwartych drenów z podciąganiem. TXS0108E zapewni poprawną obsługę takich linii i bezproblemową dwukierunkową komunikację. To dobry wybór również wtedy, gdy nie jesteś pewien charakteru sygnałów lub chcesz mieć jedno uniwersalne rozwiązanie do różnych zastosowań. Pamiętaj tylko o ograniczeniu prędkości przy sygnałach open-drain do ok. 1,2 Mb/s, co jednak w praktyce pokrywa większość „wolnych” magistral I2C to max 1 Mb/s w Fast Mode+.
  • Wybierz TXB0108, jeśli: wszystkie Twoje linie sygnałowe są standardowymi wyjściami push-pull i zależy Ci na maksymalnej szybkości transmisji. Przykładowo, przy konwersji poziomów dla szybkiego SPI, równoległych magistral danych czy innych dynamicznych sygnałów, TXB0108 sprawdzi się bardzo dobrze. Nie musisz martwić się tu o zewnętrzne rezystory podciągające układ sam zadba o odpowiednie przekazywanie „1” i „0”. Unikaj jednak TXB0108 do interfejsów typu I2C lub linii z sygnałem zegarowym, który bywa zatrzymywany w stanie wysokim przez pull-up w takich sytuacjach TXB nie zadziała poprawnie.

Podsumowanie

Jeśli projekt wymaga obsługi protokołów open-drain I2C, 1-Wire lub po prostu szukasz uniwersalnego konwertera do różnych zadań postaw na TXS0108E. Jeżeli natomiast w grę wchodzą tylko szybkie, klasyczne sygnały cyfrowe push-pull i zależy Ci na wysokiej częstotliwości oraz prostocie TXB0108 będzie lepszym wyborem. Oba moduły są łatwe w użyciu automatycznie wykrywają kierunek sygnału i obsługują podobne zakresy napięć, więc kluczową kwestią jest właśnie charakter sygnałów w Twoim projekcie. Dzięki zrozumieniu różnicy między push-pull a open-drain bez trudu dobierzesz właściwy konwerter poziomów logicznych do swoich potrzeb.

Produkty powiązane z Artykułem


Prezentowaną w artykule elektronikę znajdziesz oczywiście w naszym sklepie 👉 sklep.msalamon.pl 👈Zapraszamy również na nasze social media, gdzie na bieżąco informujemy o nowych produktach oraz o najciekawszych promocjach 😎👇


Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *