Korábban felmerült a dilemma, hogy a programozóban dolgozó AVR-t valahogy fel kellene programozni. Mivel a programozó ilyenkor még nem működik, más módszert kell választani.
PonyProg
A neten találtam a PonyProg nevű, sokféle eszköz programozására alkalmas szoftvert. Gyakorlatilag a www.lancos.com/siprogsch.html oldalon található "Base Board" és "AVR Microcontroller Adapter, AVR 20 pin" kapcsolásokat egy lukacsos próbapanelre összedobtam (a lenti képen látható a "remekmű", alatta a kapcsolási rajza), a bekeretezett "External Power Circuit" részt és a modulok közti csatlakozófelületeket teljesen elhagyva. Ezzel az alkalmatossággal a PonyProg segítségével az asztali gépemben lévő hagyományos soros porton keresztül fel tudtam programozni az ATtiny2313-at (a programozás menetéről kicsit később részletesen is írok).


Alternatív megoldás
Ebben a szakaszban leírom azt, hogy a teljesen megépített, de még a firmware-t nem tartalmazó áramkörrel hogyan lehet a firmware-t külön programozó eszköz nélkül az AVR-be égetni. Az égetéshez szintén a PonyProg-ot fogjuk használni, de a szükséges soros portos összekötéseket az elkészült panel digitális jelszintű vezetékeivel fogjuk kialakítani. A szükséges jelösszekötések a PonyProg működéséhez:
Soros port
|
AVR |
TX |
RESET |
DSR, RTS |
SCK |
CTS |
MISO |
DTR |
MOSI |
Mivel az elkészült panelen a soros porti jelek is megtalálhatók (lásd a képeken), nincs más dolgunk, mint a panel megfelelő pontjait összekötni. Én az összekötéseket nem vezetékekkel, hanem 680 ohm-os ellenállásokkal valósítottam meg, amivel a zárlati áramot korlátoztam, ha esetleg az ellenállás mindkét végén lévő pont kimenet lenne (normál működés esetén az ellenállásnak gyakorlatilag nincsen semmilyen szerepe, ez csak biztonsági intézkedés). A jelek megfelelő összekötéséhez a DSR-RTS kapcsolatot az FT232RL mellett lévő, 4-es tüskesor két középső tüskéjére helyezett jumperrel alakíthatjuk ki, a többit az ellenállások megfelelő forrpontokhoz forrasztásával (lent látható három kép a gyakorlati megvalósításról is).
Az összekötések kialakítása után a készüléket csatlakoztatni kell a számítógéphez az USB porton keresztül (az FT232 meghajtóprogramokat fel kell telepíteni, ha eddig még nem lettek), majd ellenőrizni kell, hogy az USB-serial soros port hányas soros portként jelenik meg az eszközkezelőben. Amennyiben a soros port száma 4-nél nagyobb lenne, akkor azt át kell állítani 1-4 között valami más sorszámra (tulajdonságok/port beállítása/speciális), mert a PonyProg csak az első 4 soros porttal tud kommunikálni. Ezzel a soros portunk rendben van.
Az AVR felprogramozása a PonyProg-gal
Töltsük le, telepítsük fel és indítsuk el a PonyProg programot (a nyerítéstől nem kell megijedni!
), majd a Setup menü "Interface Setup" pontjában megjelenő ablakon állítsuk be a PonyProg által kezelendő hardvert az alábbiak szerint (természetesen a saját rendszerünkön használt soros portot bejelölve), ügyelve arra, hogy a hagyományos soros portra csatlakozó, vagy az "Alternatív megoldás" fejezetben leírt módszert használjuk-e:
Hagyományos soros portra
kötött programozónál
|
"Alternatív megoldás"
(az FT232-n keresztül) |
|
|
Ha semmit sem rontottunk el, akkor a "Probe" gombra kattintva egy "Test Ok" üzenetet kell kapnunk. Ezután még indítsuk el a setup menü "Calibration" pontját, hogy a program megmérhesse gépünk sebességét és az időzítéseket ehhez igazítsa. Ha ez is lefutott, akkor készen állunk a chip programozására.
A programozás menete:
- a program m enüsora alatt, a jobb oldalon lévő lenyíló mezőkben válasszuk ki a programozandó chip típusát: AVR micro/ATtiny2313;
- a File menü "Open Program (FLASH) File" pontjával töltsük be a hex-et (avr910-2313.hex);
- a Command menü "Erase" pontjával töröljük az AVR-t (erre új chip esetén nincs szükség);
- a Command menü "Write Program (FLASH)" pontjával indítsuk el a chip programozását (USB/soros átalakítóval ez nagyon lassú lehet, akár negyed óráig is eltarthat);
- az írásnak "Write successful" üzenettel kell végződnie, ha minden rendben volt;
- a Command menü "Security and Configuration Bits" pontjában a lent látható módon állítsuk be a pipákat, majd a "Write" gombbal írjuk ki a chipbe.
Ha minden rendben lezajlott, sehol nem kaptunk hibaüzenetet, akkor ezzel készen is vagyunk. Szétszedhetjük a soros portos programozót (eltávolíthatjuk az ellenállásokat, visszarakhatjuk a jumpereket az eredeti helyükre), és használhatjuk a frissen elkészült AVRISP programozónkat.
Jó munkát!
A cikk még nem ért véget, lapozz!
Értékeléshez bejelentkezés szükséges!