2012-10-26

Duomenų perdavimas Atmega mikrokontroleriui per USB


Visur kompiuteriuose vyraujant USB (angl. universal serial bus) jungčiai, kitos, paprastesnės jungtys kaip LPT ir COM tampa tiesiogine to žodžio prasme – atgyvena. Jau neberasime šių jungčių ir nešiojamuose kompiuteriuose, nebent iškrapštysime kokį seną, kuriame dar buvo. Na, kad stacionariose (desktop) darbo vietose vis dar jos dedamos - ne naujiena, bet galbūt jau nebeilgai? Bet kokiu atveju, progresas vyksta ir toliau jos galų gale liks tik reliktu - istorija. Problema su USB ta, jog sudėtingiau tiesiogiai prijungti išorinę įrangą kaip Atmega ar PIC mikrovaldiklius. Programuoti mikrovaldiklius per COM jau bandėme. Taip pat apžvelgėme, kaip tai būtų galima padaryti naudojant USBasp, tačiau būtų gerai mokėti perduoti duomenis per USB bei valdyti kompiuteriu tą prijungtą įrangą. Derinti mikrovaldiklių programas nėra pats lengviausias užsiėmimas, ypač jei programa blogai veikia, papildoma išvedama informacija kompiuterio ekrane visada praverčia aiškinantis galimus sutrikimus. Mokytis 500 puslapių USB specifikacijos nesinori. Kurti specializuotą techninę įrangą galima, bet ekonomiškumo ir laiko požiūriu – neverta. Galbūt yra kokių altvernatyvų? Šiame straipsnyje kaip tik ir bandysime tai išsiaiškinti bei išmokti, kaip perduoti ir gauti duomenis šią populiariąją USB sąsają į/iš Atmega mikrovaldiklio panaudojant minimalų skaičių diskretinių elektronikos komponentų.