Përmbajtje:

Programues VUSBTiny AVR SPI: 3 hapa
Programues VUSBTiny AVR SPI: 3 hapa

Video: Programues VUSBTiny AVR SPI: 3 hapa

Video: Programues VUSBTiny AVR SPI: 3 hapa
Video: AVR SPI bus test. 2024, Nëntor
Anonim
Programues VUSBTiny AVR SPI
Programues VUSBTiny AVR SPI

pasi bëra një programues usbtiny isp dhe e përdorja atë për 6 muaj, po shikoja të bëja një tjetër për ta mbajtur me vete. më pëlqen thjeshtësia e dizajnit usbtiny isp, por do të doja ta bëja atë edhe më të vogël dhe të merrja më pak pjesë. një gjë në modelin origjinal që dua të ndryshoj është të eliminojë përdorimin e kristalit të orës. Një zgjidhje që gjeta është se drejtuesit v-usb mbështesin oshilatorin e brendshëm 16.5Mhz në pajisjet attiny25/45/85. kështu që unë filloj këtë projekt për të pasur usbtiny isp përdor v-usb për komunikimin usb. Përfitimet e menjëhershme janë se kursen hapësirë dhe kanë më pak numër përbërësish (jo më shumë kristale). protokoll për mikrokontrolluesit Atmel ATtiny. Sigurisht, do të punojë edhe në serinë ATmega. Softueri është shkruar për një AVR të oruar në 12 MHz. Me këtë frekuencë, çdo bit në autobusin USB merr 8 cikle sahati, dhe me shumë mashtrime, është e mundur të deshifroni dhe kodifikoni format e valëve USB me anë të softuerit. Shoferi USB ka nevojë për afërsisht 1250 deri në 1350 bajt hapësirë flash (duke përjashtuar vargjet opsionale të identifikimit), në varësi të versionit të konfigurimit dhe përpiluesit, dhe 46 bajt RAM (pa përfshirë hapësirën e grumbullimit). Ndërfaqja C përbëhet nga 3 deri në 5 funksione, në varësi të konfigurimit.vusb përshkrimi nga https://www.obdev.at/products/vusb/ V-USB është një zbatim vetëm softuerik i një pajisjeje USB me shpejtësi të ulët për Atmel's Mikrokontrolluesit AVR, duke bërë të mundur ndërtimin e pajisjeve USB me pothuajse çdo mikrokontrollues AVR, duke mos kërkuar ndonjë çip shtesë. Video për ndërtimin dhe përdorimin

Hapi 1: Karakteristikat dhe Pjesët

Karakteristikat dhe Pjesët
Karakteristikat dhe Pjesët

* logjika e programimit nga usbtiny isp, mbështetje e pjekur avr-dude * printim i vogël në këmbë * përbërës minimalë * fuqitë e pajisjes së synuar vini re se linjat io në mcus të synuar nuk janë të mbrojtura. mund të shtoni rezistenca 1k-2k në SCK dhe MOSI dhe të mbroheni nga lidhjet e mundshme të gabuara referenca bazuar në veprat e gjetura në v-usb nga kuadri https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/lista e pjesëve * attiny45/85 (85 është më e lehtë për tu arritur) * 3.6v diodë zener (1n747, BZX79,..shmangni llojet 1W) * Rezistencë 68ohm x 2 * rezistencë 1.5K * mini breadboard 170 tiepoints * kabllo usb (kablloja e printerit usb shop është e mirë) * Rezistenca 1k/2k për mbrojtjen e linjave io (opsionale) kërkohen mjete * një programues avr që punon (po, është një kapës22, na nevojitet një për të bërë një) * mjedisi i programimit avr i punës

Hapi 2: Paraqitja, Skema dhe Ndërtimi i Breadboard

Paraqitja e Breadboard, Skematike dhe Ndërtimi
Paraqitja e Breadboard, Skematike dhe Ndërtimi
Paraqitja e Breadboard, Skematike dhe Ndërtimi
Paraqitja e Breadboard, Skematike dhe Ndërtimi

ndërtim

* ndiqni paraqitjen e tabelës së bukës, nuk ka përbërës, 3 rezistorë, 2 dioda, 1 kapak, plus një mcu 8 pin. * merrni një kabllo printeri të dyqanit të dollarit të prerë nga fundi i printerit, do të ketë 4 tela të ekspozuar, sigurojini dhe bëjini ato një kokë mashkullore me 4 kunja, ne do ta përdorim atë për t'u lidhur me tabelën e bukës. konsultohuni me skemën për paraqitjen dhe caktimin e kunjave (J1). * kini kujdes për polaritetin e diodës.

ndërtimin dhe ndezjen e projektit

projekti u ndërtua në një kuti linux ubuntu lucid me zinxhir mjetesh avr-gcc. supozohet se tashmë keni një mjedis të tillë, ose mund të zbuloni nga interneti se si ta konfiguroni atë. kodet burimore janë gnu gpl v2 të licencuara nga trashëgimia.

kodi burimor ndjek një konventë të rekomanduar nga v-usb, ju mund të shkarkoni paketën burimore vusbtiny.tgz dhe të paqartë në një drejtori projekti. brenda drejtorisë tuaj burimore, ekziston një main.c, i cili është versioni im i programuesit të modifikuar të usbtiny. dhe një nën-drejtori usbdrv, e cila përmban shtresën v-usb. ju lutemi respektoni afatin e licencimit nga dy projektet e mësipërme kur e ndërtoni këtë. burimi im në logjikën e programuesit bazohet në versionin Dick Streefland dhe jo në versionin e ladyada (megjithëse ato janë pothuajse të njëjta).

për ata që nuk kanë një zinxhir ndërtimi, mund të përdorni binarin e mëposhtëm

klikoni për të shkarkuar vusbtiny.hex

dhe përdorni avrdude për të ndezur firmware -in

avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex

(nëse pajisja juaj është një tiny85, zëvendësoni -p t45 w/ -p t85)

burimi mund të shkarkohet këtu klikoni për të shkarkuar vusbtiny.tgz

heq paketën burimore në drejtorinë tuaj të punës

tar -zxvf vusbtiny.tgz

* bëni cd vsubtiny, për të ndryshuar në drejtorinë e punës vusbtiny * krijoni skedar për pajisjen e synuar sipas çipit që do të përdorni. dmth PROGRAMMER_MCU = t45 ose t85 * bëni një përpjekje * bashkëngjitni programuesin tuaj të preferuar ISP * modifikoni makefile dhe ndryshoni parametrat tuaj të avrdude nëse është e nevojshme. aksionet që merr një programues USBTiny. dmth AVRDUDE_PROGRAMMERID = usbtiny * firmware flash përmes make install

pas ndezjes së firmuerit, ne duhet të vendosim siç duhet siguresën, ne po përdorim rivendosjen e pin 1 si io në këtë projekt

* ora ppl përdoret siç kërkohet nga shtresa v-usb për kohën e USB * kunja e rivendosjes është e çaktivizuar pasi duhet ta përdorim si io

avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m

ky cilësim çaktivizon programimin e mëtejshëm përmes 5V SPI pasi kemi nevojë për pinin RESET (pin1) për io. do t'ju duhet qasje te një programues HVSP për të rimarrë siguresën.

Hapi 3: Përdorimi dhe Aplikimi

Përdorimi dhe Aplikimi
Përdorimi dhe Aplikimi
Përdorimi dhe Aplikimi
Përdorimi dhe Aplikimi
Përdorimi dhe Aplikimi
Përdorimi dhe Aplikimi

ndezje direkte në dërrasën e bukës

nëse përdorni vusbtiny për të ndezur pajisjet AVR me 8 kunja, thjesht mund të shtypni pajisjen tuaj të synuar në krye të pajisjes së programuesit. programuesi ishte krijuar në mënyrë që kunjat e programimit të përputhen me objektivat. megjithatë ekziston një truk, do t'ju duhet të izoloni pin 2 dhe 3 në programuesin mcu, pasi ato janë kunjat USB D+ dhe D që lidhen me kompjuterin. Unë përdor një prerje të shiritit për ta arritur këtë, mund ta shihni në fotografi. shfaqja më poshtë është një tiny13v "hipur" në tiny45, gati për të marrë firmware.

ISP ndizet përmes kërcyesit

për të programuar një qark të synuar përmes ISP (programimi në sistem), keni nevojë për një kabllo ISP. këtu nuk jam duke përdorur titujt standardë 2x3 ose 2x5 pin. në vend të kësaj, unë jam duke përdorur një bluzë 1x6, e cila është më miqësore me tryezën e bukës, ju mund të bëni kokën 2x3 ose 2x5 pin duke i shënuar ato në J2 siç tregohet në paraqitjen dhe skemat e bukës. fotografia e mëposhtme tregon një tiny2313 gati për t'u ndezur përmes ISP.

zgjidhja e problemeve

* nuk mund ta ndez firmuerin? kontrolloni programuesin tuaj origjinal, mund t'ju duhet të rregulloni kohën përmes flamurit -B në avrdude. përpiquni të lexoni çipin 1, mund të jetë një siguresë e keqe, mund të jetë që çipi juaj ka nevojë për një sinjal të orës së jashtme. mund t'ju duhet të rregulloni çipin tuaj në standardin e parë. * kontrolloni lidhjet * nëse përdorni kunja të ndryshëm io, kontrolloni kodin dhe lidhjet * mund të zëvendësoni diodat zener w/ 500mw, llojet 400mw * mund të provoni të zvogëloni vlerën R3 në 1.2K ose më pak * ka më shumë të ngjarë të hasni probleme me kohën e avrdude, provoni -B flamurin e avrdude, keni një kabllo USB më të shkurtër të gjitha ndihmon

Recommended: