Skip to Content

USBasp programatoriaus surinkimas ir testavimas

Apie USBasp

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ų.

USBASP_Device.jpg

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).

USBasp adapterio surinkimas

Programatoriaus schema kaip ir minėjau yra paprasta.

usb_asp_cir_thumb.png

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).

isp_10_pin_to_ISP_9.jpg

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.

USBasp_fuses.jpg

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ą:

instaling_uasbasp.JPG

Kai draiveriai įdiegti, belieka tik patikrinti ar sistema įtraukė adapterį į savo įrenginių sąrašą:

USBASP_Device_ready.JPG

ISP adapteris paruoštas darbui.

USBasp programatoriaus bandymai

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_Programming.jpg

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ą:

USBasp_terminal_mode.jpg

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.

Komentarai

Komentarų rodymo nustatymai

Pasirinkite patinkantį komentarų vaizdavimo būdą ir paspauskite "Išsaugoti nustatymus", kad pakeitimas įsigaliotų.

Ir kaip bandymai? Kažkokį

Ir kaip bandymai? Kažkokį panašų dariau:
http://circuit.lt/?page=image&section=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

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ž

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

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

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

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ė

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

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

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

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

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,

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

o Atmega 8 su kuria padaritas programeris reik uzprogramuot per ta pati usb ar per kita jau veikenti programeri?

Re: USBasp programatoriaus surinkimas ir testavimas

Man tai programuoja Atmega32

Re: USBasp programatoriaus surinkimas ir testavimas

Ar Atmega8 fuse nustatymai tinka ir kitose schemose?

Na o as turiu problemu. Ant

Na o as turiu problemu. Ant stacionaraus PC veikia (XP SP2), o ant laptopo hp dv6635en neveikia nei ant Vista nei ant XP, raso malfunctioning ir kad unknown device ir neleidzia suinstalint usbasp draiveriu darant "update drivers"

O šita atmega8 reik dar

O šita atmega8 reik dar programuot nuo atskiro mikrovaldiklio ar jį suprogramuoji iškart padaręs per USB???
Ačiū už ats.

o su kuo reik uzprogramuot

o su kuo reik uzprogramuot atmega8 ar jį per kompą užprogramuoji??

Sveiki, surinkau schema

Sveiki,
surinkau schema taciau pajungiant i usb rodo kad doesn't recognize neatpazista irenginio. USB driverius suinstaliavau rankiniu budu, tai rodo kad sistemoj yra jisai ir veikia. Kaip issprest problema?

Gla netyčia kištuko išvadai

Gla netyčia kištuko išvadai supainioti. Pačiam taip buvo pasitaike.

Pagaliau pavyko

Pagaliau pavyko paleisti,todel noriu pasidalinti ispudziais. Veikia puikiai su Win XP ir Vista. Tikrinau tik su atmega8. HEX nuskaitymui ir irasymui patiko programele eXtreme Burner - AVR: http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-ba...
Isbandyta ir su naujausia WinAVR-20090313 versija.
Pora niuansu: programatorius pas mane dirba tik su mazais greiciais - reikia uzdeti dzemperiuka ant JP3. Beje, Vista irengini atpazino tik prisegus stabilitronus prie D- ir D+, kaip parodyta schemoje http://www.fischl.de/usbasp/
Aciu dreifui uz puiku aprasyma. Sekmes!

Sveiki As noreciau taip pat

Sveiki

As noreciau taip pat pabandyti. Bet jus pasakykite, ka su siais programatoriais galima programuoti?

Vidbitas,

Vidbitas, mikrokontrolerius.... ¨...Tam kad išbandyti adapterį pirmiausia prijunkite jį prie programuojamo mikrokontrolerio. Tam tiks bet kuris projektas su AVR mikrovaldikliu ir ISP jungtimi. ....¨ toks jausmas kad net teksto neskaitei...

ps ne i tema bet, velnias kaip uzknisa ta ¨apsauga nuo spamo¨ yvedinet, nieko ten nesimato.... :/

Del spamo apsaugos kovojam

Del spamo apsaugos kovojam kaip išmanom :) Siulau prisiregistruoti, tada nebebus tos formos.

sveiki, esu jaunas

sveiki, esu jaunas praktikantas :D ieskau kur ir su kuo galeciau uzprogramuoti pic16F628A-I/P mikrokontroleri, dekui uz pagalba

Sveiki, ar ant windows 7 x64

Sveiki, ar ant windows 7 x64 kas nors bandet paleist programatoriu? Kazkas su driver'iais ne taip. Ant windows XP SP2 viskas tvarkoj.

Gal galite paaiskinti ar

Gal galite paaiskinti ar teisingai suprantu, kad per R7 eina 5V i informacini laida???

R7 tai taip vadinamas pull-up

R7 tai taip vadinamas pull-up rezistorius. Viskas cia gerai.

Man nustačius fuse,

Man nustačius fuse, nebeskaito/neberašo atmega8, o kitas: atmega16, atmega168 puikiausiai skaito, čia turbūt atmega8 užsilokino, gal žino kas kaip atrakint?

Skelbti naują komentarą

Šio laukelio turinys bus laikomas privatus ir nerodomas viešai.
CAPTCHA
Apsauga nuo spamo. Įveskite žemiau esantį kodą.