Svetelektro.com

Svetelektro.com

Meno:
Heslo:

Mikrokontroléry rady AVR - Virtual USB

Kategória: Mikroprocesory | 10.01.2013 | Autor: luboss17 

Autor článku popisuje možnosť prepojiť MCU AVR s počítačom priamo cez USB bez potreby prídavného hardware.
Vo väčšine našich aplikácií potrebujeme prenášať aj dáta medzi MCU a PC. V dnešnej dobe keď už sériové porty dá sa povedať „vymizli“ a nahrádzajú ich univerzálne sériové zbernice USB sme pri MCU bez HW implementácie USB nútení buď použiť prevodníky UART->USB alebo USB softvérovo implementovať do MCU. Použiť prevodnik je jednoduchšia záležitosť a takisto komunikácia cez UART je jednoduchšia no napríklad taký prevodník FT232RL stojí bežne 7 € a to je už na rozmyslenie. 
 
Nedávno ma napadlo vyskúšať softvérovu implementáciu USB. Je lacnejšia (dve rezistory, dve diody a je to :)), ale zas na druhej strane sa treba trocha popasovať so softvérom. 
 
Vybral som si V-USB a chcel by som ju predstaviť. Je to softvérová implementácia low-speed USB zariadení pre mikrokontroléry s jadrom AVR od firmy ATMEL. Je možné použiť takmer akýkoľvek AVR mikrokontrolér bez použitia ďalších prídavných čipov.
Hlavná stránka V-USB >> http://www.obdev.at/products/vusb/index.html
 
Na jeho webe sa nachádza mnoho príkladov využitia. 
 

Hardvér 

 
Ako testovací hardvér som si vytvoril dosku s MCU Attiny2313. Jej schému môžete vidieť na obrázku dole a ako vidno je potrebné minimum súčiastok :) Prikladám aj plošný spoj (projekt) v programe Eagle. 
 
Diódy D1 a D2 slúžia na zrazenie napájacieho napätia na hodnotu blízku 3,3 V. Xtal by mal byť čo najpresnejší a takisto netreba zabudnúť ani na kondíky 22p. Xtal je možné použiť z týchto hodnôt: 12 MHz, 12.8 MHz, 15 MHz, 16 MHz, 16.5 MHz, 18 MHz and 20 MHz. 
 
Detaily o realizácii HW sa môžete dočítať na wiki stránkach vusb.wikidot.com/hardware
 
Obr. 1 Zapojenie s ATtiny2313
 
Obr. 2 Plošný spoj
 
Obr. 3 Foto z mojej realizácie HW
 
 

Softvér 

 
Čo sa týka softvérovej časti. Na internete som našiel výborný tutorial, ktorý sa skladá zo 4 častí a vysvetľuje sa v ňom všetko pre realizáciu softvéru pre základnú komunikáciu. Seriál nájdete na stránkach: 
 
http://codeandlife.com/2012/01/22/avr-attiny-usb-tutorial-part-1/ 
http://codeandlife.com/2012/01/25/avr-attiny-usb-tutorial-part-2/ 
http://codeandlife.com/2012/01/29/avr-attiny-usb-tutorial-part-3/ 
http://codeandlife.com/2012/02/04/avr-attiny-usb-tutorial-part-4/ 
 
Celý tutorial mám prejdený a výsledkom sú dva projekty. Jedným je softvér pre MCU attiny2313 a druhým je softvér na strane PC tvorený s použitím knižníc LibUsb. Knižnice pre V-USB sú na stiahnutie tu http://www.obdev.at/products/vusb/download.html. 
 
Prikladám moje projekty v Code::Blocks ak by bol záujem (tvorené v OS Linux Debian): 
download - MC FW
download - PC SW 
 

Záver 

Toto riešenie prenosu dát medzi PC a MCU AVR sa mi páči v jednoduchosti realizácie HW a takisto v jeho cene. Nevýhodou je, že je narozdiel od UART zložitejší na programovanie. Preto záujemcom o V-USB želám veľa trpezlivosti a úspechov pri študovaní tutoriálov a skúšaní :) 
 


13.07.2018

STM32,  Eclipse a GCC

 4438   7  Hodnotenie: 5Hodnotenie: 5Hodnotenie: 5Hodnotenie: 5Hodnotenie: 5

19.10.2011

Kalibrácia v touch-screen systémoch

 8674   8  Hodnotenie: 3Hodnotenie: 3Hodnotenie: 3Hodnotenie: 3Hodnotenie: 3

14.09.2012

Programujeme AVR v jazyku C - 9. časť

 11597   3  Hodnotenie: 4.8571428571429Hodnotenie: 4.8571428571429Hodnotenie: 4.8571428571429Hodnotenie: 4.8571428571429Hodnotenie: 4.8571428571429

Priemerné hodnotenie: 4.8
Hlasov: 5

Vynikajúci

Zvoľte počet hviezdičiek:
Vynikajúci
Veľmi dobrý
Dobrý
Priemerný
Zlý



Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.

Re: Mikrokontroléry rady AVR - Virtual USB (Hodnotenie: 1)
Od: smotek7 - 10.01.2013
(O užívateľovi | Poslať súkromú správu)
Testoval si aj nejaky bootloader cez V-USB? napr. http://www.fischl.de/avrusbboot/ Tie posledne dva linky nefunguju.
Re: Mikrokontroléry rady AVR - Virtual USB (Hodnotenie: 1)
Od: luboss17 - 10.01.2013
(O užívateľovi | Poslať súkromú správu) http://lubosweb.php5.sk
 
ahoj, nie neskusal som este.. nebola prilezitost (ale planujem).. zatial iba prenos cez usb_control_msg()

Re: Mikrokontroléry rady AVR - Virtual USB (Hodnotenie: 1)
Od: jaromir - 11.01.2013
(O užívateľovi | Poslať súkromú správu) http://jaromir.xf.cz/
Ja viem, ze VUSB je oblubeny projekt, lebo doplna USB rozhranie do AVR MCU, ktore maju USB rozhranie iba v SMD verziach svojich MCU a navyse s nimi prisli pomerne neskoro. Ta hardwarova implementacia je ale katastrofalna a ja osobne by som do svojho PC nikdy nepripojil nic tak hrozne. Nerespektuje to dovolene napatia na USB portoch; dve diody na ziskanie nizsieho napatia - ech, to je po seriovom odpore druhy najhorsi sposob ako to urobit. Rozumiem, ze prvy argument, ktory sa tu vyskytne je "mne to funguje a nemam s tym problem, tak si kritiku strc", ale radsej by som bol, ak by sa veci robili poriadne a korektne. Aj neuzemnena zasuvka a spotrebice v nej pripojene mozu dobre fungovat, ale asi by som to tak umyselne nerobil, ak su ine moznosti. A tie v pripade USB rozhrania skutocne su - vsetci vyrobcovia, ktori nezpaspali dobu, maju USB MCU uz dlhe roky, je v takmer kazdom ARM-e, Microchip ma USB-cko vo vsetkych modelovych radach, od low cost za 1E az po high-end 32bit MCU za 8E. Toz tolko z mojej strany :)

Re: Mikrokontroléry rady AVR - Virtual USB (Hodnotenie: 1)
Od: vama - 11.01.2013
(O užívateľovi | Poslať súkromú správu)
Pre zaujimavost, nieco podobne pre PIC16F628 http://pandatron.cz/?3265&implementace_usb_portu_na_pic16f628

Re: Mikrokontroléry rady AVR - Virtual USB Atmega (Hodnotenie: 1)
Od: hanysek16 - 13.01.2013
(O užívateľovi | Poslať súkromú správu)
Ahoj lidi tohle téma dlouhou dobu sleduji, s mikroprocesory řady AVR začínám a rád bych tohle řešení použit i na nějakou ATMegu, ale nevím si s tímhle rady... Nemá někdo funkční řešení v češtině nebo nějaký dobrý návod? Jinak dobrý článek.
Re: Mikrokontroléry rady AVR - Virtual USB Atmega (Hodnotenie: 1)
Od: Peťus - 13.01.2013
(O užívateľovi | Poslať súkromú správu) http://www.chiptron.cz
 
pokud začínáš, tak se na tohle vykašli a pořiď si převodník USB-UART - třeba FT232 nebo PLC2303(nebo jak se to jmenuje).... dneska to stojí pár korun
Re: Mikrokontroléry rady AVR - Virtual USB Atmega (Hodnotenie: 1)
Od: Peťus - 13.01.2013
(O užívateľovi | Poslať súkromú správu) http://www.chiptron.cz
 
hledat něco v češtině, nebo dokonce tutoriál.... hodně štěstí, moc takových opravdu není... raději se nauč anglicky

Re: Mikrokontroléry rady AVR - Virtual USB (Hodnotenie: 1)
Od: Felix - 07.02.2014
(O užívateľovi | Poslať súkromú správu)
Najvacsia bykovina na V-USB je ze musis pollovat, a kedze to nevie multitasking tak to nejako budes muset zmestit do 10MS
Autor stránky je Ondrej Závodský(zawin), o graficky design sa stará Ľuboš Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
Čas potrebný k spracovaniu stránky 0.03 sekúnd