Sisukord:

VUSBTiny AVR SPI programmeerija: 3 sammu
VUSBTiny AVR SPI programmeerija: 3 sammu

Video: VUSBTiny AVR SPI programmeerija: 3 sammu

Video: VUSBTiny AVR SPI programmeerija: 3 sammu
Video: VUSBTINY AVR Programmer 2024, November
Anonim
VUSBTiny AVR SPI programmeerija
VUSBTiny AVR SPI programmeerija

pärast usbtiny isp -programmeerija valmistamist ja selle 6 -kuulist kasutamist otsisin veel ühe kaasaskandmiseks. mulle meeldib usbtiny isp disaini lihtsus, kuid tahaksin seda veelgi väiksemaks muuta ja vähem osi võtta. üks asi esialgses disainis, mida ma tahan muuta, on välistada kellakristalli kasutamine. üks lahendus, mille leidsin, on see, et v-usb draiverid toetavad attiny25/45/85 seadmete 16,5 MHz sisemist ostsillaatorit. nii et alustan selle projektiga, et usbtiny isp kasutab v-usb-d USB-side jaoks. vahetu kasu on see, et see säästab ruumi ja sisaldab vähem komponente (pole enam kristalle). usbtiny kirjeldus saidilt https://www.xs4all.nl/~dicks/avr/usbtiny/ Atmel ATtiny mikrokontrollerite protokoll. Loomulikult töötab see ka ATmega seerias. Tarkvara on kirjutatud 12 MHz sagedusega AVR -i jaoks. Sellel sagedusel võtab iga USB -siinil olev bit 8 kellatsüklit ja palju trikitades on võimalik tarkvara abil USB -lainekuju dekodeerida ja kodeerida. USB -draiver vajab sõltuvalt konfiguratsioonist ja kompilaatori versioonist umbes 1250–1350 baiti välkmälu (välja arvatud valikulised identifitseerimisstringid) ja 46 baiti RAM -i (v.a virnaruum). C-liides koosneb kolmest kuni viiest funktsioonist, sõltuvalt konfiguratsioonist. Vusb kirjeldus saidilt https://www.obdev.at/products/vusb/ AVR -i mikrokontrollerid, mis võimaldavad ehitada USB -riistvara peaaegu iga AVR -i mikrokontrolleriga, ilma et oleks vaja täiendavat kiipi. Video ehituse ja kasutamise kohta

Samm: funktsioonid ja osad

Omadused ja osad
Omadused ja osad

* programmeerimisloogika usbtiny ispilt, küps avr-dude tugi * väike jalajälg * minimaalsed komponendid * võimsused sihtmärgiseade pange tähele, et io liinid sihtmärgini pole kaitstud. saate lisada 1k-2k takistid SCK-le ja MOSI-le ning kaitsta võimalike valede ühenduste eest, tuginedes töödele, mis on leitud v-usb-st raamistikust https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/varuosade loend * attiny45/85 (85 on lihtsam kätte saada) * 3,6v zeneri dioodid (1n747, BZX79,..vältida 1W tüüpe) * 68ohm takisti x 2 * 1,5K takisti * mini leivalaud 170 sidumispunkti * USB -kaabel (dollaripoe USB -printeri kaabel sobib) * 1k/2k takistid io -liinide kaitseks (valikuline) vajalikud tööriistad * töötav avr -programmeerija (jah, see on saak22, meil on vaja seda teha) * töötav avr programmeerimiskeskkond

2. samm: leivaplaadi paigutus, skeem ja ehitus

Leivalaua paigutus, skeem ja ehitus
Leivalaua paigutus, skeem ja ehitus
Leivalaua paigutus, skeem ja ehitus
Leivalaua paigutus, skeem ja ehitus

Ehitus

* järgige leivaplaadi paigutust, seal ei ole komponente, 3 takistit, 2 dioodi, 1 kork, pluss 8 -pin mcu. * Laske dollaripoe USB -printeri kaabel printeri otsast ära lõigata, seal on 4 avatud traati, kinnitage ja tehke neist 4 -kontaktiline isane päis, me kasutame seda leivaplaadiga ühendamiseks. vaadake skeemi paigutuse ja tihvtide määramise kohta (J1). * olge dioodide polaarsusega.

projekti ehitamine ja vilkumine

projekt ehitati linuxi ubuntu selgesse kasti koos tööriistaketiga avr-gcc. eeldatakse, et teil on selline keskkond juba olemas, või saate Internetist teada, kuidas seda seadistada. lähtekoodid on pärandist litsentsitud gnu gpl v2.

lähtekood järgib v-usb soovitatud kokkulepet, saate alla laadida lähtepaketi vusbtiny.tgz ja ilma tärniga projekti kataloogi. teie lähtekataloogis on main.c, mis on minu muudetud usbtiny programmeerija versioon. ja alamkataloog usbdrv, mis sisaldab kihti v-usb. selle ehitamisel järgige palun ülaltoodud kahe projekti litsentsitingimusi. minu programmeerimisloogika allikas põhineb Dick Streeflandi versioonil ja mitte ladyada versioonil (kuigi need on peaaegu samad).

neile, kellel pole liiga ahela ehitust, saate kasutada järgmist binaarfaili

klõpsake vusbtiny.hex allalaadimiseks

ja kasutage püsivara välkimiseks avrdude

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

(kui teie seade on pisike85, asendage -p t45 w/ -p t85)

allika saab alla laadida siit, klõpsake vusbtiny.tgz allalaadimiseks

tühistage lähtepakett oma töökataloogi

tar -zxvf vusbtiny.tgz

* tee cd vsubtiny, et muuta see vusbtiny töökataloogiks * ajust makefile sihtseadmele vastavalt kasutatavale kiibile. st PROGRAMMER_MCU = t45 või t85 * tehke make * lisage oma lemmik ISP programmeerija * muutke makefile ja vajadusel muutke oma avrdude parameetreid. aktsia eeldab USBTiny programmeerijat. st AVRDUDE_PROGRAMMERID = usbtiny * välgu püsivara make install kaudu

pärast püsivara vilkumist peame kaitsme õigesti seadistama, selles projektis kasutame tihvti 1 lähtestamist kui io

* ppl-kella kasutatakse vastavalt v-usb-kihi nõudmisele USB-ajastuse jaoks * lähtestusnupp on keelatud, kuna peame seda kasutama io-na

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

see säte keelab edasise programmeerimise 5V SPI kaudu, kuna me vajame io jaoks RESET -tihvti (pin1). kaitsme taastamiseks vajate juurdepääsu HVSP programmeerijale.

3. samm: kasutamine ja rakendus

Kasutamine ja rakendus
Kasutamine ja rakendus
Kasutamine ja rakendus
Kasutamine ja rakendus
Kasutamine ja rakendus
Kasutamine ja rakendus

otsene vilkumine leivaplaadil

kui kasutate vusbtiny -d 8 -pin AVR -seadmete välgutamiseks, võite lihtsalt vajutada oma sihtimisseadet programmeerimisseadme peal. programmeerija oli konstrueeritud nii, et programmeerimisnõelad vastavad sihtmärkidele. Siiski on üks trikk, peate isoleerima programmeerija mcu tihvtid 2 ja 3, kuna need on arvutiga ühendavad USB D+ ja D-pistikud. ma kasutan selle saavutamiseks šotilinti, näete seda fotodelt. Näita allpool on tiny13v "ratsutamine" tiny45 peal, valmis püsivara vastuvõtmiseks.

ISP vilgub hüppaja kaudu

sihtringi programmeerimiseks ISP kaudu (süsteemisisene programmeerimine) vajate ISP-kaablit. siin ma ei kasuta standardseid 2x3 või 2x5 kontaktiga päiseid. selle asemel kasutan 1x6 hüppajat, mis on leivaplaadi jaoks sõbralikum, saate teha 2x3 või 2x5 nööpnõelaga päise, kaardistades need J2 -ks, nagu on näidatud leivalaua paigutuses ja skeemidel. järgmisel fotol on väike 2313, mis on valmis ISP kaudu vilkuma.

tõrkeotsing

* Kas püsivara ei saa vilkuda? kontrollige oma algset programmeerijat, võib -olla tuleb avrdudes aja muutmist -B lipu abil kohandada. proovige 1. kiipi lugeda, võib olla halb kaitse, võib -olla vajab teie kiip välist kella signaali. peate võib -olla parandama oma kiibi tagasi vaikimisi 1. * kontrollige ühendusi * kui kasutate erinevaid io kontakte, kontrollige koodi ja ühendusi * võite asendada zener -dioodid võimsusega 500 mw, 400 mw * võite proovida vähendada R3 väärtust 1,2K -ni või alla selle -B lipp avrdude, on lühem USB -kaabel kõik aitab

Soovitan: