USB SerialMultiport. Uniwersalny adapter USB

USB SerialMultiport. Uniwersalny adapter USB
Pobierz PDF Download icon

Podczas programowania i testowania urządzeń wykorzystujących komunikację szeregową często napotyka się problemy z dostępnością portów szeregowych COM we współczesnych komputerach. Zostało to częściowo rozwiązane za pomocą konwerterów z interfejsem USB. Niestety, w praktyce jeden port to zbyt mało do wygodnego podłączenia programatora, uruchamianego układu, monitorowania komunikacji itp. Opisywany układ rozwiązuje ten problem. Rekomendacje: konwerter przyda się w warsztacie każdego elektronika zajmującego się techniką cyfrową.

Podstawowe parametry:
  • 4 wirtualne porty szeregowe COM, oparte o układ FT4232 i drivery VCP.
  • 4 wbudowane uproszczone do TX/RX interfejsy RS232.
  • Sygnalizacja transmisji RXD/TXD w każdym kanale COM.
  • 4 złącza rozszerzeń z wyprowadzonym pełnym interfejsem RS232 w standardzie 3,3 V.
  • Moduł rozszerzeń „pełnego” RS232, z gniazdem DB9.
  • Moduł rozszerzeń RS422/RS485, z możliwością wyboru sprzętowego/programowego sterowania transmisją, z wyprowadzeniem sygnałów na złącze śrubowe.
  • Moduł rozszerzeń RS422/RS485 z separacją galwaniczną, z możliwością wyboru sprzętowego/programowego sterowania transmisją, z wyprowadzeniem sygnałów na złącze śrubowe.
  • Możliwość autonomicznego wykorzystania modułów rozszerzeń we własnych aplikacjach lub do realizacji konwerterów transmisji.

Układy FTDI2323, FTDI4232 mają w swojej strukturze 2 i 4 konwertery standardu transmisji USB na transmisję UART. Niezawodne, łatwo dostępne sterowniki oraz dobre wsparcie techniczne ułatwiają ich aplikację.

Przejściówki w postaci gotowych modułów są dostępne w handlu. Dlaczego więc powstał ten projekt? Praktycznie wszystkie gotowe rozwiązania oferują tylko jeden standard interfejsu komunikacji np. RS232 lub RS485, więc w warsztacie elektronika jest potrzebnych kilka przejściówek. Nie jest to problemem dla osób wykorzystujących w swoich konstrukcjach tylko jeden typ interfejsu. Jeżeli natomiast uruchamiamy układy mające różne interfejsy komunikacyjne np. programator RS232_TTLLV, komunikację RS232, odbiór danych z magistrali przemysłowej RS485, komunikację z modułami centralki alarmowej RS422, to musimy dodatkowo wyposażyć się w stosowne konwertery, co nie jest ani wygodne w użytkowaniu, ani tym bardziej tanie. Proponuję więc inne rozwiązanie interfejsu opartego o FTDI4232. Moduł może służyć także jako uniwersalny interfejs komunikacyjny do integracji małych systemów automatyki.

Schemat USB_SerialMultiport pokazano na rysunku 1. Sercem układu jest wspominany wcześniej układ U1 (FT4232HL). Opisy sposobu jego działania są dostępne w notach aplikacyjnych oraz np. w EP 7/2009 (AVT2560).

Rysunek 1. Schemat ideowy płytki głównej

Schemat jest typowy. Układ U1 jest zasilany ze złącza USB, stabilizator U2 (LM1117) dostarcza napięcia 3,3 V do zasilania wszystkich elementów układu. Pamięć EEPROM U3 (93LC46B) przechowuje nastawy konfiguracyjne układu U1, rejestr U4 (74HC595) odpowiada za sygnalizację aktywności każdego z portów COM. Dioda LD1 sygnalizuje załączenie zasilania modułu. Tutaj kończy się typowa aplikacja FT4232. Ze względów praktycznych na płytce umieszczono drivery RS232 U5 i U6 typu MAX3232. Sygnały interfejsu RS232 ograniczono tylko do RXD/TXD, gdyż takie uproszczone interfejsy są stosowane najczęściej. Sygnały RS232 są dostępne na złączach JRxx.

Sterowane bramki trójstanowe U7 (74HC125) odłączają sygnał RXD podczas współpracy z modułami rozszerzeń wykorzystującymi gniazda JA232...JD232. Do każdego z gniazd rozszerzeń są doprowadzone sygnały pełnego interfejsu RS232 oraz sygnały sterujące SSP i PE umożliwiające sterowanie transmisją podczas budowy interfejsów RS422/485, emulacji JTAG i portów ATBUS, które umożliwia FT4232, ale już z własnymi driverami programowymi D2xx. Dodatkowym sygnałem sterującym doprowadzonym do każdego złącza Jx232 jest Ex. Sygnał ten steruje pracą wspominanej wcześniej bramki trójstanowej 74HC125. Zwarcie Ex do masy (w złączu sygnały są na sąsiadujących pinach, do mostkowana używa się zworkę SIP2) uaktywnia sygnał RXDx z odpowiedniego bufora U5, U6. Wyklucza to błędne połączenia w wypadku wykorzystania modułów rozszerzeń zapobiegając ewentualnym uszkodzeniom. Umieszczona domyślnie w Jx232 zworka, „przypomina” o konieczności jej usunięcia przed wykorzystaniem modułu rozszerzeń.

Należy pamiętać, że sygnały dostępne na złączach Jx232 są w standardzie 3,3 V. Można je więc bezpośrednio wykorzystać przy programowaniu telefonów komórkowych lub innych urządzeń wymagających interfejsu o sygnałach 3,3 V.

Moduły rozszerzeń

RS232 Modem to moduł udostępniający wszystkie sygnały portu RS232 przydatne podczas współpracy z modemami lub urządzeniami wymagającymi sprzętowego sterowania/potwierdzenia transmisji. Schemat modułu RS232 Modem przedstawia rysunek 2. Do konwersji sygnałów z 3,3 V doprowadzonych do modułu przez złącze J1 na poziom zgodny z RS232 jest używany łatwo dostępny driver U1 typu MAX3242 w swojej typowej aplikacji.

Rysunek 2. Schemat modułu RS232_Modem

Sygnały RS232 wyprowadzone są na złącze J2 (IDC10). Do wykorzystania modułu ze złączem DB9 jest potrzebny kabel połączeniowy IDC10/DB9. Część sygnałów złącza J1 jest powielona na J1A. Umożliwia to łączenie płytki bazowej przy wykorzystaniu kabli IDC14 (jeden do jednego), wlutowanie modułu bezpośrednio w płytkę bazową. Sposób połączenia zależy tylko od preferencji użytkownika. Polecam stosowanie złącza męskiego IDC10 z osłoną i kabla IDC14.

Moduł RS485_422 jest uniwersalny i służy – w zależności od zamontowanych elementów – do realizacji transmisji w standardzie RS422 (sygnały RXD/TXD) lub RS485 (półdupleks). Schemat modułu przedstawia rysunek 3.

Rysunek 3. Schemat modułu RS422/485

W zależności od potrzeb na płytce montujemy:

  • dla RS422 driver U1 MAX3488,
  • dla RS485 driver MAX3483 oraz SW1 służący do konfiguracji trybu pracy odbiornika U2.

W zależności od położenia zwory w SW1 odbiornik układu U2 może być sterowany programowo (przy programowej konfiguracji FT4232) sygnałami PEN czy RI z układu FT4232 lub załączony stale przy podłączeniu U2-2 (!RE) do masy. Uaktywnia to odbiornik U2 umożliwiając podsłuch magistrali RS485 i realizację lokalnego echa dla nadajnika.

Moduł wyposażony jest w odłączane zworami D/R rezystory terminujące dla magistrali, załączenie ich zależy każdorazowo od topologii wykorzystanej magistrali i zgodnie z zasadami terminacji (np.EP4/11).

Moduł RS485_422 z separacją galwaniczną, który także jest dwufunkcyjny, realizuje – w zależności od konfiguracji – transmisję RS422 lub RS485, ale ma pełną separację galwaniczną mas. To cecha bardzo przydatna dla zwiększenia bezpieczeństwa, jeżeli uruchamia się sterowniki przemysłowe lub falowniki. Schemat modułu pokazano na rysunku 4.

Rysunek 4. Schemat modułu RS485_422 z optoizolacją

Moduł jest oparty o specjalizowany układ U1 typu ADM2587E. Realizuje on kompleksowo problem separacji galwanicznej mas. Oprócz wbudowanego drivera RS422/485 ma wbudowaną przetwornicę z separacją, nie wymaga więc żadnych trudnodostępnych elementów indukcyjnych lub zewnętrznych przetwornic z separacją. Wymienione cechy i prostota rozwiązania rekompensują całkowicie cenę układu. Sygnały wyjściowe RS422/485 są doprowadzone do złącza J2. Podobnie jak w wypadku wcześniej opisanego modułu, istnieje możliwość skonfigurowania trybu pracy. Złącze SW1 pełni identyczną funkcję jak wcześniej sterując pracą odbiornika. Złącze J3 steruje pracą nadajnika. Zwarcie sygnałów RI/DE układu U1 przy pracy w trybie RS485 przełącza U1 z trybu nadawania na odbiór sygnałem sterującym RI. Umożliwiając to realizację transmisji w trybie półdupleksu. Zwarcie sygnałów DE z V33 w trybie RS422 uaktywnia nadajnik. Przy realizacji magistrali RS485 należy pamiętać o konieczności mostkowania sygnałów AY i BZ złącza J2 oraz o zastosowaniu terminatorów dołączonych do magistrali.

Ze względu na pobór mocy modułu z separacją galwaniczną i obciążalność USB zaleca się jednoczesne stosowanie tylko jednego modułu. W wypadku chęci użycia większej liczby modułów, należy sprawdzić możliwości portu USB komputera (w przypadku nowych komputerów można pobrać nawet do 10 W) lub dołączyć zewnętrzny zasilacz 3,3 V.

Pamiętając o standardzie 3,3 V, korzystając ze złącz Jx232 można realizować własne interfejsy komunikacyjne.

Rysunek 5. Rozmieszczenie elementów na płytce głównej
Rysunek 6. Rozmieszczenie elementów na płytce RS232_Modem
Rysunek 7. Rozmieszczenie elementów na płytce RS422_485
Rysunek 8. Rozmieszczenie elementów na płytce RS422_485 z separacją galwaniczną

Montaż układu jest typowy. Wszystkie płytki są wykonane jako dwustronne, wszystkie opisy wykonano na warstwie miedzi. Schematy montażowe poszczególnych modułów przedstawiają rysunki 5…8.

Uruchomienie i konfigurowanie

W wypadku pracy pod kontrolą systemu Windows, po podłączeniu do komputera automatycznie są instalowane odpowiednie sterowniki, a moduł po poprawnej instalacji jest widoczny w Menedżerze Urządzeń jako cztery niezależne porty COM (rysunek 9). W przypadku innego system lub problemów z instalacją, drivery VCP są dostępne na stronie firmy FTDI pod adresem http://www.ftdichip.com/Drivers/VCP.htm.

Rysunek 9. Zainstalowane porty COM

W celu skonfigurowania układu FT4232, wyboru typu i sposobu sterowania modułami rozszerzeń, konieczne jest pobranie aplikacji FT_PROG lub w zależności od systemu, starszej MPROG (rysunek 10). Po uruchomieniu aplikacji z zakładek wybieramy układ FT4232H i ustawiamy wymagane opcje, rozpoczynając od zwiększenia maksymalnego prądu pobieranego z USB do 500 mA (wystarczająco dla jednego modułu z separacją i trzech dowolnych pozostałych), ustawienia driverów VCP, ewentualnego wyboru sposobu sterowania dla modułów RS485 oraz ustawienia minimalnej obciążalności portów COM.

Rysunek 10. Konfiguracja układu FT4232H

Następnie z Menu/File należy konfigurację zapisać do pliku *.ept oraz zapisać nowa zawartość EEPROM wybierając opcję Device → Program. Po zaprogramowaniu moduł należy odłączyć od USB. Po ponownym podłączeniu zmiany zastaną uwzględnione i moduł jest przygotowany do pracy. W wypadku konieczności zmiany konfiguracji zainstalowanych modułów należy ponownie za pomocą FT_PROG/MPROG ustawić wymagane opcje.

W celu szybkiego sprawdzenia poprawności pracy można zastosować program terminala:

  • Na płytce bazowej należy zewrzeć piny RXD/TXD, zestawić połączenie bez kontroli przepływu. Podczas nadawania znaki powinny wracać do terminala.
  • W module RS232 Modem, podobnie jak dla płytki bazowej, ale przy konfigurowaniu transmisji ze sprzętowym potwierdzeniem. Po zwarciu w złączu DB9 wyprowadzeń 2-3, 7-8, 1-4-6 i sprawdzeniu „LoopBack”, nadawane znaki powinny wracać do terminala.
  • W module RS422 po zwarciu sygnałów AY, BZ transmitowane znaki powinny wracać do terminala.
  • W module RS485 zworę konfiguracji odbiornika ustawić tak, aby odbiornik był aktywny (RE=GND), nadajnik sterowany programowo (DE=RI + ustawienie opcji RI w FTPROG/MPROG), w module z separacją dodatkowo zewrzeć AY i BZ. Nadawane znaki powinny wracać do terminala.

Adam Tatuś, EP

Artykuł ukazał się w
Elektronika Praktyczna
styczeń 2012
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik czerwiec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje maj 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna czerwiec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich czerwiec 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów