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
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 październik 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 wrzesień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów