Konwerter USB-UART z ekstenderem

Konwerter USB-UART z ekstenderem
Pobierz PDF Download icon

Konwerter pozwala podłączyć system mikroprocesorowy z interfejsem UART z komputerem wyposażonym w port USB. Umożliwia komunikację, przesył danych, programowanie procesora bezpośrednio w systemie itp. Konwerter może być stosowany z układami zasilanymi różnymi napięciami, czyli o różnych poziomach napięcia dla logicznej jedynki.

Podstawowe parametry:
  • zamontowane dwa typy gniazd USB-B i mikro USB,
  • wybieranie zworkami poziomu dopasowania sygnałów: 5 V, 3,3 V lub dowolnego w zakresie 2,7…5,5 V,
  • możliwość zasilania systemu procesorowego z konwertera, napięciem 5 V lub 3,3 V,
  • możliwość podłączania przewodów sygnałowych o długości nawet kilku metrów,
  • maksymalna szybkość transmisji wynosi 512000 bodów,
  • zasilanie konwertera z portu USB.

Budowa i działanie

Konwerter podłączony do dowolnego portu USB komputera, zostanie rozpoznany jako dodatkowy (wirtualny) port szeregowy. Umożliwia to sterownik konwertera zainstalowany w systemie operacyjnym komputera. Część sprzętowa przekształca dane przesyłane liniami UART RxD i TxD na transmisję USB. Schemat ideowy konwertera pokazany został na rysunku 1.

Rysunek 1. Schemat ideowy konwertera USB-UART

Jako mostek USB wykorzystany został powszechnie stosowany układ FT230XS. Transmisja USB podawana jest na wejście układu przez jedno z dwu równolegle połączonych gniazd X1, X2. Uwaga! W tym samym czasie do portu USB komputera może być podłączone tylko jedno z gniazd. Próba jednoczesnego użycia obydwu gniazd konwertera, doprowadzi do zakłócenia transmisji a nawet do elektrycznego uszkodzenia portu komputera. Układ IC1 zasilany jest napięciem 5 V pobieranym z portu USB komputera. Wewnętrzny stabilizator wytwarza napięcie 3,3 V służące do zasilania jego buforów, zarówno sygnałowych TxD, RxD jak i sygnalizacyjnych do których podłączone są diody LED. Świecenie diod informuje o przepływie danych odbieranych i wysyłanych poprzez port USB.

Bufory sygnałowe TxD i RxD podłączone są do wyprowadzeń konwertera poziomu IC2. Jego zadaniem jest elektryczne dopasowanie poziomu sygnałów UART doprowadzanych z dołączanego poprzez złącze SV1 systemu procesorowego. W roli konwertera „występuje” układ PCA9507. To trochę nietypowe rozwiązanie, ponieważ układ scalony został pierwotnie zaprojektowany do pracy z magistralami I2C jako ich przedłużacz (ekstender). Posiada wewnętrzne układy regeneracji zboczy sygnałów oraz możliwość konwersji poziomów pomiędzy wyprowadzeniami strony A i B. Strona B konwertera IC2 zasilana jest napięciem 3,3 V podawanym na wyprowadzenie VCCB. Jest to napięcie wykorzystywane do zasilania buforów sygnałowych mostka IC1. Zasilanie strony A konwertera IC2 podawane jest na wyprowadzenie VCCA. Jego poziom powinien być dopasowany do poziomu sygnałów UART. Wyboru dokonuje się ręcznie ustawiając jedną ze zwór JP1, JP2, JP3. Ta ostatnia przyłącza jako napięcie odniesienia V+, napięcie pobierane z podłączanego układu procesorowego. Wartość napięcia V+ powinna mieścić się w przedziale 2,7...5,5 V.

Uruchomienie i eksploatacja

Schemat płytki PCB wraz z rozmieszczeniem elementów pokazuje rysunek 2. Montaż wykonujemy zgodnie z ogólnymi zasadami wzorując się na fotografii 3. Gdy konwerter będzie gotowy, podłączamy go do komputera kablem USB, tylko poprzez jedno z gniazd: USB-B lub mikro USB. System komputera powinien rozpoznać dodatkowy port szeregowy. Jeśli tak się nie stanie oznacza to, że nie jest zainstalowany sterownik obsługujący układ FT230XS. Zazwyczaj system Windows samodzielnie instaluje potrzebny sterownik korzystając z dostępu do sieci internet. W przypadku problemów trzeba ze strony firmy FTDI http://bit.ly/2kqd3zb pobrać odpowiedni plik i w standardowy sposób zainstalować sterownik w systemie.

Rysunek 2. Schemat płytki PCB wraz z rozmieszczeniem elementów

Sygnały UART systemu z mikroprocesorem podłączamy poprzez złącze SV1. Linię TxD UART dołączanego systemu należy podłączyć z wyprowadzeniem SV1-2 (opisanym na rysunku 1 jako RX-In, dane wejściowe). Linię RxD UART dołączanego systemu łączymy z SV1-3 (opisanym na rysunku 1 jako TX-Out dane wyjściowe). Masę dołączanego systemu łączymy z masą konwertera poprzez wyprowadzenie SV1-1 lub SV1-4.

W przypadku systemów zasilanych napięciem 5 V (większość popularnych mikrokontrolerów ATMEL) poziom sygnałów logicznych interfejsów UART będzie równy 0 V oraz 5 V. W tym przypadku trzeba na interfejsie zewrzeć zworę JP2. Gdy system zasilany jest napięciem 3,3 V (np. mikrokontroler STM32) poziom sygnałów logicznych interfejsów UART będzie wynosił 0 V oraz 3,3 V. W tym przypadku trzeba na interfejsie zewrzeć zworę JP1. W przypadku systemów zasilanych innym napięciem np. 2,8 V należy zewrzeć zworę JP3 a do wyprowadzenia SV1-5 (V+) podłączyć napięcie zasilania systemu.

Fotografia 3. Zmontowany układ

Testy

Po zmontowaniu prototypu przeprowadziłem testy możliwości konwertera USB-UART. Do testów użyłem płytkę Nucleo-F446 z oprogramowaniem pracującym jak echo, odsyłającym UART-em odebraną transmisję. Wyprowadzenie konwertera SV1-2 (RX-In) połączyłem z portem płytki Nucleo PA9 (UART1 TX), wyprowadzenie SV1-3 (TX-Out) z PA10 (UART1 RX), SV1-1 (GND) z jednym z wyprowadzeń masy na płytce Nucleo.

Zależnie od testu zmieniałem:

  • szybkość transmisji 256000 lub 512000 bodów,
  • poziom sygnałów 5 V lub 3,3 V,
  • długość przewodów pomiędzy płytką konwertera a płytką Nucleo: 30 cm lub 5 m.

Rezultaty testów pozwoliły stwierdzić, że przy szybkościach transmisji równych lub mniejszych niż 256000 bodów, konwerter pracuje bez problemu. Dla szybkości 512000 bodów i podłączeniach pomiędzy konwerterem a płytką Nucleo o długości 30 cm także wszystko działa prawidłowo. Konwerter zawodzi przy kombinacji dużej szybkości transmisji, długich przewodów i przy poziomach logicznych 0...5 V.

Ryszard Szymaniak, EP

Wykaz elementów:
Rezystory:
  • R1, R2: 22 Ω SMD0805
  • R3, R4: 220 Ω SMD0805
  • R5, R6, R7, R8: 10 kΩ SMD0805
Kondensatory:
  • C1, C2: 47 pF SMD0805
  • C3, C4: 100 nF SMD0805
  • C5, C6, C7: 10 μF SMD0805
Półprzewodniki:
  • IC1: FT230XS SSOP-16
  • IC2: PCA9507 TSSOP8
  • IC3: LM1117 3V3 SOT-223-4
  • LED1, LED2: dioda LED SMD0805
Inne:
  • X1: gniazdo micro USB
  • X2: gniazdo USB-B
  • SV1: 5×1 goldpiny proste
  • JP1, JP2, JP3: 2×1 goldpiny proste
Artykuł ukazał się w
Elektronika Praktyczna
październik 2019
DO POBRANIA
Pobierz PDF Download icon
KIT do tego projektu
Opóźniacz dołączenia głośników zasilany 230V, AVT5717
Opóźniacz dołączenia głośników zasilany 230V, AVT5717
Urządzenie jest nieskomplikowanym, pożytecznym układem przeznaczonym do wzmacniaczy mocy audio. Zapobiega nieprzyjemnym dla ucha stukom w...
Zobacz w sklepie
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik wrzesień 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio wrzesień 2020

Świat Radio

Magazyn użytkowników eteru

Automatyka Podzespoły Aplikacje wrzesień 2020

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna wrzesień 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich sierpień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów