Sadržaj:

VUSBTiny AVR SPI programator: 3 koraka
VUSBTiny AVR SPI programator: 3 koraka

Video: VUSBTiny AVR SPI programator: 3 koraka

Video: VUSBTiny AVR SPI programator: 3 koraka
Video: VUSBTINY AVR Programmer 2024, Studeni
Anonim
VUSBTiny AVR SPI programer
VUSBTiny AVR SPI programer

nakon što sam napravio usbtiny isp programer i koristio ga 6 mjeseci, gledao sam napraviti još jednog za nošenje. Sviđa mi se jednostavnost usbtiny isp dizajna, ali htio bih ga učiniti još manjim i uzeti manje dijelova. jedna stvar u originalnom dizajnu koju želim promijeniti je eliminiranje uporabe kristala sata. jedno rješenje koje sam otkrio je da v-usb upravljački programi podržavaju unutarnji oscilator od 16,5 MHz na attiny25/45/85 uređajima. pa započinjem ovaj projekt kako bi usbtiny isp zaposlio v-usb za usb komunikaciju. neposredna je korist to što štedi prostor i ima manji broj komponenti (nema više kristala). opis uvida s https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny je softverska implementacija USB-a male brzine protokol za mikrokontrolere Atmel ATtiny. Naravno, radit će i na seriji ATmega. Softver je napisan za AVR taktove na 12 MHz. Na ovoj frekvenciji svaki bit na USB sabirnici traje 8 ciklusa takta, a uz puno trikova moguće je softverom dekodirati i kodirati USB valne oblike. USB pogonitelju je potrebno približno 1250 do 1350 bajtova flash prostora (isključujući opcionalne identifikacijske nizove), ovisno o konfiguraciji i verziji prevoditelja, i 46 bajtova RAM -a (isključujući prostor za hrpu). C sučelje sastoji se od 3 do 5 funkcija, ovisno o konfiguraciji.vusb opis s https://www.obdev.at/products/vusb/ V-USB je samo softverska implementacija USB uređaja male brzine za Atmelove AVR mikrokontroleri, što omogućuje izgradnju USB hardvera s gotovo bilo kojim AVR mikrokontrolerom, ne zahtijevajući dodatni čip. Video o izgradnji i upotrebi

Korak 1: Značajke i dijelovi

Značajke i dijelovi
Značajke i dijelovi

* programska logika iz usbtiny isp, podrška za zrele avr-dude * mali otisak stopala * minimalne komponente * napajanje ciljnog uređaja imajte na umu da io linije do ciljnog mcusa nisu zaštićene. možete dodati 1k-2k otpornike u SCK i MOSI i zaštititi od mogućih pogrešnih veza referencije na temelju radova pronađenih na v-usb iz okvira https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/popis dijelova * attiny45/85 (85 je lakše nabaviti) * zener diode 3,6 V (tipovi 1n747, BZX79,..izbjegavajte 1 W) * otpornik 68 ohma x 2 * otpornik 1,5K * mini matična ploča 170 vezanih točaka * USB kabel (kabel USB pisača u dolarima je u redu) * 1k/2k otpornici za zaštitu Io linija (opcionalno) potrebni su alati * radni avr programer (da, to je kvaka22, potreban nam je jedan za izradu) * radno avr programsko okruženje

Korak 2: Izgled tlocrta, shema i konstrukcija

Izgled tlocrta, shema i konstrukcija
Izgled tlocrta, shema i konstrukcija
Izgled tlocrta, shema i konstrukcija
Izgled tlocrta, shema i konstrukcija

graditeljstvo

* slijedite izgled matične ploče, nema komponenti koje mogu sadržavati, 3 otpornika, 2 diode, 1 kapu, plus 8 -pinski mcu. * nabavite dolar, USB kabel za USB pisač, odrežite kraj pisača, bit će izložene 4 žice, učvrstite ih i pretvorite u 4 -polno muško zaglavlje, upotrijebit ćemo ga za spajanje na matičnu ploču. pogledajte shemu za raspored i dodjelu pinova (J1). * pazite na polaritet dioda.

izgradnji i prelasku projekta

projekt je izgrađen u lucidnom okviru za Linux ubuntu s avr-gcc alatom alata. pretpostavlja se da već imate takvo okruženje ili možete saznati s interneta kako ga postaviti. izvorni kodovi su gnu gpl v2 licencirani od nasljeđivanja.

izvorni kod slijedi konvenciju koju preporučuje v-usb, možete preuzeti izvorni paket vusbtiny.tgz i ukloniti oznaku u direktorij projekta. unutar vašeg izvornog direktorija nalazi se main.c, moja verzija modificiranog programera za usbtiny. i poddirektorij usbdrv koji sadrži v-usb sloj. molimo vas da prilikom izgradnje ovoga poštujete uvjete licenciranja za gore navedena dva projekta. moj izvor logike programera temelji se na verziji Dicka Streeflanda, a ne na verziji ladyada (iako su gotovo iste).

za one koji nemaju previše lanac sastavljanja, možete upotrijebiti sljedeću binarnu datoteku

kliknite za preuzimanje vusbtiny.hex

i upotrijebite avrdude za bljeskanje firmvera

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

(ako je vaš uređaj maleni85, zamijenite -p t45 w/ -p t85)

izvor možete preuzeti ovdje, kliknite za preuzimanje vusbtiny.tgz

uklonite izvorni paket u svoj radni direktorij

tar -zxvf vusbtiny.tgz

* učiniti cd vsubtiny, za promjenu u vusbtiny radni direktorij * prilagoditi makefile za ciljani uređaj prema čipu koji ćete koristiti. tj. PROGRAMMER_MCU = t45 ili t85 * učinite make * priložite svog omiljenog ISP programera * izmijenite makefile i promijenite svoje avrdude parametre ako je potrebno. dionica se pretpostavlja USBTiny programer. tj. AVRDUDE_PROGRAMMERID = usbtiny * flash firmver putem make install

nakon bljeskanja firmvera, moramo ispravno postaviti osigurač, koristimo resetiranje pina 1 kao io u ovom projektu

* ppl sat koji prema potrebi zahtijeva v-usb sloj za usb vrijeme * pin za poništavanje je onemogućen jer ga moramo koristiti kao io

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

ova postavka onemogućuje daljnje programiranje putem 5V SPI jer nam je potreban RESET pin (pin1) za io. trebat će vam pristup programeru HVSP -a za oporavak osigurača.

Korak 3: Upotreba i primjena

Upotreba i primjena
Upotreba i primjena
Upotreba i primjena
Upotreba i primjena
Upotreba i primjena
Upotreba i primjena

izravno bljeskanje na ploči

ako koristite vusbtiny za bljeskanje 8 -pinskih AVR uređaja, možete samo pritisnuti ciljani uređaj na vrh uređaja za programiranje. programer je dizajniran tako da se programski pinovi podudaraju sa ciljevima. ipak postoji jedan trik, morat ćete izolirati iglice 2 i 3 na mcu programatora, jer se radi o USB D+ i D- pinovima koji se povezuju s računalom. Za to koristim rez ljepljive trake, to možete vidjeti na fotografijama. dolje prikazuje maleni13V "jaše" na tiny45, spreman za prijem firmvera.

ISP treperi preko kratkospojnika

za programiranje ciljnog kruga putem ISP-a (programiranje u sustavu) potreban vam je ISP kabel. ovdje ne koristim standardna 2x3 ili 2x5 pin zaglavlja. umjesto toga, ja koristim kratkospojnik 1x6 koji je prilagođeniji matičnoj ploči, možete napraviti 2x3 ili 2x5 zaglavlje s pinovima preslikavajući ih u J2 kako je prikazano na rasporedu i shemama. sljedeća fotografija prikazuje malenu2313 spremnu za bljeskanje putem ISP -a.

rješavanje problema

* ne može bljeskati firmver? provjerite izvorni programer, možda ćete morati podesiti vrijeme putem -B zastavice u avrdude. pokušajte pročitati čip 1., možda je loš osigurač, možda je vašem čipu potreban vanjski signal sata. možda ćete morati popraviti svoj čip na zadani 1.. * provjerite veze * ako koristite različite io pinove, provjerite kôd i veze * možete zamijeniti zener diode w/ 500mw, 400mw * možete pokušati smanjiti vrijednost R3 na 1,2K ili manje * veća je vjerojatnost da ćete naići na probleme s vremenskim rasporedom, pokušajte -B zastavica avrdude, imati kraći USB kabel sve pomaže

Preporučeni: