English version

Atmel AVR pro začátečníky 3 - zápis programu do AVR

    Úvod:
Tento článek pro začátečníky podrobně popisuje nejjednodušší postup, jak nahrát program do AVR mikrokontroléru. Nezabývá se psaním programu, ale pouze naprogramováním (zapsáním) hotového souboru do AVR. Je vhodný i pro ty, kteří nechtějí program psát, ale jen nahrát hotový (odněkud stažený) program do AVR.
    Popis postupu - hardware:
K naprogramování AVR potřebujete nějaký hardware a nějaký software :). Hardware neboli programátor je zařízení, které umožní komunikaci mezi AVR a PC. Nejjednodušší varianta hardwaru pro ISP programování je pouhý LPT konektor (samec) s kabelem, 4 odpory a napájecí zdroj cca 5V. Celý hardware si tedy můžete jednoduše sestavit sami např. v kontaktním poli. Ukázky zapojení nejčastějších AVR při programování vidíte na schématech níže. Pokud v cílovém zařízení bude použit krystal, připojte ho spolu s C1 a C2 i během programování. Lze použít i univerzální hodnotu krystalu 4MHz. Připojení jiných AVR je obdobné. Vždy v datasheetu hledejte vývody MISO, MOSI, SCK a RESET. V případě krystalu pak i XTAL1 a XTAL2. Váš programátor připojte k LPT portu vašeho PC.
    Popis postupu - software:
Dále budete potřebovat nějaký software. Stáhněte si a nainstalujte program PonyProg (já jsem použil verzi v2.07c BETA). Ten vám umožní do AVR zapisovat programy a nastavení konfiguračních bitů. Po prvním spuštění PonyProgu musíte správně nastavit komunikační port. Zvolte Parallel, Avr ISP I/O, LPT1. Před programováním zvolte typ mikrokontroléru (AVR micro a ATmega... nebo ATtiny...). Je zde i varianta "AVR Auto", ale nedoporučuji - nefunguje s ní nastavení bitů. Otevřete si soubor, který chcete do AVR nahrát. Do AVR se nahrává přeložený (zkompilovaný) soubor s koncovkou .HEX. Ten bývá u konstrukcí zveřejněných na internetu (včetně těch mých) obvykle ke stažení. Zkontrolujte, zda je programovací obvod s AVR správně zapojen, připojen k LPT a má zapnuté napájení. Pak kliknete na tlačítko zapisování (Write Device) a potvrďte. Váš program se zapíše do AVR. Mělo by se objevit "Write successful". Potom musíte ještě nastavit a zapsat konfigurační bity (nestačí pouze nahrát program!). Okno s nastavením bitů otevřete příslušným tlačítkem (Security and Configuration Bits). Bity nastavte tak, jak příslušná konstrukce vyžaduje. Já obvykle zveřejňuji printscreen tohoto okna. Před zápisem pečlivě zkontrolujte. Lamám SILNĚ NEDOPORUČUJI s nastavením těchto bitů experimentovat - mohlo by dojít k zablokování AVR (přestane komunikovat). Pozor - zapsání bitů provedete tlačítkem Write, nikoliv tlačítkem OK! Celý postup názorně ukazují obrázky níže.
    Závěr:
Po naprogramování a nastavení bitů můžete AVR mikrokontrolér zapojit do cílového obvodu a vyzkoušet. Pokud se vám při pokusu o naprogramování nebo nastavení bitů objevují chybové hlášky, nejspíš máte špatně nastavený port PonyProgu, typ AVR, nepřipojený LPT konektor, PonyProg k portu nemá přístup, programovací obvod je špatně zapojený, není zapnuté napájení, chybí krystal nebo jeho kondenzátory (tam, kde krystal být má), AVR je vadný a nebo už jste si ho zablokovali špatným nastavením bitů :).


Schéma LPT programátoru Atmel AVR Tiny: ATtiny13, ATtiny25, ATtiny45, ATtiny85 a dalších v pouzdře DIP8. (Pozn.: K ATtiny13 nelze připojit krystal).


Schéma LPT programátoru Atmel AVR Mega: ATmega8, ATmega48, ATmega88, ATmega168 některých dalších v DIP28.


Schéma LPT programátoru Atmel AVR ATtiny2313.


Schéma LPT programátoru Atmel AVR Mega: ATmega16, ATmega32, ATmega8535, ... (pozor, není pro ATmega8515)


Nastavení portu v PonyProgu. Zvolte Parallel, Avr ISP I/O, LPT1.


Volba vašeho AVR.


Otevření souboru HEX k zapsání.


Tlačítko spouštějící zápis.


Nastavení konfiguračních bitů. Pozor - k zapsání slouží Write, nikoliv OK!!!



Přidáno: 2. 7. 2012
zpět na úvodní stránku