Kadangi paskutiniu metu pavyko paleisti šį paprasta AVR ISP adapterį, kuris jungiamas prie kompiuterio per USB portą. Pirmiausia pora žodžių apie patį programatorių. USBasp yra gana gerai žinomas tarp AVR mėgėjų. Jo autorius Thomas Fischl, kuris ne tik jį sukūrė, bet ir pastoviai atnaujina. Pats adapteris yra labai paprastas, kuriam pagaminti tereikia keleto komponentų. Visa USB galia slypi Atmega8 mikrovaldiklyje. Dėl savo paprastumo yra labai mėgiamas elektronikos mėgėjų.

USB programatorius palaiko du programavimo dažnius SCK: 375kHz ir 8kHz. Taip yra dėl to,kad programuojamas mikrovaldiklis būtinai turi veikti bent keturis kartus didesniu dažniu nei programatoriaus taktinis dažnis. Sakykim jeigu programuojama 375kHz dažniu, tai valdiklis turi veikti ne mažesniu nei 1.5MHz (4x375kHz=1.5MHz). Jeigu mikrokontroleris naudoja žemo dažnio osciliatorių, pvz 32kHz, tai būtina programatorių perjungti į 8kHz režimą (4x8kHz=32kHz).
Programatoriaus schema kaip ir minėjau yra paprasta.
Praktiškai prie Atmegos prijungta USB jungtis per suderinamas varžas, lizdas ISP kabeliui, pra trumpiklių(J3 – programavimo dažniui pasirinkti; JP1 – perjungimas į adapterio programavimo režimą; JP2 – gali būti naudojamas programuojamo mikrovaldiklio maitinimui (nerekomenduojama!)) ir du šviesos diodai vienas maitinimo indikacijai(D1), o kitas programavimo aktyvumui stebėti. Patas adapteris maitinamas tiesiogiai iš USB porto. ISP lizdas yra suderinamas su originaliu STK200/300, tik čia papildomai numatyti RXD, ir TXD išvadai(kurie šiuo atveju nenaudojami).

Programatoriaus PCB versijų yra prikurta įvairiausių, kurias rasite čia. Tereikia išsirinkti tinkamiausią ir pasigaminti. Aš pasirinkau J.A. De Groot.
Kai USB programatorius pagamintas, pirmiausia įrašykite naujausią hex failą, kurį rasite paskutiniame atnaujinime (2007-10-23). Nustatykite fuse kad naudotu išorinį kvarcą (HFUSE=0xc9 LFUSE=0xef). Žemiau pateikiami nustatymai programuojant PonyProgu.

Kai mikrovaldiklis paruoštas belieka suinstaliuoti USBasp draiverius kompiuteryje.
USB kabeliu prijunkite adapterį prie kompiuterio USB porto. Nenaudokite jokių šakotuvų, nes kitaip neveiks.
Jeigu plokštė teisingai sulituota, sistema turėtų rasti USBasp adapterį.
Sistemai paprašius nurodyti draiverį, nukreipkite į usbasp.2007-10-23\bin\win-driver\ katalogą, kuriame jis randasi ir paspauskite Next, kad pradėtumėte kopijuoti draiverį į sistemą:
Kai draiveriai įdiegti, belieka tik patikrinti ar sistema įtraukė adapterį į savo įrenginių sąrašą:
ISP adapteris paruoštas darbui.
Ka gi liko trečias žingsnis – išbandyti ar adapteris veikia. Tam kad išbandyti adapterį pirmiausia prijunkite jį prie programuojamo mikrokontrolerio. Tam tiks bet kuris projektas su AVR mikrovaldikliu ir ISP jungtimi.

USBasp programatorius yra suderinamas su Avrdude 5.2 ir aukštesnėmis versijomis. Jeigu pas jus yra naujausia WinAVR (20070525), tai jokių problemų kilti neturėtų. Pirmiausia pabandykime prisijungti prie adapterio terminalo režime. Paprasčiausiai atsidarykite konsolės (command promt) langą paspaudę Start-Run ir langelyje įrašę cmd. Atsidariusiame juodame lange įrašykite komandą:
avrdude -c usbasp -p atmega16 -P usb -t
Paspaudus enter turėtumėte matyti panašų vaizdą:

Matome jog adapteris nuskaitė mikrovaldiklio ID(signature) ir laukia tolimesnių komandų. Jų mes nenagrinėsime, nes komandos būdingos AVRDUDE, kurias galima lengvai rasti dokumentacijoje. Kad išeiti iš terminalo režimo parašykite quit.
Na ir paskutinis variantas, dėl ko verta gamintis AVRDUDE palaikomus programatorius tokius kaip šis yra tas jog galima lengvai susikonfigūruoti projektą taip, kad kompiliavimas, įrašymas į mikrokontrolerį bei patikrinimas vyktų tik vieno mygtuko paspaudimu. Tam tereikia paredaguoti porą makefile eilučių. Lengviausia tai daryti naudojant Mfile redaktorių, kuris yra kartu su WinAVR. Atsidarę makefile paredaguokite šias eilutes:
AVRDUDE_PROGRAMMER = usbasp
AVRDUDE_PORT = usb
Tada belieka paleisti [WinAVR] Program komandą iš Programmers Notepad Tools meniu ir stebėti kaip programa susikompiliuoja ir “suvažiuoja” į mikrovaldiklį. Programavimo greitis nėra įspūdingas – tesiekia 5kB per sekundę. Tačiau subjektyviai palyginus su LPT programatoriumi programavimas vyksta greičiau. Ne bet ne greitis čia svarbiausia, svarbesnė yra galimybė jungti tokį programatorių prie kompiuterio kur nėra nei LPT nei COM porto.
Ir kaip bandymai? Kažkokį panašų dariau:
http://circuit.lt/?page=image§ion=patarimai/pcbuv&img=11&type=2
Bet visiškai neima ATmega32 ir ATtiny2313. ATmega8 užprogramavo gerai. Veikia su AVRstudio, bet su CodeVisionAVR ožiuojasi.
Šis su AVRstudio/CodeVisionAVR suderinamas?
Beje, stiliaus faile pridėk eilutę:
.commenttext { overflow: hidden; }
Ai, ir dar tikrink ar gerai įvesta suma su javascript, nes dabar užmiršus įvesti dingsta visas rašytas komentaras..
Sėkmės darbuose
Dėkui už pastebėjimus.
Adapterį bandžiau tik su Atmega8 ir Atmega16, dar turiu galimybę ant smugio išbandyti Atmega128 - ka ir padarysiu. Manau kad turetu vežti ir Atmega32 ir kitas. Del palaikomų programų tai bandziau tik AVRdude.
Įdomu ar tavo adapteris to paties autoriaus? Gal dėl to visos bėdos...
Dėl komentarų, tai yra padaryta, kad reikėtų vieną kartą administratoriui patvirtinti, o kiti komentarai jau atsiranda iš karto tam pačiam žmogui. Šioks toks papildomas apsisaugojimas nuo spamerių.
Dariau pagal šitą:
http://tinyurl.com/399orp
Pinoutas kitoks, bet iš esmės funkcijos tos pačios.
Būtų labai įdomu sužinoti kaip jis susitvarko su mano jau minėtais AVRstudio ir CodeVisionAVR - gal atsiras lankytojas, kuris jau išbandė.
Galesiu ir pats išbandyti namuose. Programas turiu, tai jokiu problemu. Bet abejoju ar veiks, nes autorius apie nieka daugiau kaip Avrdude neuzsimina. Matomai cia kitoks firmware veikimas.
Tai vat galutinė diagnozė yra ta kad šis programatorius veikia tik su AVRDUDE. Išbandžiau su Atmega128, programina ir skaito. Susijungdavo ne iš karto, matyt dėl to kad maitnama nuo 3,3V. Su kontroleriais maitinamais nuo 5V veikia be jokių sutrikimų.
Hm. Neteko dar naudoti AVRdude, tai reiks pasižiūrėti kas ten per žvėris.
Arba reiks vieną kartą imt ir pasidaryti pilną STK500v2 programatorių, bet ten jau 3 čipai reikalingi. Arba 2, bet tada negalės pats sau firmwaro keisti. Kažkur voliojosi schema..
Na avrdude yra komandine eilute valdomas. Grafinio interfeiso normalesnio kaip ir nera. Vienintelis patogumas, kad naudojant Winavr patogu programuoti sukonfiguravus makefile. Siaip jeigu darbuojies su avrstudio, tai geriausia butu stk500. Yra toks idomus Jtag Ice + Stk500 klonas pasirodes, kur priklausomai nuo jumper settingu galima naudoti kaip jtag arba stk500. Galvoju gal reikes pasidaryti prie progos. Googlej paieskok Jtag Twice. gal sudomins.
Hm. Pasigūglinau, tai radau kur galima tokį įsigyti. Įsigijimas nėra mano prioritetų viršūnėje, labiau norėčiau susimestrauti. Nepavyko rasti net schemos :|
Jeigu kalbi apie Jtag Twice tai jo schema ir firmware yra avrfreaks.net projektų skyriuje. Tiesiogine nuoroda (reikia prisiregistruoti)
Cia tiesiog yra Jtag ICE sukergtas su stk500. Suzaista su bootloaderiu ir jumperiais.
Pats, turiu pasidares, puikiai veikia. Avrdude turi grafine aplinka, tai avrdude-gui. Tiesa man nelabai sekasi su juo fusebit'us programuot, tai gaminaus kita programatoriu...
o Atmega 8 su kuria padaritas programeris reik uzprogramuot per ta pati usb ar per kita jau veikenti programeri?
Man tai programuoja Atmega32
Skelbti naują komentarą