Miniaturni USB programator za AVR mikrokontrolerje. Samonastavitev programatorja AVRProg In-system programming vmesnik ISP

Tako kot se gledališče začne z obešalnikom, se tudi programiranje mikrokontrolerjev začne z izbiro dobrega programatorja. Ker začenjam osvajati mikrokrmilnike podjetja ATMEL, sem se moral temeljito seznaniti s ponudbo proizvajalcev. Ponujajo veliko zanimivega in okusnega, le po previsokih cenah. Na primer, šal z enim dvajsetkrakim mikrokontrolerjem s parom uporov in diod kot pasom stane kot "letalo". Zato se je pojavilo vprašanje samosestavljanja programerja. Po dolgem preučevanju razvoja izkušenih radijskih amaterjev je bilo odločeno, da sestavi dobro preizkušen programator USBASP, katerega možgani so mikrokrmilnik Atmega8 (obstajajo tudi možnosti strojne programske opreme za atmega88 in atmega48). Minimalno ožičenje mikrokontrolerja vam omogoča, da sestavite dokaj miniaturni programator, ki ga lahko vedno vzamete s seboj, kot je bliskovni pogon.

Avtor tega programatorja je Nemec Thomas Fichl, njegova razvojna stran z diagrami, datotekami tiskanih vezij in gonilniki.
Ko je bilo odločeno, da sestavim miniaturni programator, sem prerisal vezje za mikrokrmilnik Atmega8 v paketu TQFP32 (pinout mikrokontrolerja se razlikuje od pinout-a v paketu DIP):

Jumper J1 se uporablja, če je potrebno utripati mikrokrmilnik s taktno frekvenco pod 1,5 MHz. Mimogrede, tega skakalca lahko popolnoma odpravite tako, da postavite 25. nogo MK na tla. Potem bo programator vedno deloval z zmanjšano frekvenco. Osebno sem opazil, da programiranje z zmanjšano hitrostjo traja delček sekunde dlje, zato zdaj ne vlečem mostička, ampak nenehno šivam z njim.
Zener diode D1 in D2 se uporabljajo za uskladitev nivojev med programatorjem in vodilom USB; brez njih bo delovalo, vendar ne na vseh računalnikih.
Modra LED označuje, da je vezje pripravljeno za programiranje; rdeča LED sveti med programiranjem. Programski kontakti se nahajajo na konektorju IDC-06, pinout je v skladu s standardom ATMEL za 6-polni ISP konektor:

Ta konektor vsebuje kontakte za napajanje programabilnih naprav; tukaj je vzet neposredno iz vrat USB računalnika, zato morate biti previdni in se izogibati kratkim stikom. Isti konektor se uporablja tudi za programiranje krmilnega mikrokrmilnika; samo povežite zatiče za ponastavitev na konektorju in na mikrokrmilniku (glejte rdečo pikčasto črto na diagramu). V avtorjevem vezju je to storjeno s skakalcem, vendar plošče nisem neredil in jo odstranil. Za eno strojno programsko opremo bo zadostoval preprost žični mostiček. Izkazalo se je, da je plošča dvostranska, dimenzij 45x18 mm.

Priključek za programiranje in mostiček za zmanjšanje hitrosti programatorja se nahajata na koncu naprave, kar je zelo priročno

Firmware krmilnega mikrokrmilnika
Torej, po sestavljanju naprave, ostane najpomembnejše, da utripamo krmilni mikrokrmilnik. Prijatelji, ki še vedno imajo računalnike z vrati LPT, so zelo primerni za te namene :) Najpreprostejši programator s petimi žicami za AVR
Mikrokrmilnik je mogoče preklopiti iz konektorja za programiranje tako, da povežete Reset pine mikrokrmilnika (29 krak) in konektor. Vdelana programska oprema obstaja za modele Atmega48, Atmega8 in Atmega88. Priporočljivo je, da uporabite enega od zadnjih dveh kamnov, saj je bila podpora za različico Atmega48 ukinjena in zadnja različica vdelane programske opreme izvira iz leta 2009. Različice za 8. in 88. kamen se nenehno posodabljajo in zdi se, da avtor namerava funkcionalnosti dodati razhroščevalnik v vezju. Firmware dobimo z nemške strani. Za nalaganje krmilnega programa na mikrokontroler sem uporabil program PonyProg. Pri programiranju je treba kristal nastaviti tako, da deluje iz zunanjega vira takta na 12 MHz. Posnetek zaslona programa z nastavitvami mostičkov varovalk v PonyProg:

Po utripanju vdelane programske opreme mora zasvetiti LED, ki je priključen na nogo 23 mikrokrmilnika. To bo zanesljiv znak, da je bil programator uspešno programiran in pripravljen za uporabo.

Namestitev gonilnika
Namestitev je bila izvedena na računalniku z operacijskim sistemom Windows 7 in ni bilo nobenih težav. Ko se prvič povežete z računalnikom, se prikaže sporočilo, da je bila zaznana nova naprava, in vas pozove, da namestite gonilnik. Izberite namestitev z navedene lokacije:

Takoj se prikaže okno z opozorilom, da nameščeni gonilnik nima digitalnega podpisa za majhne mehke:

Ignoriramo opozorilo in nadaljujemo namestitev, po kratkem premoru se prikaže okno, ki nas obvesti, da je bila operacija namestitve gonilnika uspešno zaključena

To je to, programator je zdaj pripravljen za uporabo.

Khazama AVR programer
Za delo s programatorjem sem izbral flasher Khazama AVR Programmer. Čudovit program z minimalističnim vmesnikom.

Deluje z vsemi priljubljenimi AVR mikrokontrolerji, omogoča flashanje flash in eeproma, ogled vsebine pomnilnika, brisanje čipa in tudi spreminjanje konfiguracije varovalk. Na splošno povsem standarden komplet. Nastavitev varovalke se izvede z izbiro vira ure iz spustnega seznama, s čimer se močno zmanjša verjetnost pomotoma zaklepanje kristala. Varovalke lahko menjate tudi tako, da v spodnjem polju postavite potrditvena polja, ne morete pa označiti neobstoječe konfiguracije, kar je tudi velik plus z vidika varnosti.

Varovalke se zapišejo v pomnilnik MK, kot morda uganete, s pritiskom na gumb Write All. Gumb Shrani shrani trenutno konfiguracijo, gumb Naloži pa vrne shranjeno. Res je, nisem mogel najti praktične uporabe teh gumbov. Gumb Privzeto je namenjen snemanju standardne konfiguracije varovalke, tiste, s katero prihajajo mikrokrmilniki iz tovarne (običajno 1 MHz od notranjega RC).
Na splošno se je ves čas, ko uporabljam ta programator, izkazal za najboljšega glede stabilnosti in hitrosti delovanja. Deloval je brez težav tako na starem namiznem računalniku kot na novem prenosniku.

Datoteko PCB lahko prenesete v SprintLayout z uporabo

Majhen program, ustvarjen z namenom hitrega flashanja mikrokrmilnikov Atmel AVR.

Aplikacija Khazama AVR Programmer ima preprost in priročen minimalističen okenski vmesnik. Ta programator je grafična lupina za program avrdude in je kot nalašč za razvijalce začetnike. Trenutno Khazama AVR Programmer podpira približno osemdeset modelov mikrokontrolerjev AVR, ki pripadajo družinam ATmega, ATxmega, ATtiny in AT90. Programator ima minimalno število funkcij, vendar se odlikuje po hitrosti in stabilnosti. Programska oprema omogoča: nalaganje shranjenih hex datotek vdelane programske opreme za pomnilnik EEPROM in FLASH v medpomnilnik, pisanje hex datotek v pomnilnik EEPROM in FLASH mikrokrmilnika, ogled vsebine pomnilnika EEPROM in FLASH čipa, brisanje pomnilnika krmilnika, spremenite konfiguracijo bitov FUSE in LOCK, izvedite preverjanje pomnilnika EEPROM in FLASH. Vse operacije je mogoče izvesti z uporabo menija ali z gumbi v orodni vrstici, katerih videz je kopiran iz podobnih gumbov v programski opremi.

Med drugimi funkcijami programa Khazama AVR Programmer je treba omeniti: prisotnost kontekstualnih namigov in tipk za bližnjice, možnost namestitve te aplikacije na vsa druga okna, prisotnost pregledovalnika datotek EEPROM in FLASH hex (brez urejanje), vizualizacija in dekodiranje vrednosti konfiguracijskih bitov mikrokrmilnika. Prilagodljiv gumb »AutoProgram« zažene nabor operacij, določenih v oknu »Možnosti programa« (privzeto je počistiti čip in zapisati v pomnilnik FLASH). Khazama AVR Programmer deluje z , TPI programiranje je podprto. Frekvenca programske ure preko ISP vmesnika je nastavljena v območju od 500 Hz do 1,5 MHz.

Postopek programiranja bitov FUSE ne zahteva igranja s šestnajstiškimi vrednostmi in je sestavljen iz izbire potrebnih parametrov s spustnih seznamov, kar zmanjša verjetnost pomotnega zaklepanja mikrokontrolerjev. FUSE bite lahko spremenite tudi tako, da potrdite polja v spodnjem polju. Hkrati ne morete potrditi polj za neobstoječe konfiguracije, kar je tudi plus z vidika varnosti. V oknu za programiranje bitov FUSE so funkcije: zapis varovalk v pomnilnik krmilnika, shranjevanje trenutne konfiguracije v medpomnilnik, klic shranjene konfiguracije iz medpomnilnika, obnovitev standardne konfiguracije bitov FUSE, torej tiste, s katero je mikrokrmilnik prišel. iz tovarne. Aplikacija Khazama AVR Programmer deluje z datotekami izpisa pomnilnika *.hex.

Aplikacijo je napisal arabski programer Behzad Khazama (Iran, provinca Razavi Khorasan, mesto Sebzevar). Najnovejša različica tega programatorja je bila izdana sredi leta 2011.

Program je predstavljen samo v angleščini in nima ruskega prevoda.

Programsko opremo Khazama AVR Programmer podpirajo operacijski sistemi družine Microsoft Windows – XP, Vista, 7, 8 (32- in 64-bitni).

Distribucija programa: prost

USBASP programator - naprava, pinout, povezava, firmware

Danes si bomo ogledali, kako poceni in hitro programirati kateri koli AVR mikrokrmilnik, ki podpira način serijskega programiranja (ISP vmesnik) preko USB vhoda računalnika. Kot programator bomo uporabili zelo preprost in priljubljen programator USBASP, in kot program - AVRdude_Prog V3.3, ki je namenjen programiranju AVR MK.

USBASP programator

Za programiranje mikrokontrolerja potrebujete dve stvari:
— programer
— ustrezno programsko opremo za zapisovanje podatkov v MK
Eden najpreprostejših, najbolj priljubljenih in miniaturnih programatorjev za AVR je USBASP programator, ki ga je ustvaril Nemec Thomas Fischl.
Obstaja veliko različnih rešitev za ta programator; programator lahko sestavite sami ali ga kupite (stane 2-3 dolarje). Ko ga sestavljate sami, ne pozabite, da bo sestavljeni programator treba flashati s programatorjem drugega proizvajalca.

Ogledali si bomo najbolj izpopolnjeno različico programerja:


Lastnosti programatorja:
- deluje z različnimi operacijskimi sistemi - Linux, Mac OS, Windows (za operacijski sistem Windows, za delovanje programerja morate namestiti gonilnike - arhiv na koncu članka)
— hitrost programiranja do (hitrost programiranja lahko nastavite sami, npr. v AVRDUDE_PROG) 375 (5) kb/sec
- ima 10-polni ISP vmesnik (v skladu s standardom ICSP z 10-polnim priključkom)
- podpira dve napajalni napetosti programatorja - 5V in 3,3V (vsa USB vrata računalnika ne delujejo pri 5V)
— napaja se iz USB vhoda računalnika, ima vgrajeno tokovno zaščito (500 mA samoponastavljiva varovalka)

Namen skakalcev:
JP1 priključek— namenjen za utripanje mikrokontrolerja programatorja (za utripanje morate zapreti kontakte)
JP2 priključek- napajalna napetost programatorja - 5 voltov ali 3,3 voltov (privzeto - 5 voltov, kot na sliki). Programabilni mikrokrmilnik oziroma konstrukcija v katero je vgrajen s porabo toka 300-400 mA se lahko napaja iz programatorja, konektor ima izhod +5V (VCC).
JP3 priključek- določa frekvenco podatkovne ure SCK: odprta - visoka frekvenca (375 kHz), zaprta - nizka frekvenca (8 kHz)
Več o priključku JP3
Jumper JP3 je namenjen zmanjšanju hitrosti zapisovanja podatkov v mikrokontroler. Če ima mikrokrmilnik taktno frekvenco, nastavljeno na več kot 1,5 MHz, je lahko mostiček odprt in hitrost programiranja je visoka. Če je urna frekvenca nižja od 1,5 MHz, je potrebno na kratko skleniti mostičke - zmanjšajte hitrost programiranja, sicer mikrokontrolerja ne bo mogoče programirati. Na primer, če programiramo mikrokrmilnik ATmega8 (načeloma so skoraj vsi mikrokrmilniki AVR konfigurirani za privzeto taktno frekvenco 1 MHz), ki ima privzeto taktno frekvenco 1 MHz, bo treba zapreti mostičke (kot na fotografiji). Verjetno je bolje, da je ta mostiček stalno zaprt, da pozabite na njegov obstoj in vas ne muči vprašanje, zakaj mikrokrmilnik ne utripa.

Če uporabljate tistega, ki je objavljen na spletnem mestu, potem lahko pozabite na skakalec

Programator je podprt z naslednjo programsko opremo:
— AVR stari
— AVRdude_Prog
- Bascom-AVR
— Khazama AVR program
- eXtreme Burner AVR

Delo s takšnim programatorjem je zelo preprosto - priključite ustrezne pine programatorja na mikrokrmilnik, priklopite na USB vhod računalnika - programator je pripravljen za uporabo.
USBASP 10-polni programski kabel kabla :


1 - MOSI - izhod podatkov za serijsko programiranje
2 - VCC - izhod +5 (+3,3) V za napajanje programabilnega mikrokontrolerja ali programabilne plošče iz USB vhoda računalnika (največji tok 200 mA - da ne zažgete USB vhoda)
3 - NC - ni uporabljen
4 - GND - skupna žica (minus moč)
5 - RST - priključi se na pin RESET mikrokontrolerja
6 - GND
7 - SCK - izhod podatkovne ure
8 - GND
9 - MISO - vnos podatkov za serijsko programiranje
10 - GND

Namestitev gonilnikov za programator USBASP

Namestitev gonilnika za programator USBASB je zelo preprosta:
- priključite programator na vrata USB računalnika in v upravitelju naprav se prikaže nova naprava “USBasp” z rumenim trikotnikom in klicajem v notranjosti, kar pomeni, da gonilniki niso nameščeni
- prenesite in razpakirajte datoteko “USBasp-win-driver-x86-x64-ia64-v3.0.7”
- zaženite datoteko "InstallDriver" - gonilniki za programator bodo samodejno nameščeni
- preverite upravitelja naprav - rumeni trikotnik bi moral izginiti (če ne, z desno miškino tipko kliknite napravo "USBasp" in izberite "Posodobi"
— programator je pripravljen za uporabo

FUSE biti pri programiranju USBASP AVR:

Arhiv “usbasp.2011-05-28” vsebuje naslednje mape:
= BIN:
- win-driver - gonilniki za programer
— firmware — firmware za mikrokontrolerje Mega8, Mega88, Mega48
= vezje - shema vezja preprostega programatorja v PDF in Cadsoft Eagle

Pri utripanju kitajskega programatorja priporočam namestitev FUSE bita CKOPT. CKOPT je povezan z najvišjo hitrostjo ure. Privzeto je CKOPT ponastavljen in stabilno delovanje mikrokontrolerja programatorja pri uporabi kvarčnega resonatorja je možno le do frekvence 8 MHz (mikrokrmilnik programatorja pa deluje na frekvenci 12 MHz). Nastavitev bita CKOPT FUSE poveča največjo frekvenco na 16 MHz. Kitajci se tega bita FUSE ne dotikajo, kar pogosto vodi do okvare programatorja (običajno sistem ne zazna programatorja).

Arhiv “USBasp-win-driver-x86-x64-ia64-v3.0.7” je namenjen namestitvi gonilnikov, kot je navedeno v članku

(518,9 KiB, 13.188 zadetkov)

(10,9 MiB, 24.942 zadetkov)

Programator USBASP, opisan v članku, utripal z najnovejšo različico programa, preizkušen v delovanju, z nameščenimi mostički in mostički, lahko kupite v spletni trgovini MirMK-SHOP

Program je posodobljen na različico 08.06.2010.
Avtor UniProf neumorno dela na izboljšanju svojega programa, zaradi česar je še boljši. Različica programa od 08.06.2010 veliko bolje šiva mikrokontrolerje. Pogoste napake, opažene v prejšnji različici pri programiranju brez potrditvenega polja "zavore", so stvar preteklosti. Vse ostalo, kar nam je všeč pri UniProfu, ostaja na mestu.

Če sem iskren, sem se sprva odločil, da uporabim program AVRDUDE za flashanje mikrokontrolerjev. AVRDUDE je zmogljiv program, ki si zasluži spoštovanje - deluje z ogromno programerji, s kopico nastavitev in je precej razširjen za AVR mikrokrmilnike. Program nima lastnega »GUI« (deluje iz ukazne vrstice) in nameraval sem napisati paketne datoteke za vsako vdelano programsko opremo, da bi z enim klikom utripal krmilnik. Toda po kratkem premisleku sem prišel do zaključka:
- program mora biti preprost in dostopen - tako da ga lahko razume tudi oseba, ki še nikoli ni delala z mikrokontrolerji (no, jaz sem tak idealist :));
— je bil majhen, prenosljiv, z lastnim GUI, vizualno je prikazoval vse stopnje programiranja in podpiral mikrokontrolerje, uporabljene v blogu.
Na žalost AVRDUDE ne izpolnjuje teh zahtev.
Toda drug program je primeren - UniProf-univerzalni programator za AVR. Program ima določene pomanjkljivosti, ki pa jih kompenzira njegova preprostost in dostopnost. Poleg tega lahko UniProf sodeluje z našimi programatorji LPT in COM. Zato sem se odločil, da naredim splošen naknadni pregled programa UniProf, kasneje pa bom posebej opisal programiranje preko LPT in COM vrat. torej …

Avtor programa je Mikhail Nikolaev. Program ima precej dolgo zgodovino, vendar se ne more pohvaliti s pogostimi posodobitvami. Hkrati je program tako preprost in priročen, da zdaj ne izgubi svoje pomembnosti niti v ozadju naprednejših programov.

Začnimo se spoznavati.
vsebuje vse funkcionalnosti programa. Ni vam treba krmariti po meniju - vse se naredi z enim klikom. Program ima svojo pomoč (pritisnite F1), v kateri je vse podrobno opisano. Vmesnik UniProf je intuitiven, a pojdimo skozi okenske elemente.
Glavni element je okno PROGRAM. V njej (v celicah tabele) so prikazane prebrane ali zapisane vrednosti pomnilniških celic krmilnika. Če počistite polje PROGRAM, bo okno izginilo. Obstaja tudi potrditveno polje za EEPROM, da prikažete ali skrijete okno EEPROM pomnilnika krmilnika (v večini primerov ne potrebujemo EEPROM - počistite to polje).

Zgornja vrstica gumbov (od leve proti desni)

Zapišite vsebino oken (firmware) v krmilnik. Najprej morate naložiti firmware iz datoteke v okna. (če je potrditveno polje EEPROM označeno, je zapisano tudi področje EEPROM).

Preverjanje (verifikacija) pomnilnika krmilnika z vrednostmi v poljih. Razlike so označene z zvezdicami. (Po snemanju se preverjanje izvede avtomatsko – preverjanje torej ni potrebno).

Preverjanje čistoče krmilnika. Za "čist" krmilnik vse pomnilniške celice vsebujejo 0xFF, ki je preverjen.

Nastavitev bitov FUSE. Previdno potrdite polja, kot je prikazano na sliki, priloženi vsaki vdelani programski opremi.
Pomembno! Pred utripanjem bitov FUSE preverite potrditveno polje »zavore«; to bo zmanjšalo tveganje njihovega napačnega zapisa.

Ekipa na nizki ravni. Bolje, da se ga ne dotikaš.

Izbrišite krmilnik. Pred vsakim programiranjem očistite kristal.

Prvi trije odprite datoteko vdelane programske opreme ustrezne vrste (objavil bom vdelano programsko opremo HEX) in napolnite okna z vrednostmi iz odprte datoteke. Naslednje tri shrani v datoteko izbrano vrsto vrednosti iz polj.

"oscal"— branje kalibracijskih bajtov krmilnika. Ne potrebujemo.

F1-pomoč– pokličite vgrajeno pomoč.

Naslednja dva gumba odpravljanje napak v krmilniku- ne potrebujemo.

LPT zatiči– zelo uporabna stvar za tiste, ki so že namestili nekaj linij vrat LPT ali uporabljajo programator drugačne zasnove. Omogoča vam dodelitev poljubnih linij vrat za zamenjavo izgorelih.

Potrditvena polja pod gumbi.

Postavimo kot na sliki. Prvi prikazuje prebrane ali pripravljene bajte za zapis v krmilnik. Drugi je za prisilno pisanje 0xFF v prazno celico. Tretja je obračanje linij vrat COM (pri uporabi vmesnega čipa v programatorju). Ime povezanega krmilnika bo svetilo modro. Nato vklopite/izklopite okno EEPROM. Sistemska frekvenca je prikazana rdeče.
Pomembno! Če kliknete na rdečega, se bo program ponovno sinhroniziral s krmilnikom. Pritisnite za vsak slučaj, preden se začne programiranje.

Ostali okenski elementi.

Ta potrditvena polja odstranijo nepotrebne gumbe (da ne bi prišlo do zmede). Postavimo kot na sliki.

Zelo pomembno! Obvezno potrditveno polje. V stari različici programa so bile določene težave z zanesljivostjo programiranja brez tega potrditvenega polja. Ta problem je v novi različici programa odpravljen! Če pa med pisanjem ali branjem pride do napak, program to takoj pošteno prizna. Če ga imate, označite polje "zavore" in vse se bo posnelo brez težav! Samo počasi. Pri snemanju varovalk je potrebna "zavora"! Ni treba tvegati.

Določite lahko, katero območje želite zažgati - nastavite »Vse!«

Izbira vrat, s katerimi bomo delali. Če ne vemo, kje je bil programator potisnjen, pregledamo vse enega za drugim, dokler vaš krmilnik ni označen z modro.

Obstajajo tudi "vroče tipke".

F2 Nastavitev zakasnitve snemanja, normalno = 6. Če pride do napak, jo poskusite povečati (učinka ni opaziti).

F3 Prikaže seznam podprtih krmilnikov.

Siva -,+ Zmanjšajte ali povečajte pisavo številk v oknih Flash in EEPROM - to je lahko koristno pri spreminjanju velikosti okna.

Esc– prekliče trenutno dejanje.

Obstaja več, vendar ni zelo potrebno - preberite vgrajeno pomoč.

UniProf lahko prenesete tukaj:
- Programator za AVR. Pogledamo na avr.nikolaew.org

P.S. Kakorkoli, čez čas bomo uporabljali AVRDUDE - močna stvar!

(Obiskano 48.833 krat, 11 obiskov danes)

Programator temelji na gonilniku podjetja Objective Development in je v ukazih popolnoma združljiv z originalnim programatorjem AVR910 proizvajalca ATMEL. Opis naprave. Varovalka ščiti napajalne napeljave vrat USB pred nenamernimi kratkimi stiki v tokokrogih napajanja programatorja. Diode VD1, VD2 so usmerniške silicije, zasnovane so tako, da zmanjšajo napajanje mikrokrmilnika na 3,6 V. Po dokumentaciji lahko krmilnik deluje pri tej napajalni napetosti do frekvence nekaj nad 14 MHz. LED VL1 (" R.D."), VL2 (" WR") signalizirajo trenutna dejanja programerja in označujejo načina branja in pisanja. LED VL3 (" PWR«) označuje, da se napaja .

Jumper J1 - ( SPREMENI) se uporablja za začetno programiranje krmilnega MK programatorja. Ko je zaprt, se zunanji programator priključi na priključek ISP in krmilni program se naloži v MK. Po programiranju krmilnega MK programatorja mora biti ta mostiček odprt in mostiček J2 - NORMal zaprt.

Skakalec J3 NIZEK SCK zniža taktno frekvenco vrat SPI programatorja MK na ~20 kHz. Ko je mostiček odprt, je frekvenca SPI normalna, ko je zaprt, se zmanjša. Mostiček lahko preklopite sproti, saj nadzorni program MK programatorja preveri stanje linije PB0 ob vsakem dostopu do SPI porta. Med pisanjem/branjem programabilnega mikrokontrolerja ni priporočljivo preklopiti mostička, saj bo to najverjetneje povzročilo popačenje podatkov, ki se zapisujejo/berejo. Jumper J3 je uveden, da omogoči programiranje mikrokontrolerjev AVR, ki jih taktira notranji 128 kHz oscilator.

Upori R10 - R14 so zasnovani tako, da se ujemajo z nivoji signala mikrokrmilnika programatorja in zunanjih vezij (programabilni mikrokrmilnik ali drug programator). Urna frekvenca vrat SPI programatorja MK z odprtim mostičkom J3 je 187,5 kHz. To omogoča programiranje krmilnikov s hitrostjo ure od približno 570 kHz za ATtiny/ATmega, 750 kHz za 90S in 7,5 MHz za 89S. Krmilniki so programirani od 10 do 30 sekund (z uporabo pripomočka AVRProg v.1.4 iz paketa AVR Studio) skupaj s preverjanjem glede na količino FLASH pomnilnika in frekvenco ure.

Kvadratni val s frekvenco 1 MHz se odda na izhod LED priključka ISP, da "oživi" MK, ki so imeli napačno programirane varovalke, odgovorne za takt. Signal se generira konstantno in ni odvisen od načina delovanja programatorja. Programator je bil testiran s programi AVRProg v.1.4 (vključen v paket AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Za normalno delovanje krmilnika v vezju je potrebno, da so biti programirani (nastavljeni na “0”) SPIEN, CKOPT, SUT0 in BODEN. Običajno mikrokrmilniki, ki prihajajo iz tovarne, npr. nove, malo že sprogramirane SPIEN. Preostali biti morajo biti neprogramirani (nastavljeni na "1").

Navodila za namestitev in delovanje. Flash krmilnik. Sveže pečen programator povežite z računalnikom preko USB. Operacijski sistem bo našel novo napravo - AVR910 USB Programmer, ko bo pozvan, da samodejno najde gonilnik, zavrne in določi pot do datoteke inf, odvisno od operacijskega sistema, nameščenega v vašem računalniku.

Na forumu so vse datoteke, pa tudi tiskano vezje za naš avr programator. Tukaj vam bom pokazal tehnologijo sestavljanja AVR USB programatorja in pakiranja v kovček. Najprej prenesite arhiv in naredite tiskano vezje.

Nato nanj spajkamo vse podrobnosti. Nisem našel majhnega kvarca, zato sem spajkal velikega, vendar na dolgih nogah, da sem ga kasneje upognil, da ne bi motil namestitve plošče v ohišje. Nato izberemo primerno ohišje, enega sem imel že pripravljenega.

Tablo prilagodimo ohišju, naredimo vse mere, izvrtamo luknje in tukaj imate končano napravo, z univerzalno ploščo.

Če ni posebne merilne opreme, lahko preverite z uporabo LED. LED je povezana z anodo na zatič LED, katoda pa s poljubnim zatičem GND priključka ISP. Ko je priključen na napajanje, mora LED svetiti s polno intenzivnostjo. Ko zaprete noge kvarčnega oscilatorja s pinceto, bi morala LED svetiti na "polni temperaturi" ali pa ne bi smela svetiti.

Brez napak, sestavljenega programatorja s pravilno programiranim mikrokontrolerjem ni treba konfigurirati. Če pa je vhod RESET programabilnega MK povezan z napajalno napetostjo z uporom, potem vrednost upora ne sme biti nižja od 10 kOhm - to je posledica zmanjšane napajalne napetosti krmilnika v programatorskem vezju in uvedbe omejevalnih uporov na vodilu priključka ISP.

Razpravljajte o članku AVR USB PROGRAMER



Deliti