AVR ISP program´ ator BiProg UREL verze: Aleˇs Povalaˇc,
[email protected] ; revize 02/2013 P˚ uvodn´ı verze: Luboˇs R¨ uckl, http://web.quick.cz/ruckl/biprog/biprog.html
´ Uvod BiProg se osvˇedˇcil jako bezprobl´emov´ y univerz´aln´ı program´ator procesor˚ u Atmel ˇrady AVR a 51. Pro studenty UREL je moˇzn´e na d´ılnˇe (PA–627) z´ıskat za symbolick´ y poplatek (35 Kˇc) pˇredvrtanou oboustrannou DPS. Osazen´ı desky je moˇzn´e v bastl´ırnˇe (PA–624), kde se tak´e nal´ez´a prototypov´ y vzorek, slouˇz´ıc´ı pˇredevˇs´ım pro prvn´ı naprogramov´an´ı zkonstruovan´ ych BiProg˚ u. Program´ator nalezne kromˇe vlastn´ı tv˚ urˇc´ı studentsk´e ˇcinnosti uplatnˇen´ı pˇri realizaci bakal´aˇrsk´ ych a diplomov´ ych prac´ı, pˇr´ıpadnˇe projekt˚ u do nˇekter´ ych pˇredmˇet˚ u.
Popis program´ atoru BiProg slouˇz´ı k ISP programov´an´ı mikroprocesor˚ u Atmel. Jako ˇr´ıd´ıc´ı aplikaci zvol´ı vˇetˇsina uˇzivatel˚ u zˇrejmˇe AVR Studio, je moˇzn´e vyuˇz´ıt i avrdude spouˇstˇen´ y z pˇr´ıkazov´e ˇr´adky (pˇres Makefile) v reˇzimu stk500v2. Popis konstrukce lze nal´ezt na str´ank´ach autora, tento struˇcn´ y n´avod se omez´ı na specifika UREL verze a z´akladn´ı funkce. Na DPS se nach´az´ı ˇctyˇrn´asobn´ y pˇrep´ınaˇc, kter´ ym se vol´ı jednotliv´e reˇzimy nap´ajen´ı. Sp´ınaˇc VTG slouˇz´ı k propojen´ı nap´ajen´ı BiProgu s c´ılovou deskou, sp´ınaˇc USB k propojen´ı nap´ajen´ı BiProgu s USB. Dle jejich poloh m˚ uˇze BiProg: • nap´ajet c´ılovou aplikaci z USB (VTG = zap., USB = zap.), • m´ıt oddˇelen´e nap´ajen´ı (VTG = vyp., USB = zap.), • b´ yt nap´ajen z aplikace (VTG = zap., USB = vyp.). Pokud c´ılov´a aplikace poskytuje na ISP konektoru nap´ajec´ı napˇet´ı, je doporuˇceno ˇ a LED indikuje pˇr´ıtomnost napˇet´ı na ISP konektoru, tj. jeho zvolit oddˇelen´e nap´ajen´ı. Zlut´ spr´avn´e zapojen´ı. Pokud je vyv´ıjen´a aplikace proudovˇe nen´aroˇcn´a (do 500 mA) a nem´a vlastn´ı nap´ajen´ı (napˇr. sestaven´a na kontaktn´ım poli), je moˇzn´e vyuˇz´ıt nap´ajen´ı c´ılov´e ˇ a LED se rozsv´ıt´ı po nastaven´ı pˇrep´ınaˇc˚ aplikace z USB. Zlut´ u. V t´eto konfiguraci nesm´ı b´ yt na ISP konektor pˇrivedeno ciz´ı nap´ajen´ı – hrozn´ı zniˇcen´ı USB portu poˇc´ıtaˇce. Pˇrep´ınaˇcem se d´ale vol´ı pracovn´ı napˇet´ı program´atoru. BiProg m˚ uˇze pracovat ve dvou reˇzimech: pˇri napˇet´ı 5 V a pˇri 3,3 V. Pˇr´ısluˇsn´ y pˇrep´ınaˇc mus´ı b´ yt zapnut´ y. Pozor, nikdy nesm´ı b´ yt sepnuty oba sp´ınaˇce souˇcasnˇe. Zelen´a LED indikuje pˇripravenost program´atoru, ˇcerven´a LED prob´ıhaj´ıc´ı operaci. Tlaˇc´ıtko slouˇz´ı k aktivaci bootloaderu – jeho stiskem pˇri zapnut´ı nap´ajen´ı je moˇzn´e ak1
tivovat reˇzim aktualizace firmware BiProgu. V´ıce viz webov´e str´anky autora p˚ uvodn´ı konstrukce.
Seznam souˇ c´ astek Vˇsechny souˇca´stky je moˇzn´e zakoupit v GME, orientaˇcn´ı cena je cca 300 Kˇc. D´ale budete potˇrebovat mini–USB kabel (draze v GME nebo levnˇeji napˇr. v Softcomu) a programovac´ı ISP kabel (2× PFL06 a kousek ploch´eho kabelu). 1x 1x 1x 1x 1x 1x 1x 1x
LF33CDT FT232RL ATMEGA8L TL.10uH QM 7.372MHZ LED 3MM 2MA/G LED 3MM 2MA/R LED 3MM 2MA/Y
2x 4x 3x 2x 2x 1x 7x 3x
R1206 27R R1206 100R R1206 330R R1206 10k C1206 27p C1206 10n C1206 100n C SMC_A 4u7/16V
1x 1x 1x 1x
P-B1720C (do krabiˇ cky) nebo A (na DPS) DIP 4X MLW06G USB-MINI B F SMD
Z hlediska mechanick´eho proveden´ı se nab´ız´ı dvˇe varianty. DPS lze oˇr´ıznout, DIP pˇrep´ınaˇc um´ıstit napˇr. do precizn´ı patice (aby byl dostateˇcnˇe vysoko) a celek um´ıstit do krabiˇcky U–KP49A s vypilovan´ ymi otvory. Jednoduˇsˇs´ı variantou je v m´ıstech otvor˚ u podlepit noˇziˇcky (GF7 ) ˇci proˇsroubovat kr´atk´e distanˇcn´ı sloupky (DI5M3X05 ) a desku ponechat bez krytu.
Osazen´ı Pokud budou pouˇzity neprokoven´e desky, je nutn´e nejdˇr´ıve prop´ajet vˇsech 20 prokov˚ u“ ” pˇres desku. Ostatn´ı SMD souˇc´astky se p´aj´ı bˇeˇzn´ ym postupem, pˇri osazov´an´ı obvod˚ u doporuˇcujeme pouˇz´ıt vhodn´e tavidlo, v´ yvody zap´ajet jedn´ım tahem nar´az a pˇr´ıpadn´ y nadbyteˇcn´ y c´ın ods´at licnou (na t´ema p´ajen´ı SMD lze nal´ezt ˇradu materi´al˚ u a tutori´al˚ u na internetu, napˇr. mcu.cz/news.php?extend.493.15 ).
4u7 4
100n
27R 27R
100n
GR
100n
3 10k
100
MLW06G
330 RD JP1
100 LF33CDT 100n
YL
ATmega8L 27p 27p
100
DIP 4X
4
1
330
330
100
QM 7.372MHZ 100n 10k
2
6
4u7
P-B1720x 1 2
1
4u7
2
3
10uH
10n
ON
100n FT232RL
2
100n
Krystal je vhodn´e osadit 0,5 mm nad desku, pˇr´ıp. vrt´akem odstranit ploˇsky na horn´ı stranˇe DPS, aby jej nemohly zkratovat. U mini-USB konektoru je tˇreba kromˇe pouzdra nezapomenout vˇcas pˇrip´ajet i pˇet sign´alov´ ych v´ yvod˚ u (po osazen´ı LED jsou ˇspatnˇe pˇr´ıstupn´e). Pozor na tlaˇc´ıtko a DIP pˇrep´ınaˇc, je moˇzn´e je relativnˇe snadno poˇskodit tepeln´ ym nam´ah´an´ım zp˚ usoben´ ym dlouh´ ym p´ajen´ım. U tlaˇc´ıtka, tlumivky a nˇekter´ ych LED se v´ yvody p´aj´ı z obou stran DPS.
Oˇ ziven´ı Pro oˇziven´ı je nutn´e m´ıt k dispozici jin´ y AVR program´ator pro prvotn´ı naprogramov´an´ı procesoru a d´ale poˇc´ıtaˇc s nainstalovan´ ymi FTDI CDM ovladaˇci (www.ftdichip.com) a AVR Studiem (www.atmel.com/avrstudio). Podpora syst´emu Windows XP je samozˇrejm´a, s AVR Studiem 4.18 a pˇr´ısluˇsn´ ymi FTDI ovladaˇci funguje program´ator i na syst´emech Windows 7 a Windows Vista (i 64bit verze). Aktu´aln´ı firmware (02/2013) podporuje STK500 modul v nov´ ych prostˇred´ıch AVR Studio 5 a 6 (viz n´ıˇze). S pomoc´ı avrdude je moˇzn´e BiProg pouˇz´ıvat i na Linuxu. Nejdˇr´ıve je pro oˇziven´ı nutn´e desku pˇripojit na nap´ajec´ı napˇet´ı. Na pˇ rep´ınaˇ ci se do polohy ON nastav´ı pozice 5V a USB. M´enˇe odv´aˇzn´ı mohou ohmmetrem promˇeˇrit, zda nen´ı 5 V vˇetev zkratov´ana na zem, n´aslednˇe je moˇzn´e pˇripojit USB konektor do poˇc´ıtaˇce. Voltmetrem provˇeˇr´ıme nap´ajen´ı 5 V a 3,3 V na desce, napˇr. na v´ yvodech stabiliz´atoru.
Po nainstalov´an´ı FTDI ovladaˇc˚ u se program´ator m˚ uˇze namapovat na vysok´e ˇc´ıslo COM portu, bohuˇzel n´astroje v AVR Studiu s t´ım maj´ı probl´emy. Je vhodn´e ve Spr´avci zaˇr´ızen´ı → Porty → USB Serial Port zkontrolovat ˇc´ıslo, pˇr´ıp. pomoc´ı Port Settings → Advanced → COM Port Number nastavit ˇc´ıslo nov´e (doporuˇcujeme COM1 aˇz COM4). K tˇemto u ´prav´am je tˇreba opr´avnˇen´ı spr´avce, na poˇc´ıtaˇc´ıch v laboratoˇr´ıch jsou omezen´e u ´ˇcty. Testov´an´ı je proto vhodnˇejˇs´ı prov´adˇet na vlastn´ım notebooku. Nyn´ı je nutn´e naprogramovat procesor v BiProgu. Propojku JP1 u procesoru na BiProgu prop´aj´ıme do polohy od stˇredu smˇerem k bliˇzˇs´ımu kraji DPS. Pˇripoj´ıme se jin´ ym program´atorem, zkontrolujeme, ˇze je program´ator nap´ajen´ y a ˇze po v´ ybˇeru procesoru pro3
gramovac´ı SW reaguje (viz obr. vlevo – vybrat procesor, stisknout Read Signature, zkontrolovat Signature matches selected device). Pokud program´ator nekomunikuje, je probl´em bud’ v nap´ajen´ı procesoru nebo v jeho pˇripojen´ı, pˇr´ıpadnˇe v pˇr´ıliˇs vysok´e ISP frekvenci – mus´ı b´ yt max. 250 kHz. Chcete-li nov´ y BiProg naprogramovat m´ıstn´ım“ BiProgem z la” boratoˇre PA–624, nen´ı nutn´e pˇripojovat dva USB kabely; staˇc´ı pouˇz´ıt m´ıstn´ı“ BiProg ” (na pˇ rep´ınaˇ ci v poloze ON pozice 5V, USB a VTG) a spr´avnˇe nastavit oˇ zivovan´ y BiProg (na pˇ rep´ınaˇ ci v poloze ON pozice 5V a VTG). N´aslednˇe v program´atoru vybereme programovac´ı ELF soubor biprog.elf poˇzadovan´e verze a stiskneme Program (viz obr. vpravo). Soubor ELF obsahuje pˇripraven´ y bootloader, firmware, EEPROM, pojistky i z´amky – je moˇzn´e pouˇz´ıt i podrobn´ y komplikovanˇejˇs´ı postup dle str´anek autora konstrukce (bootloader, pojistky, z´amek, AVRprog, HEX, EEPROM). M˚ uˇze se vyskytnout i situace, kdy se oˇzivovan´ y BiProg zd´a pod napˇet´ım, LED sv´ıt´ı a v nˇekter´ ych pˇr´ıpadech se daˇr´ı i pˇreˇc´ıst pojistky, avˇsak z´apis do procesoru selh´av´a. V tomto pˇr´ıpadˇe jsou s nejvyˇsˇs´ı pravdˇepodobnost´ı ˇspatnˇe nastaven´e propojky nap´ajen´ı na nˇekter´em z program´ator˚ u – oˇzivovan´ y BiProg je parazitnˇe nap´ajen´ y z datov´ ych vodiˇc˚ u pˇres ochrann´e diody na pinech procesoru.
Posledn´ım krokem je pˇrep´ajen´ı propojky JP1 u procesoru do polohy od stˇredu smˇerem ke vzd´alenˇejˇs´ımu kraji desky (k FT232). T´ım je program´ator hotov´ y – m˚ uˇzete se na nˇej AVR Studiem pˇripojit (Tools → Program AVR → Connect, zvolit STK500, port a Connect) a zaˇc´ıt pracovat. Blik´a-li zelen´a LED dioda, je procesor korektnˇe naprogramovan´ y. Pokud se AVR Studio odm´ıt´a pˇripojit a COM port je v syst´emu korektnˇe nainstalovan´ y, bude na DPS probl´em ve spojen´ı mezi FT232 a ATmega8.
4
Aktualizace firmwaru Origin´aln´ı firmware nepodporuje nov´e AVR Studio 5 a 6. Tyto verze vyˇzaduj´ı identifikaci program´atoru jako STK500v2, p˚ uvodn´ı BiProg nab´ız´ı automatick´ y v´ ybˇer mezi AVR910 (AvrProg) a AVRISPv2 (resp. AVR068, t´emˇeˇr stejn´ y jako STK500v2, ale ne zcela). Z webu UREL je moˇzn´e st´ahnout nov´ y firmware, kter´ y emuluje funkci STK500v2. Detekce pˇr´ıkaz˚ u AVR910 byla odstranˇena, protoˇze v nˇekter´ ych speci´aln´ıch pˇr´ıpadech zp˚ usobovala probl´emy. Firmware vrac´ı pevnou hodnotu VTARGET = 3,3 V pro potlaˇcen´ı chybov´ ych hl´aˇsen´ı softwaru, nastaven´ı a mˇeˇren´ı tohoto napˇet´ı hardware nepodporuje. Aktualizovat firmware v BiProgu je moˇzn´e dvˇema zp˚ usoby. Je-li k dispozici druh´ y program´ator, lze zopakovat postup uveden´ y v´ yˇse (pˇrehodit propojku, nahr´at nov´ y ELF soubor a pˇrehodit zpˇet). Druhou variantou je pouˇz´ıt bootloader BiProgu a aktualizovat prostˇrednictv´ım avrdude. Pˇri pˇripojov´an´ı k PC je tˇreba stisknout a drˇzet tlaˇc´ıtko na BiProgu, ˇcerven´a LED zaˇcne blikat. Bˇehem nˇekolika sekund (neˇz blikat pˇrestane) je nutn´e spustit software program´atoru. Utilitu avrdude lze zavolat pˇr´ıkazem: avrdude -p atmega8 -b 115200 -P comXX -c avr910 -U flash:w:biprog.hex -U eeprom:w:biprog.eep kde comXX oznaˇcuje COM port, ke kter´emu je BiProg pˇripojen. Po ukonˇcen´ı avrdude z˚ ustane sv´ıtit ˇcerven´a LED, je moˇzn´e BiProg odpojit. T´ım je aktualizace dokonˇcena. Modul STK500 v AVR Studiu 5 a 6 bohuˇzel ve v´ ychoz´ı instalaci neobsahuje podporu ˇrady pouˇz´ıvan´ ych mikroprocesor˚ u. Tu lze snadno pˇridat postupem uveden´ ym na adrese www.pololu.com/docs/0J36/3.b.1 – struˇcnˇe ˇreˇceno, je tˇreba doplnit XML soubory pro poˇzadovan´e procesory v adres´aˇri C:\Program Files (x86)\Atmel\Atmel Studio 6.0\ tools\STK500\xml, postup je intuitivn´ı.
5