|
Na konci článku o digitální stupnici s jednočipem Atmel jsem slíbil, že brzy vydám jednoduchý návod na nahrání programu do paměti jednočipu. Různých konstrukcí s těmito procesory je na internetu poměrně dost. Většinou je k dispozici i zkompilovaný program. Bohužel, pro většinu lidí je nahrání programu problém.
Odkaz:
Jak naprogramovat AVR jednočip pomocí programátoru USBASP, je v tomto článku. Včetně odkazu na video |
Kupovat programátor za několik tisíc, nebo jej vyrábět svépomocí se chce málokomu. Na naprogramování jednoho kusu pro vlastní použití se to prostě nevyplatí. A tak je většina zájemců odkázaná na objednání naprogramovaného jednočipu od autora konstrukce.
Přípravek (nechce se mi ani psát programátor), který zde popisuji mám vyzkoušený s jednočipy Atmel AVR AT90S2313, ATtiny2313, ATtiny12L (tinybug podle OK4RM) a ATmega8 (vše v DIL pouzdrech). Využívá se zde možnosti tzv. sériového programování jednočipů. Má sice některá omezení (viz datasheety) ale pro moje potřeby stačí.
Jedná se v podstatě o přímé propojení paralelního portu počítače s programovacími vývody jednočipů. Proto není ani nutné schéma zapojení, ale stačí tabulka propojení vývodů. Tabulka ukazuje propojení pro výše uvedené typy, pro ostatní typy nebude pro zájemce jistě problém najít si údaje v dokumentaci k procesorům.
Použil jsem desku univerzálního pl. spoje, na kterou jsem rozmístil patice a propojil je (všechny paralelně) s konektorem pro paralelní port (canon 25 pinů) pomocí asi 1,5m dlouhého plochého kabelu.
Napájení je k paticím přivedeno ze zdroje 5V. Na desku jsem umístil stabilizátor 78L05 a dva elektrolyty (na fotce jsou vpravo dole), takže desku napájím z 12ti voltů.
U každé patice je rovněž možnost připojit též krystal (viz fotka), pro případ, že v naší kostrukci používáme oscilátor s vnějším krystalem a vnitřní oscilátor jsme zakázali (pomocí tzv. fuses viz níže). Na jeho hodnotě příliš nezáleží, obvykle používám 2 nebo 4 Mhz. Asi by stačil i nějaký RC obvod, ale zapíchnout do patice krystal za 12 Kč je asi jednodušší, než se s něčím bastlit.
Jako programovací software používám populární PonyProg2000. Aby šel naprogramovat ATtiny2313 je nutné mít verzi minimálně 2.06f Beta. Nastavení typu programátoru je v menu setup > interface setup.
S tím, že vám PonyProg po kliknutí na tlačítko Probe napíše "test failed" si nelamte hlavu.
Nastavení typu procesoru je v nástrojové liště nahoře.
Nejčastěji používané nástroje (označené zeleně):
Open device file - otevře zkompilovaný soubor (s příponou hex)
Read device - načte vše z jednočipu
Write device - pošle vše do jednočipu
Zapsání cca 2kB kódu trvá včetně verifikace asi 5 sekund.
Dále je nutné nastavit tzv. "pojistky" (fuses): (červeně označený visací zámek na obrázku nástrojů nahoře).
Popis jejich nastavení by vystačil na samostatný článek (možná někdy příště). Zájemce by si měl DOKONALE nastudovat příslušnou kapitolu v datasheetu k danému jednočipu.
Pozor !!! Při špatném nastavení některých fuses si můžete jednočip prakticky zničit. (uzamknout proti čtení/přeprogramování, nebo zrušení možnosti sériového programování apod...).
Zde je obrázek jak mají být nastaveny fuses pro čítač-digitální stupnici s ATtiny2313. Zaškrtávací políčka nastavte podle obrázku a klikněte na Write.
Pokud hodláte provádět vlastní vývoj, ještě jednou připomínám větu orámovanou v obrázku červeně - "Refer to device datasheet, please", a dále dvě zašedlá zaškrtávací políčka nad ní.
Jarda ok1hdu