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, Novembar
Anonim
VUSBTiny AVR SPI programer
VUSBTiny AVR SPI programer

nakon što sam napravio usbtiny isp programer i koristio ga 6 mjeseci, razmišljao sam da napravim još jednog za nošenje. Sviđa mi se jednostavnost usbtiny isp dizajna, ali bih želio da bude još manji i da zauzima manje dijelova. jedna stvar u originalnom dizajnu koju želim promijeniti je eliminirati upotrebu kristala sata. jedno rješenje koje sam otkrio je da v-usb upravljački programi podržavaju interni oscilator od 16,5 MHz na attiny25/45/85 uređajima. pa sam započeo ovaj projekt kako bi usbtiny isp zaposlio v-usb za USB komunikaciju. neposredna korist je ta što štedi prostor i ima manji broj komponenti (nema više kristala). opis uvida sa https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny je softverska implementacija USB-a male brzine protokol za mikrokontrolere Atmel ATtiny. Naravno, raditi će i na ATmega seriji. Softver je pisan 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 kompajlera, i 46 bajtova RAM -a (isključujući prostor za stek). 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, omogućujući izgradnju USB hardvera sa gotovo bilo kojim AVR mikrokontrolerom, ne zahtijevajući dodatni čip.video o izgradnji i upotrebi

Korak 1: Karakteristike i dijelovi

Karakteristike i delovi
Karakteristike i delovi

* programska logika iz usbtiny isp, podrška za zrele avr-dude * mali otisak stope * 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 se od mogućih pogrešnih veza reference na osnovu radova pronađenih na v-usb iz framework-a https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/lista dijelova * attiny45/85 (85 je lakše nabaviti) * zener diode 3.6v (tipovi 1n747, BZX79,..izbjegavajte 1W) * 68ohm otpornik x 2 * 1.5K otpornik * mini matična ploča 170 tačaka povezivanja * USB kabel (kabel za USB štampač 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, shematski prikaz i konstrukcija
Izgled, shematski prikaz i konstrukcija
Izgled, shematski prikaz i konstrukcija
Izgled, shematski prikaz i konstrukcija

izgradnja

* slijedite izgled matične ploče, nema komponenti koje sadrže, 3 otpornika, 2 diode, 1 kapu, plus 8 -pinski mcu. * nabavite dolar, USB kabl za štampač, odsecite kraj štampača, biće izložene 4 žice, učvrstite ih i pretvorite u 4 -polno muško zaglavlje, mi ćemo ga koristiti za povezivanje sa matičnom pločom. pogledajte shemu za raspored i dodjelu pinova (J1). * pazite na polaritet dioda.

izgradnji i ažuriranju projekta

projekat je izgrađen u Linux ubuntu lucidnom okviru sa avr-gcc lancem 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 postoji main.c, moja verzija modificiranog usbtiny programatora. i poddirektorij usbdrv, koji sadrži v-usb sloj. molimo vas da prilikom izgradnje ovog objekta poštujete uslove licenciranja za gore navedena dva projekta. moj izvor logike programera zasnovan je na verziji Dicka Streeflanda, a ne na verziji ladyada (iako su gotovo iste).

za one koji nemaju previše izgrađen lanac, možete koristiti sljedeću binarnu datoteku

kliknite za preuzimanje vusbtiny.hex

i upotrijebite avrdude za fleširanje firmvera

avrdude -c usbtiny -p t45 -e -V -U blic: 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činite cd vsubtiny, za promjenu u vusbtiny radni direktorij * podesite makefile za ciljni uređaj prema čipu koji ćete koristiti. tj. PROGRAMMER_MCU = t45 ili t85 * napravite make * priložite svog omiljenog ISP programera * izmenite makefile i po potrebi promenite parametre avrdude. dionica za koju se pretpostavlja da je programer USBTiny. 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 koristi v-usb sloj prema potrebi za usb vrijeme * pin za poništavanje je onemogućen jer ga moramo koristiti kao io

avrdude -c usbtiny -p t45 -V -U l osigurač: 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 pin za resetiranje (pin1) za io. trebat će vam pristup HVSP programeru 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

direktno treptanje 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. postoji jedan trik, morat ćete izolirati iglice 2 i 3 na mcu programatora, jer su to USB D+ i D- pinovi koji se povezuju s računalom. Za to koristim rez trake, to možete vidjeti na fotografijama. dolje prikazuje maleni13v "jaše" na tiny45, spreman za prijem firmvera.

ISP treperi preko kratkospojnika

da biste programirali ciljno kolo putem ISP-a (programiranje u sistemu), potreban vam je ISP kabl. ovdje ne koristim standardne 2x3 ili 2x5 iglice. umjesto toga koristim kratkospojnik 1x6 koji je prilagođeniji matičnoj ploči, možete napraviti 2x3 ili 2x5 zaglavlje sa pinovima preslikavajući ih u J2 kako je prikazano na rasporedu i shemama. sljedeća fotografija prikazuje malenu2313 spremnu za blic preko ISP -a.

rešavanje problema

* ne može fleširati 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, imajte kraći USB kabel sve pomaže

Preporučuje se: