Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

FT232RL - konwerter USB -> UART(5V/3,3V) / RS485; zasilanie VCCIO

Kamil 1 03 Sie 2014 15:07 3861 14
  • #1 03 Sie 2014 15:07
    Kamil 1
    Poziom 16  

    Hej. Zamierzam zrobić konwerter na układzie FT232RL. Założenie jest takie aby konwerter był typu 2 in 1, czyli:

    USB<->UART (RxD, TxD)
    USB<->RS485

    Niby nic trudnego, ale... dodatkowo założyłem, że sygnały UART powinny być akceptowane przez uC zasilane z 5V oraz 3,3V. Poniżej schemat poglądowy jak to ma wyglądać

    FT232RL - konwerter USB -> UART(5V/3,3V) / RS485; zasilanie VCCIO

    Jak widać na schemacie nie ma nigdzie przełącznika 5V/3,3V dołączonego do wejścia VCCIO układu FT232RL, a jak wiadomo wejście to zasila logikę sygnałow wyjściowych, czyli inaczej gdy podamy na VCCIO 5V to wyjścia (RxD, TxD, itd) układu będą podawać sygnały TTL 0...5V; z kolei gdy podamy do VCCIO 3,3V to wyjścia będą podawać sygnały TTL 0...3,3V. Wejście VCCIO jest wyprowadzone na złącze służące do połączenia z uC i jest to tak naprawdę zasilanie z płytki procesora. Więc jeśli procesor będzie zasilany 5V to FT232RL dostosuje sygnały UART do tego poziomy, a gdy procesor będzie zasilany z 3,3V to do tego poziomu. W rezultacie nie trzeba nic przełączać na przejściówce. Jedyna wada, że nie zasilimy płytki procesora, ale dla mnie to jest zbędne.

    Ok teraz dalej. Gdy podłączę przejściówkę pod procesor to będzie też działa RS485, czyli mamy możliwość komunikacji z 2 urządzeniami w taki sposób

    PC<->uC
    PC<->urządzenie z RS485

    ...przy czym PC jest masterem, a reszta slave.

    Podobno układ MAX485 może działać z sygnałami 3,3V podczas gdy zasilany jest 5V, więc nawet gdyby procesor był zasilany 3,3V co spowoduje że sygnały wyjściowe z FT232RL będą miały poziom 0...3,3V, to MAX485 i tak sobie z nimi powinien poradzić.

    Gorzej jest gdy wykorzystujemy tylko transmisję RS485, bo wtedy na VCCIO nic nie mamy podane więc wyjścia FT232RL nie będą działać.

    I teraz zastanawiam się jak to rozwiązać aby działała też sama transmisją RS485. Myślałem nad wykorzystaniem wyjścia 3V3OUT układu FT232RL które daje napięcie 3,3V i przez rezystor połączenie go z wejściem VCCIO, wtedy gdy korzystamy z transmisji RS485 to VCCIO byłoby zasilane z tego 3V3OUT, a gdybyśmy podpięli procesor to wtedy VCCIO zasilane byłoby z płytki procesora. Co tym sądzicie?

    0 14
  • #2 06 Sie 2014 15:35
    Adam Ś.
    Poziom 12  

    Widzę że kolego lubi komplikować sobie życie, ale jak już to nie lepiej połączyć FT232 z maxem na stałe a pomiędzy FT232 a wyjściem UART dać jakiś translator napięć? Wtedy wyjścia FT232 zasilane będą z 5V co zapewni poprawne działanie Maxa a wyjście UART będzie mogło pracować nawet przy sygnałach na poziomie 1,8V.

    Na szybko przerabiając schemat w paincie, wyglądało by to tak FT232RL - konwerter USB -> UART(5V/3,3V) / RS485; zasilanie VCCIO

    0
  • #3 09 Sie 2014 12:26
    Kamil 1
    Poziom 16  

    Ok dzięki. Zaprojektowałem już w eagle schemat tego konwertera. Oto on
    FT232RL - konwerter USB -> UART(5V/3,3V) / RS485; zasilanie VCCIO

    Chyba jest wszystko w porządku. Jeszcze chcę dowiedzieć się coś na temat terminatora dla magistrali RS485. Pasowałoby go dodać do tego schematu (rozłączany zworką) tylko nie wiem co będzie lepsze zwykły rezystor między linie A i B za MAXem o wartości 120Ω czy coś innego? Bo spotkałem się też z 2 rezystorami i kondensatorem.

    0
  • #5 10 Sie 2014 22:15
    Kamil 1
    Poziom 16  

    Teraz jest chyba już dobrze :)
    FT232RL - konwerter USB -> UART(5V/3,3V) / RS485; zasilanie VCCIO

    0
  • #7 11 Sie 2014 17:57
    Adam Ś.
    Poziom 12  

    Wydaje mi się, że linie UARTa pomiędzy FT232 a translatorem powinny być rezystory podciągające do 5V. Tak by wynikało z dokumentacji. Tylko znowu może być problem z doborem ich wartości bo niby zależą od napięcia SREF...

    0
  • #9 22 Sie 2014 11:20
    Franek k
    Poziom 15  

    Hej. Mam dwa pytania ponieważ projektuję konwerter USB-UART z tym że bez RS485, ale oparty też na FT232RL.

    1. Jeśli się nie mylę to z dokumentacji tego układu wynika, że VCCIO może być zasilane z zakresu 1,8V do 5,25V. Czyli bez żadnych problemów można uzyskać taki zakres pracy?

    2. Rozważam podobny sposób zasilania VCCIO jak autor, tzn. z zewnętrznego układu (linia VCCIO będzie wyprowadzona do złącza IDE). Chciałbym dodać diodę LED która by sygnalizowała czy po wpięciu taśmy do złącza to napięcie zasilające faktycznie jest dostarczane do VCCIO. Wstawienie diody LED z rezystorem, pomiędzy VCCIO a GND mija się z celem bo przy 5V będzie świecić a przy 3,3V może praktycznie być tego światła nie widać (wpływ rezystora), nie wspominając już o 2V z hakiem. Myślałem też podłączyć diodę do któregoś wyjścia CBUS i ustawić ten pin na PWRON# i idąc tokiem myślenia, że gdy VCCIO jest nie zasilone to wyjścia nie działają, zapalać w ten sposób LEDa gdy napięcie na VCCIO się pojawi. Ale to by było dobre gdyby na tym wyjściu miał być + a nie GND które pewnie pojawi się od razu po podłączeniu konwertera do USB. Czy ktoś ma jakiś pomysł? Ewentualnie z tego zrezygnuję, ale chciałbym dać taką sygnalizację, abym potem nie zastanawiał się dlaczego mi nie ma komunikacji z uC...

    0
  • #11 22 Sie 2014 13:59
    tmf
    Moderator Mikrokontrolery Projektowanie
  • #12 22 Sie 2014 20:28
    Franek k
    Poziom 15  

    Dzięki za pomysły ;) Postanowiłem wybrać wersję z komparatorem. Poniżej zamieszczam schemat i proszę jeszcze o jego sprawdzenie czy gdzieś nie popełniłem błędu.
    FT232RL - konwerter USB -> UART(5V/3,3V) / RS485; zasilanie VCCIO

    R3 to tak na prawdę dławik. Po prostu nie miałem w bibliotece dławika w obudowie 1210 ;P

    Chciałbym wyjaśnić niektóre zastosowane tutaj elementy. Zacznę może od R8, ogólnie to linia ta jest wyprowadzona na wszelki wypadek gdybym kiedyś chciał sterować układem typu max485. Rezystor R8 ma robić jako zabezpieczenie gdybym np. zwarł tą linie przez przypadek do masy a układ wystawił na niej 1 logiczną.

    Rezystor R9 ma podobne zadanie do R8 tylko, że ten zabezpiecza nadajnik w FT232RL. Jeśli by powodował problemy przy transmisji to zawsze można go odłączyć przepinając zworkę JP1.

    Wejście CBUS2 może zostać wykorzystane w przyszłości w aplikacji którą zamierzam napisać na PC, aby sprawdzić czy złącze zostało podpięte. Rezystor R7 zabezpiecza wejście przez zwarciem, gdybym omyłkowo nadał mu inną funkcję np. RXLED#.

    Rezystor R10 ma wymusić masę na linii VCCIO gdy wtyczka IDC będzie odłączona, aby komparator nie zgłupiał.

    0
  • #13 22 Sie 2014 21:12
    tmf
    Moderator Mikrokontrolery Projektowanie

    Problem w tym, że wg noty, jeśli VCCIO jest mniejsze niż 3,3V to musi ono pochodzić z VCC, z czego wynika, że VCCIO nie może być równe 0V lub być niepodłączone. Stąd też pomysł doprowadzania VCCIO z zewnątrz jest kiepski. Nie wiem też w czym komparator + garść rezystorów jest lepszy od małego tranzystora + rezystor, ale to już kwestia gustu.

    0
  • #14 23 Sie 2014 11:20
    Franek k
    Poziom 15  

    Chyba jednak faktycznie pozostanę przy zakresie 3,3V-5V. A jak takie źródło prądowe zaprojektować? Nigdy tego nie robiłem ;P A czy przypadkiem źródło prądowe nie jest dobre dla stałej wartości napięcia zasilania? tutaj będzie napięcie to wahać się od 3,3V do 5V. Może lepiej jakiś prosty stabilizator na diodzie zenera?

    0