Programátor ATMELů


Předem tohoto článku bych chtěl poděkovat Vladimíru Myslíkovi a Janu Řehákovi kteří v roce 1996 navrhli tuto pro nás všechny bastlíře jedinečnou programátorku ATMELů. Za Vaši práci Vám jménem všech domácích kutilů-amatérů srdečně děkuji. Je to nejednodušší verze programátoru, konstruovaná s ohledem na jednoduchost konstrukce a snadnou dostupnost jednotlivých součástek. Programátor je připojitelný rovnou na paralelní port. Software je napsaný v PASCALu, nová verze s použitím TV. Mělo by to fungovat bez větších problémů na první zapojení Obě verze SW podporují tzv. DEBUG mód, jenž by měl výrazně zjednodušit případné oživování. Odzkoušel jsem to na LPT on board z 6x86 VX boardu. Mělo by to fungovat bez jakýchkoli problémů na snad všech počítačích.




Funkce programátoru :

Na obvod atmel jsou přes oddělovací latche (obvody 574) připojeny nastavovací úrovně a data. Čtení dat a verifikaci zajištuje obvod 74157 - čtyřnásobný multiplexer, umožnující číst 8 - mi bitové slovo přes 4 vstupní bity paraelního portu. Přepínání, zda pracuji s horním nebo spodním niblem dat, se ovládá bitem 6Q na pinu 14 systémového latche 574. Za povšimnutí dále stojí využití svítivých diod, jednak pro snížení napětí, tak pro identifikaci probíhajícího děje. Tranzistory KF517 spínají programovací napětí pro paměť FLASH uvnitř procesoru, dioda D1 odděluje obě napětí a chrání tranzistor pro spínání 5V. V případě používání externího napájecího zdroje s napětím +5 a +12 V je zbytečné, ba nežádoucí, osazování obou stabilizátorů 7812 a 7805, protože připojením napětí na výstup zbytečně odebírají proud. Plošný spoj je navržen na toto zapojení, ale jak se lze dočíst na konci článku, v některých případech je lepší použít jiné zapojení pro spínání napětí...
 

Konstrukce programátoru:

Programátor je osazený na dvoustrané desce plošného spoje.

Pro funkci není nezbytně nutné, aby byl tento spoj prokovený, Na desce je pouze několik míst, která je nutno ručně prokovit např. kouskem drátu. - Propojka těsně pod Zenerovou diodou, prokov pod konektorem, prokov mezi obvody 74574 a 74157, 2x pro připojení pinu 15 z 74157. Osobně doporučuji použití neprokoveného plošného spoje pouze těm zručnějším, protože zaletování neprokoveného spoje není jednoduché.

Pro obvod ATMEL 89C2051 doporučuji použít precizní patici, nebo v zájmu snadného vyjímání obvodu je možno použít nouzovou verzi, osadit klasickou patici a do ní vložit ještě jenou, aby nebyla ta zaletovaná příliš mechanicky namáhaná..

V zapojení jsou použity dvě obyčejné LED diody, červená signalizuje zápis, zelená zapnutí napájení pro ATMELa.

Napájení je zajištěno buďto přes externí vstup +5 a +12 V, nebo z alespoň +16V. V případě první varianty, není vhodné osazovat oba stabilizátory, neboť při připojení stabilizovaného napětí na jejich výstup, spotřebovávají asi 50 mA, které mění na tepelný výkon. Proto je při osazování dobré uvážit, jakou variantu napájení budeme častěji používat.

Důležité upozornění : Vzhledem k neidentifikovatelným stavům na LPT po předchozích aplikacích je nezbytně nutné, aby jste napájení pro programátor zapínali vždy až po spuštění ovládacího programu. Např. rezidentní programy pro tisk mohou totiž uvést LPT před startem programu do téměř libovolného stavu.

Novou verzi SW, podporující TurboVision, neboli poněkud použitelné uživatelské rozhraní si v plně funkční verzi, už s helpem a s úplně dodělanými grafickými detaily můžete nyní (od 18.12.97) už i se zdrojáky stáhnout tady : progatm_.exe . Tuto verzi po úpěnlivých prozbách spáchal Tomáš Edison Dresler, za což mu tímto převelice děkuji.

Rozpiska součástek :

Označení ve schématu Hodnota
   
7812, 7805 Stabilizátor napětí
Cannno 25  Samec - provedení do plošného spoje
D1 Libovolná Si dioda - napč. Ka 261
INV_T0 Jakýkoli Si tranzistor, např. KC 237......
IO1, IO2 74574 - jakékoli provedení
LED1 červená LED 5mm
LED1 zelená LED 5mm
PWR_T1, PWR_T2 Jakýkoli Si tranzistor, např. KC 237......
R1 1k
R2 2k2 
R3 1k
R4 2k2
R5 390
R6 470
R7 470
R8 2k2
R9 2k2
T3 , T4 PNP - např. KF 517
ZENER6.8  Zenerka 6V8 - Imax minimální = max. 10mA
Napájení 5x pájecí špička

Programovací algoritmus by bylo možno popsat v bodech asi takto :

Během programování není vhodné čekat danou dobu 1.2 ms, výhodnější je číst místo toho kontrolní pin P3.1 RDY/BSY. Jenom tak je možno zajistit naprogramování skutečně všech obvodů.
Programovací módy
tabulka pro programování
Velikost jednotlivých impulsů
Časový diagram pro programování a verifikaci
časový diagram programování ATMELa


Technické parametry

Originální dokumentace od firmy ATMEL ( formát PDF )

Hlavní stránka

 

Autoři : Luděk Beran, Petr Svoboda, Jiří Santarius