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).
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 ö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:
), 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 portrakö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!