Zastosowanie USB w urządzeniach – produkty firmy FTDI w ofercie TME

Użytkownicy sprzętu elektronicznego spotykają się obecnie z kilkoma standardami przesyłania danych. Są one często przypisane do określonej grupy urządzeń. Pewnym wyjątkiem jest interfejs USB, który dobrze sprawdza się w wielu zróżnicowanych aplikacjach. Zastosowany w nim protokół nie jest jednak łatwy do opanowania, stąd bardzo szybko po określeniu specyfikacji USB pojawiły się specjalizowane układy bardzo ułatwiające życie konstruktorom.

Przez wiele lat w dużej części urządzeń wykorzystujących szeregową transmisję danych niepodzielnie królował interfejs RS232C, chociaż gwoli obiektywizmu należy dodać, że nie był jedyny i miał swoich konkurentów. Mimo rosnących wymagań użytkowników, wydawało się, że jego znaczenie pozostanie jeszcze przez jakiś czas niezagrożone. Pojawiła się jednak rewolucyjna specyfikacja interfejsu szeregowego USB (Universal Serial Bus). Nowy standard umożliwiał uzyskanie takiej funkcjonalności urządzeń, jaka nie byłaby możliwa przy dalszym stosowaniu starego RS232. Pozwalał on łatwo zastąpić kilka wcześniej stosowanych interfejsów jednym, w dodatku szybszym od poprzedników. Ponadto brak adresacji urządzeń w standardzie RS232 był jedną z przyczyn utrudniających jednoczesną obsługę wielu urządzeń. Zachwytowi konstruktorów towarzyszyło jednak równoczesne zakłopotanie – jak korzystać z nowego standardu. Dokładne poznanie nowej specyfikacji stanowiło bardzo ciężką, a wręcz niemożliwą do pokonania barierę. Szybko to zauważono, a wtedy brytyjska firma FTDI (Future Technology Devices International Limited) jako jedna z pierwszych na świecie wystąpiła z ofertą, można powiedzieć „nie do odrzucenia”. Zaproponowane przez nią rozwiązania sprzętowe były idealne do dokonywania migracji ze standardu RS232 na USB. Dzięki układom oferowanym przez FTDI konstruktor może bez najmniejszej znajomości specyfikacji USB obsługiwać urządzenia korzystające z tego interfejsu, pełnią one bowiem rolę mostków pomiędzy portami obu standardów. W jednym z trybów pracy port USB jest z punktu widzenia konstruktora obsługiwany tak, jak dobrze znany RS232. Układy firmy FTDI realizują wszystkie operacje niezbędne do prawidłowej pracy interfejsu USB, a więc: enumerację urządzeń (w tym rozpoznanie ich klasy, adresację, instalację sterownika), buforowanie i kodowanie danych, obsługę kilku protokołów komunikacyjnych, a także odpowiednie kształtowanie sygnałów elektrycznych, z pominięciem jednak translacji poziomów.

Oferta FTDI

Oferta firmy FTDI obejmuje trzy rodzaje wyrobów. Są to: układy scalone, kable i moduły komunikacyjne.
Układy scalone są przeznaczone do wygodnej implementacji interfejsu USB w aplikacjach użytkowników. Wśród nich rozróżnia się rodzinę FT składającą się z konwerterów USB Slave, a także sterowniki USB Host/Slave (rodzina Vinculum). Układy FT mogą pracować jako konwertery USB <–> UART (FT232B, FT232R) lub USB <-> FIFO (FT245B, FT245). Obsługują standard USB 2.0 Full Speed (12 Mb/s). Są również układy pracujące jako konwertery USB <-> UART/FIFO (FT2232D, FT4232H i FT2232H). Dwa ostatnie obsługują standard Hi-speed USB 2.0 (480 Mb/s). Konwertery wyposażono w wewnętrzne bufory o pojemności od 128 bajtów do 4 kB (w zależności od typu układu) zarówno dla nadajnika, jak i odbiornika, dla każdego dostępnego kanału. Liczba kanałów jest równa od 1 do 4 w zależności od typu układu. Prędkość transmisji po stronie UART-u jest ustawiana w zakresie od 300 b/s do 1 Mb/s (lub standardowo dla systemu Windows 921,6 kb/s). Układy FT232R i FT245R mają wewnętrzną pamięć konfiguracyjną EEPROM, pozostałe wymagają stosowania pamięci zewnętrznej. Większość układów rodziny FT może pracować w zakresie temperatur od –40 do +85°C. Są one dostępne w obudowach LQFP, SSOP i QFN o liczbie wyprowadzeń zależnej od typu (od 32 do 64). Należy również zaznaczyć, że układy FT2232D, FT4232H i FT2232H mogą być skonfigurowane do pracy z synchronicznymi protokołami SPI, I2C i JTAG.
Rodzina Vinculum składa się z układów VNC1L i VNC2 (Vinculum II). Oba układy dysponują dwoma portami USB i jednym UART-em. Układ VNC1L jest rozszerzonym sterownikiem hosta USB, VNC2 natomiast to kompletny host USB 2.0. Zaimplementowano w nim wewnętrzny procesor z 16-bitowym rdzeniem, który może wykonywać aplikację użytkownika. Do tego celu dostępna jest część pamięci Flash i RAM. Producent zapewnia odpowiednie wsparcie od strony środowiska programistycznego. Wykorzystując układy Vinculum w stosunkowo prosty sposób można obsługiwać urządzenia USB typu Mass Storage, a więc pamięci Flash typu pen drive, dyski USB itp. Komunikacja pomiędzy układami Vinculum oraz zewnętrznym mikrokontrolerem jest prowadzona przez port SPI lub UART. Układ 2.
generacji VNC2 jest wstecznie kompatybilny z jego poprzednikiem VNC1L.
Kable transmisyjne – są to wyroby firmy FTDI wykorzystujące m.in. opisane wyżej własne układy scalone. Stanowią doskonałe rozwiązanie wszędzie tam, gdzie zachodzi konieczność przesyłania danych przez USB pomiędzy urządzeniami wyposażonymi w różne interfejsy szeregowe. Ich największą zaletą jest łatwość użycia, gdyż nie wymagają jakichkolwiek adaptacji urządzeń. Odpowiednią konwersję formatów (USB na RS232, RS422, RS485, sygnały TTL) dokonują dzięki wbudowanej elektronice. W zależności od potrzeb można dobrać kable z różnymi rodzajami zakończeń, od wtyków powszechnie stosowanych w połączeniach USB, po rozmaite łączówki, a nawet „gołe” przewody. Zawarte w kablach interfejsy pracują w standardach napięciowych 3,3 V oraz 5 V. Od strony UART-u obsługiwane są linie Tx, Rx, RTS i CTS. W kablu umieszczono również przewody zasilające VCC i GND.

Rys. 1. Schemat ideowy kabla US232R

Rys. 1. Schemat ideowy kabla US232R

Jako przykład, na rys. 1 przedstawiono schemat konwertera zastosowanego w kablu USB RS232, zaś na fot. 2. jego realizację praktyczną.

Fot. 2. Wygląd zewnętrzny kabla US232R

Fot. 2. Wygląd zewnętrzny kabla US232R

O autorze