Pytanie takie pojawiło się w redakcyjnej poczcie (EdW 2/2020). Zasadniczo, choć nie tylko, określenie „5V – tolerant” lub analogiczne przede wszystkim dotyczy wejść układów zasilanych napięciem niższym, na które to wejścia podawane są sygnały cyfrowe z układów zasilanych napięciem 5V. Dziś bardzo często wykorzystywane jest napięcie zasilania 3,3V, ale niektóre układy czy obwody są zasilane napięciami jeszcze niższymi, nawet poniżej 2V – wtedy kłopot jest znacznie większy.
Ogólnie biorąc, w grę wchodzą co najmniej dwie kwestie:
- Poziomów przełączania (ich wartości i rozrzutu produkcyjnego) oraz marginesu zakłóceń.
- Ryzyka uszkodzenia przez zbyt wysokie napięcie lub błędnego działania przy zbyt dużym napięciu na wejściach.
Jeżeli chodzi o pierwszą kwestię, to przy zasilaniu napięciami 5V i 3,3V hobbyści zazwyczaj ją lekceważą i pomijają, a praktycznie zawsze układy działają bez problemów.
Nieco lepiej rozumiany jest problem zbyt wysokiego napięcia zasilania lub wejściowego. Podstawą problemu jest to, że coraz nowsze generacje układów scalonych mają coraz niższe dopuszczalne napięcie zasilania. Generalnie tendencja do obniżania napięcia zasilającego jest dobra z kilku powodów.
Nie wnikając w szczegóły, problem jest taki, że współczesne układy scalone, które w ogromnej większości są układami CMOS, czyli zawierającymi komplementarne tranzystory MOS, mają te składowe tranzystory niewyobrażalne delikatne. Malutkie i delikatne na tyle, że już napięcie zasilania rzędu 5 woltów może je przebić i nieodwracalnie zniszczyć albo spowodować błędną pracę. Dziś wykorzystujemy mnóstwo różnych układów scalonych, które przeznaczone są do zasilania napięciem około 3,3 wolta. Ich maksymalne dopuszczalne napięcie zasilania zwykle wynosi 3,6V, w każdym razie jest znacznie niższe od 5V.
Różnica między 3,6V a 5V to niecałe półtora wolta, ale w procentach to prawie 40%. Mimo wszystko wielu hobbystów lekceważy problem i sądzi, że takie podwyższenie napięcia nie spowoduje uszkodzenia układu. I często tak jest, że kostka z katalogowym maksymalnym napięciem 3,6V...4V rzeczywiście nie ulega uszkodzeniu przy zasilaniu 5V, a co najwyżej mocniej się grzeje. Na forach można znaleźć sporo tego rodzaju informacji, co ośmiela innych do lekceważenia omawianego problemu.
Jednak brak natychmiastowego uszkodzenia nie jest dowodem, że wszystko jest w porządku. Być może ktoś trafił na serię produkcyjną bardziej wytrzymałą lub inne okoliczności testu były sprzyjające.
Powszechnie znany jest fakt, że oprócz ryzyka przebicia, drugim najpoważniejszym zagrożeniem jest przegrzanie. Jeżeli przy wyższym napięciu zasilania układ grzeje się silniej (nadmiernie), to na pewno zwiększa to ryzyko jego uszkodzenia. Hobbysta cieszy się, że układ działa i nie zawraca sobie głowy tym, że taka praca po kilku tygodniach czy miesiącach doprowadzi do uszkodzenia.
Jeszcze innym zagrożeniem jest to, że przegrzany układ generalnie będzie pracował prawidłowo, a tylko czasem, okresowo pojawią się jakieś błędy w działaniu, na przykład gdy latem wzrośnie temperatura otoczenia. Choćby tylko z tych podanych powodów podwyższanie napięcia zasilania ponad wartość podaną przez producenta jest poważnym błędem!
Dotyczy to wielu, wręcz większości tak zwanych modułów Arduino, zawierających rozmaite czujniki i układy scalone o dopuszczalnym napięciu zasilania poniżej 5V. Często dostępne są dwie wersje: podstawowa do zasilania napięciem 3,3V i wersja 5-woltowa z dodatkowym stabilizatorem LDO 3,3V. Niestety, zastosowanie w 5-woltowym systemie Arduino modułów z wbudowanym stabilizatorem LDO 3,3V nie rozwiązuje problemu do końca.
Owszem, stabilizator obniża napięcie zasilania, ale nadal na wejścia może być podawane napięcie 5V z płytki Arduino lub z innych 5-woltowych modułów. Podanie napięcia 5V na wejście układu CMOS zasilanego napięciem 3,3V z reguły nie grozi przebiciem i nieodwracalnym uszkodzeniem obwodów wejściowych! Problem polega na czymś innym! Rysunek A pokazuje w dużym uproszczeniu typowe obwody wejściowe i wyjściowe układów CMOS.
Końcówka wejściowa połączona jest z dwiema bramkami tranzystorów MOSFET P i N, które są bardzo delikatne i wrażliwe na uszkodzenia (przypomnijmy, że nawet dla tranzystorów MOSFET dużej mocy dopuszczalne napięcie UGS to tylko ±20V). Aby zapobiec uszkodzeniom, obwody wejściowe zawierają struktury diodowe według rysunku A. Najprościej biorąc, w systemie Arduino może powstać sytuacja jak na rysunku B.
Napięcie 5V z wyjścia układu U1 powoduje, że w układzie U2 górna dioda zabezpieczająca D przewodzi prąd i podwyższa napięcie zasilania, teoretycznie nawet do około 4,3V, czyli więcej niż dopuszczalne napięcie zasilania mnóstwa kostek. Jeden problem to nadmierne napięcie zasilania, które nawet jeśli nie spowoduje szybkiego uszkodzenia, to może przegrzać którąś kostkę lub spowodować błędne działanie. Wielkość podwyższenia napięcia zasilania powyżej 3,3V zależy od wydajności prądowej wyjścia U1 oraz od tego, ile prądu pobiera U2 i wszystkie inne układy zasilane napięciem 3,3V.
Drugi problem to fakt, że przez strukturę diodową D płynie prąd o znacznej wartości (do kilkudziesięciu mA). W rzeczywistości nie jest to dioda, tylko skomplikowana struktura o właściwościach tyrystora, który przy zbyt dużym prądzie może się zatrzasnąć (zwłaszcza, gdyby napięcie zasilania 5V pojawiło się wcześniej niż napięcie 3,3V).
Najprostszym sposobem ochrony jest włączenie między wyjście U1 i wejście U2 albo dzielnika napięcia, albo tylko pojedynczego szeregowego rezystora (kilkaset omów do kilku kiloomów), który ograniczy prąd i tym samym rozwiąże oba najważniejsze wspomniane problemy. Kłopotu nie ma, jeżeli obwody wejściowe U2 są zmodyfi kowane i mają (uproszczony) schemat zastępczy jak na rysunku C.
Wtedy prąd przez obwód wejściowy nie popłynie i na pewno wejścia o takiej budowie można nazwać 5V – tolerant – zawsze jest to podane w karcie katalogowej. Wejścia takie mają na przykład kostki rodzin 74LCX i 74LVC (oraz wiele innych).
Natomiast przy współpracy 3,3-woltowego wyjścia z 5-woltowym wejściem hobbyści zazwyczaj łączą je wprost, bez żadnego obwodu pośredniczącego, co jednak nie jest w pełni zgodne z zasadami sztuki, choć praktycznie zawsze zapewnia prawidłową pracę.
Podane tu zostały tylko elementarne, fragmentaryczne wiadomości o wejściach „5V – tolerant”. A temat jest zaskakująco szeroki. Wbrew pozorom, problem dotyczy też wyjść układów CMOS, w tym wejść/wyjść, czyli portów mikroprocesorów, co na życzenie Czytelników (edw@elportal.pl) może zostać omówione w oddzielnym artykule.