TTL, czyli… nieco elektronicznej prehistorii
Rozwój techniki cyfrowej wymusił zmianę standardów napięć, w jakich pracują nowo produkowane układy scalone. Przez wiele lat dla niemal całej elektroniki cyfrowej standardem był system TTL – zarówno proste bramki logiczne, jak i najbardziej złożone wówczas mikroprocesory, pracowały przy założeniu, że poziom niski (L) jest sygnalizowany za pomocą napięć od 0 V do 0,4 V, zaś stan wysoki (H) – od 2,7 V do 5,5 V. Spora asymetria wynikała bezpośrednio z konstrukcji obwodów wejściowych i wyjściowych tych układów, bazującej na klasycznych tranzystorach bipolarnych (a także specjalnych tranzystorach wieloemiterowych, nie różniących się jednak podstawowymi parametrami od pojedynczych struktur BJT).
Progi i marginesy napięć w standardzie TTL
Warto dodać, że wspomniane wyżej poziomy logiczne dotyczyły sygnałów wyjściowych – wejścia mogły pracować w szerszym zakresie, odpowiednio 0..0,8 V (L) i 2..5 V(H). Różnica pomiędzy odpowiadającymi sobie limitami to tzw. margines przełączania – jego relatywnie duża szerokość umożliwiała niezawodną współpracę jednego wyjścia z wieloma wejściami, które – pobierając pewien niezerowy prąd stały – powodowały jego obciążenie, a w efekcie – przesunięcie rzeczywistego napięcia na danej linii w stronę „środka” zakresu. Do poprawnego działania całego układu wymagane więc było, by na żadnej linii cyfrowej napięcia – w żadnej sytuacji – wartości nie przekraczały zakresu akceptowalnych napięć wejściowych. Właściwy próg przełączania leżał zatem gdzieś pomiędzy napięciami 0,8V, a 2,0 V – jego dokładna wartość była różna dla różnych egzemplarzy, ale tolerancja musiała być akceptowana przez wszystkie układy, opisane mianem TTL.
Współczesne standardy
Dziś trudno wskazać jeden, wspólny standard napięć. Przyjmuje się zwykle, że margines jest symetryczny i wynosi najczęściej po 30% napięcia zasilania (zarówno dla poziomu niskiego, jak i wysokiego). Przykładowo, układ zasilany napięciem 5V jako stan niski może interpretować napięcia nie przekraczające 1,5 V, a jako stan wysoki – od około 3,5 do 5V. Oznacza to, że wyjście układu zasilanego napięciem 3,3V może nie mieć szansy, by poprawnie wysterować 5-woltowe wejścia. W takich przypadkach konieczny staje się konwerter napięć 5V 3,3V. Bardzo często stosowane współcześnie konwertery poziomów logicznych pozwalają na wybór kierunku przesyłanego sygnału, choć niektóre wersje automatycznie „rozpoznają”, po której stronie układu znajduje się wejście, a po której – wyjście. Chętnie używanym rozwiązaniem jest układ złożony z tranzystorów polowych MOSFET małej mocy oraz kilku rezystorów, ustalających ich punkt pracy – konstrukcja ta doskonale sprawdza się nie tylko w „prostych” sytuacjach (np. podczas łączenia niektórych 3-woltowych czujników z interfejsem UART 5-woltowego Arduino), ale także… w układach, bazujących na I2C. Obecność osobnych rezystorów podciągających po obu stronach układu zapewnia bezproblemową współpracę obu urządzeń, zasilanych różnymi napięciami.