Egyszerű AVR programozó
Ezzel az egyszerű AVR programozóval többféle AVR mikrokontrollert is programozhatunk a PC párhuzamos portján keresztül. A programozást egy parancssoros felőleltű DOS alkalmazás teszi lehetővé. Amilyen egyszerű, olyan hatékony is. A programozó 12V és 5V tápfeszültséget igényel. 5V az általános működéshez szükséges, 12V-nak pedig a programozáskor van szerepe. A programozás folyamatát egy LED jelzi. A kapcsolásról nem is írnék többet, egyszerűen össze kell építeni, ahogy a rajzon van. A DIP8-as foglalat előtt van egy kis kapcsoló. erre azért van szükség, mert ebbe a foglalatba csatlakoztatható olyan AVR is aminek a lábkiosztás eltérő. Összerakva az áramkört, kapcsoljuk rá a tápfeszültségeket, majd csatlakoztassuk a PC LPT portjához.
A programról röviden
Használata DOS parancssorból lehetséges. Programozásra két alkalmazás is a rendelkezésünkre áll. Az egyik az avrsp.exe, a másik pedig az avrpp.exe. Az avrsp ISP programozót kezel, az avrpp pedig a párhuzamos programozót kezeli.
A programozó a következő kontrollereket támogatja:
- AT90S 1200, 2313, 2323, 2333, 2343, 4414, 4433, 4434, 8515, 8535
- ATtiny 12, 13, 15, 22, 24, 25, 26, 44, 45, 84, 85, 261, 461, 861, 2313
- ATmega 8, 16, 32, 48, 48P, 64, 88, 88P, 103, 128, 161, 162, 163, 164P, 165, 168, 168P, 169, 323, 324P, 325/9, 328P, 3250/90, 603, 640, 644, 644P, 645/9, 1280, 1281, 2560, 2561, 6450/90, 8515, 8535
- AT90CAN 32, 64, 128, AT90PWM 2, 3
A vezérlési időzítéseket két metódus határozza meg. A késleltetési időt a Windows API QueryPerformanceCounter(), melynek egysége msec, és a QueryPerformanceFrequency() paraméter használatos. A késleltetési idő egysége az I/O port olvasása közben msec. Az átviteli sebesség a -d paraméterrel változtatható meg.
A párhuzamos programozási módnál elsőként a szoftver megpróbálja kiolvasni az eszköz ID azonosítóját. Ezt sikeresen kiolvasva a mikrovezérlő felismerése automatikusan megtörténik.
A programozó az -stb és a -selin parancsokkal vezérli a Vcc és a Vpp feszültségeket. Ez alapesetben logikai H szinten van, amíg a programozó szoftver be nem állítja. Amíg a LED világít az áramkörben addig ne csatlakoztassunk mikrokontrollert a foglalatba. A 12V megjelenése a RESET lábon programozói módba teszi a mikrokontrollert. A programozó csak 1200/2313-as lábkiosztású vezérlőket támogatja. Minden más eszköz programozásához konverterre van szükség. Ha megépíted ezt a programozót, célszerű több átalakítót is készíteni hozzá, hogy ménnél több kontrollert lehessen vele programozni.
A programozás menete
A csőre töltött programozóáramkörünk meglétét követően megkezdhetjük az eszköz felprogramozását, valamint más egyéb műveleteket is végezhetünk rajta. Programozáshoz használjuk az avrpp.exe alkalmazást.
A program künönböző kapcsolókkal vezérelhető.
- -r Eszköz teszt. Kijelzi az eszköz típusát.
- -rp A program kiolvasása Intel-Hex formátumban.
- -re EEPROM tartalmának kiolvasása Intel-Hex formátumban.
- -rf A konfigurációs bitek kiolvasása.
- -v Ellenőrzés végrehajtása
- -l[“bin”] Eszköz lezárása.
- -e Chip törlése. Nem feltétlen szükséges, mert programozáskor a programmemória felülíródik
- -fl”bin” programozói bájt átírása nullára. A bájt egy meghatározott hosszúságú bitekből álló bináris számsor “bin”. Ha nem állítassz be értéket, akkor az eszköz gyári értékei kerülnek beírásra.
- -fh”bin” Programozói bájt átírása 1-re.
- -fx”bin” Kiterjesztett programozói bájt.
- -c Másolás beállító bájt
- -pc”n” Megadható a használni kívánt COM port száma. Alapértelmezett a COM1.
- -pl”n” Megadható a használni kívánt LPT port száma.
- -8 HVS eszköz automatikus felismertetése.
- -5 ATtiny15 automatikus felismertetése.
- -q Quick power-up algoritmus engedélyezése.
Használati példák
Írjuk be prog1.hex tartalmát a program memóriába. Ne használjunk hosszú fájlneveket.
avrpp prog1.hex
Hasonlítsuk össze a beírt kódot az eredeti kóddal
avrpp -v prog1.hex
Adatok kiolvasása a programmemóriából
avrpp -rp
Az adatmemóriából
avrpp -re
Konfigurációs kapcsolók állapotainak kiolvasása
avrpp -rf
További kapcsolók a fenti leírásnak megfelelően használhatóak.
Az áramkört én csak légszerelt kivitelben szereltem össze, de mivel jól működött, így később tervezek majd neki egy NYÁK panelt.