Biblioteka AVRUSB. Programowy interfejs USB w AVR

Biblioteka AVRUSB. Programowy interfejs USB w AVR
Pobierz PDF Download icon
Interfejs USB już na stałe zagościł w prawie każdym urządzeniu, które ma komunikować się z komputerem PC. Do implementacji interfejsu USB we własnych urządzeniach dostępne są różne układy konwerterów pośredniczących w wymianie informacji między mikrokontrolerem a komputerem z interfejsem USB. Dostępne są również mikrokontrolery z już wbudowanym interfejsem USB. A jeśli oba z omawianych rozwiązań są z jakiegoś powodu niemożliwe do zastosowania, to również można zaimplementować USB w sposób programowy. Właśnie w tym celu powstała biblioteka AVRUSB przeznaczona dla mikrokontrolerów z rodziny AVR.
67ELEKTRONIKA PRAKTYCZNA 6/2009 NOTATNIK KONSTRUKTORA Bibliotekę AVRUSB można pobrać ze strony http://www.obdev.at/products/avrusb/ index.html. Umożliwia ona emulację inter- fejsu USB 1.1 i przeznaczona jest dla dowol- nych mikrokontrolerów AVR posiadających co najmniej 2 kB pamięci FLASH i 128 baj- tów pamięci RAM. Co ważne, do emulacji interfejsu nie są potrzebne żadne sprzętowe UART-y czy Timery. Należy tylko zapewnić taktowanie mikrokontrolera częstotliwo- ścią co najmniej 12 MHz. Mikrokontroler może również być taktowany wewnętrznym oscylatorem o częstotliwości 12,8 MHz lub 16,5 MHz. Oprogramowanie wykonano w ję- zyku C. Implementacja interfejsu USB Na rys. 1 pokazano przykład elektrycz- nej implementacji programowanego inter- fejsu USB dla popularnego mikrokontrolera ATmega8. Diody D1, D2 zmniejszają napię- cie zasilające mikrokontroler do wartości około 3,8 V. Jest to niezbędne dla poprawnej pracy emulowanego interfejsu USB. Zamiast diod można również zastosować stabilizator o napięciu wyjściowym 3,3 V. Jeśli mikro- kontroler musi być zasilany napięciem 5 V, to należy wykonać odpowiedni konwerter napięć. Proste rozwiązania często wykorzy- stują diody Zenera (o napięciu stabilizacji 3,6 V), jednak trzeba powiedzieć, że nie jest to profesjonalny sposób konwersji. Co ciekawe, programowy interfejs USB można również zaimplementować w mikrokontro- lerach AVR mających tylko 8 wyprowadzeń (np. ATtiny45), co pokazano na rys. 2. Za- implementowany programowy interfejs USB może poprawnie współpracować z różnymi systemami operacyjnymi, takimi jak Win- dows, MAC OS oraz Linux. Na stronie in- Biblioteka AVRUSB Programowy interfejs USB w AVR Interfejs USB już na stałe zagościł w prawie każdym urządzeniu, które ma komunikować się z komputerem PC. Do implementacji interfejsu USB we własnych urządzeniach dostępne są różne układy konwerterów pośredniczących w wymianie informacji między mikrokontrolerem a komputerem z interfejsem USB. Dostępne są również mikrokontrolery z już wbudowanym interfejsem USB. A jeśli oba z omawianych rozwiązań są z jakiegoś powodu niemożliwe do zastosowania, to również można zaimplementować USB w sposób programowy. Właśnie w tym celu powstała biblioteka AVRUSB przeznaczona dla mikrokontrolerów z rodziny AVR. Podsumowanie Dużą zaletą implementacji programowe- go interfejsu USB jest jego niski koszt imple- mentacji przy dość dużych możliwościach wykorzystania. Dzięki bibliotece AVRUSB można interfejs USB zaimplementować na- wet już w działających urządzeniach, roz- budowując ich możliwości komunikacyjne. Programowy interfejs USB można wyko- rzystać w wielu urządzeniach do akwizycji danych, w programatorach czy innych urzą- dzeniach, które muszą się komunikować z komputerem. Co ważne, biblioteka dostęp- na jest na licencji GPL i można ją dostoso- wać do własnych potrzeb. Moim zdaniem, przy implementacji interfejsu USB we wła- snym urządzeniu warto rozważyć to tanie i efektywne rozwiązanie. Marcin Wiązania, EP marcin.wiazania@ep.com.pl ternetowej producenta biblioteki AVRUSB dostępne są liczne przykłady projektów z zaimplementowanym programowym in- terfejsem USB. Również w spakowanym ar- chiwum biblioteki można znaleźć kilka cie- kawych przykładów jej użycia, a wśród nich wymienić można przykład nadawania oraz odbierania danych przez USB, urządzenia HID (np. klawiatury czy myszki). Rys. 2. Programowy interfejs USB w ATTiny45 Rys. 1. Schemat połączeń programowego interfejsu USB
Artykuł ukazał się w
Czerwiec 2009
DO POBRANIA
Pobierz PDF Download icon