zmiana poziomu napięć sygnałów cyfrowych

Apr 11, 2012 11 Replies

Co radzicie użyć do zmiany poziomu napięć 5V <=> 3V3 sygnałów cyfrowych pomiędzy prockiem zasilanym 5V a np. kartą SD, czy SPI w modułach radiowych na niższe napięcie? Wyguglałem ST2378 ale śladowa dostępność i cena na poziomie 6 zł/szt. skutecznie zachęca mnie do znalezienia innego rozwiązania.



Dzielników rezystorowych chciałbym jednak uniknąć, a poza tym to ma być w miarę tanie ( 2 zł/szt. do przełknięcia), dwukierunkowe i w miarę dostępne.


Patrzyłeś u TI? Tak na szybko, z kostek dedykowanych do SD i ręcznie lutowalnych znalazłem TXS02612RTWR. W digikey jest tańszy od ST2378 ($1.7 za sztukę v.s. $3 za ST). Ew. translator na mosfecie, przy prędkościach rzędu setek kbps powinien się jeszcze wyrabiać.

pzdr. j.

Najtaniej będzie jak obniżysz zasilanie uC do 3V :-) A konwersję poziomów musisz robić tylko w dół (5->3V), bo w drugą stronę poziom wysoki jest zazwyczaj wystarczający (trzeba sprawdzić kartę katalogową uC). Wystarczy ci do tego jakakolwiek bramka tolerująca 5V na wejściu przy zasilaniu 3V np. LVC125.

Do SPI i I2C używam translatorów na piechty zrobionych. Konkretnie na mosfecie plus pull-up na 3.3 i 5V. Tanie i małe. Wychodzi poniżej złotówki na drut, powierzchnia porównywalna z ICkiem. Jedynym "problemkiem" są te pullupy jak masz więcej niż 2-3 przewody obok siebie, bo potrzebujesz mieć co kawałek oba napięcia i masę.

Waldek

też tak dłubie ;) czasem używam gotowców jak np. kości z NXP z rodziny GTL2000

Użytkownik "Waldemar Krzok" snipped-for-privacy@zedat.fu-berlin.de> napisał w wiadomości news: snipped-for-privacy@mid.uni-berlin.de...

Ale z tranzystorem to raczej to już dwukierunkowe nie jest? Widziałem rozwiązanie z samym dzielnikiem i podobno działa:

formatting link
A na dodatek niczego poza masą i sygnałami ciągnąć nie trzeba.

Swoją drogą niesamowite to jest, takich scalaków na zdrowy rozum powinno być zatrzęsienie i to w cenach poniżej złotówki, a wygląda na to, że wszyscy "rzeźbią w gów...". :(

Ale po co? Urządzenia na 5V akceptują 3V jako stan wyskoki, więc w tę stronę działa bez problemu. W drugą stronę:

- sporo urządzeń 3.3V ma wejścia obsługujące 5V

- prawie wszystkie mają diody zabezpieczające na pinach, więc wystarczy dodać szeregowy rezystor ograniczający prąd płynący przez tę diodę

- jeżeli nie ma diody zabezpieczającej (są takie?) to wystarczy ją dodać na zewnątrz, blisko scalaka (nadal nie trzeba 2 poziomów napięć ciągnąć do konwertera, no i dioda+rezystor kosztują grosze a nie "złotówkę")

Dopiero jeżeli rezystora nie można dodać bo komunikacja jest za szybka i zbytnio spłaszczą się zbocza to dodaje się konwerter.

a wygląda na to, że wszyscy "rzeźbią w

Raczej "stosują wiedzę elektroniczną w praktyce" a nie wszystko robią na dedykowanych kostkach.

Am 12.04.2012 14:48, schrieb Marcin Wasilewski:

Jest. I2C jest dwukierunkowe i Phillips nawet taki układ dla swoich kości I2C zaleca.

Waldek

Użytkownik "Michoo" <michoo snipped-for-privacy@vp.pl napisał w wiadomości news:jm6k74$vja$ snipped-for-privacy@mx1.internetia.pl...

No patrząc w ten sposób to kostki typu bramki not też powinny wyginąć bo przecież sobie można taką wyrzeźbić bez trudu na tranzystorach. Zysk z kostki jest oczywisty - lepiej mieć jedną kostkę dla ośmiu linii, niż 16 elementów luzem, choćby to tylko miał być 8x rezystor + zenerka. No chyba, że to ta dzisiejsza moda na technologie green - pełno rezystorów podciągających, zenerek i urządzenia chodzące 24h/dobę. Ale w końcu czymś trzeba te pomieszczenia ogrzewać. :) Ale ok. już widziałem switch super green, który to niby miał zużycie energii uzależniać nie tylko od ilości podpiętych urządzeń, ale nawet od długości linii między nimi. A na wejściu miał stabilizator liniowy.

Użytkownik "Waldemar Krzok" snipped-for-privacy@zedat.fu-berlin.de> napisał w wiadomości news: snipped-for-privacy@mid.uni-berlin.de...

Możesz to narysować choćby odręcznie i gdzieś wrzucić. Albo jakiś link podsunąć do schematu z takim rozwiązaniem, bo jakoś sobie nie mogę wyobrazić jak na jednym tranzystorze zrobić linię dwukierunkową.

Am 12.04.2012 15:45, schrieb Marcin Wasilewski:

Prąciem bardzo:

formatting link
naciskasz na "schematics".

Z tego potrzebujesz tylko ten kawałek z tranzystorem i dwoma pullupami. Można zrobić to też na bipolarnym (np. BC850), emiter idzie do niższego napięcia, ale na MOSFETcie działa lepiej. Jak masz z którejś strony procka z pullupami, to oszczędzisz z tej strony pullupa na tranzystorze. Siusiać na ten jeden opornik, ale nie potrzebujesz wtedy ciągnąć obu napięć. Tłumaczyłem zasadę działania rok temu mojemu studentowi i wtedy sam też pojąłem jak toto działa ;-). Nawiasem mówiąc w układach NXP też jest to samo w środku, ale tak bardziej do kupy ;-).

Nawiasem mówiąc można ten układ jeszcze rozszerzyć o wyłączanie przejścia (albo przejść) podłączając bramki do sygnału logicznego LV (tu

3.3V). Poziom wysoki załącza przejście. Dobre do I2C hot plug albo do alternatywnych bloków z tym samym adresem (na przykład wiadro jednakowych sensorów). Załatwiasz dwie rzeczy za jednym zamachem.

Waldek

Użytkownik "Waldemar Krzok" snipped-for-privacy@zedat.fu-berlin.de> napisał w wiadomości news: snipped-for-privacy@mid.uni-berlin.de...

Dzięki Ci bardzo. Jednak na najprostsze rozwiązania wpada się najtrudniej. :)

Do atmegi jak znalazł. ;)

[...]

Dziękuję za pomoc.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required