HOME

ISP sériový programátor - spolehlivý!

pro Atmel 89S51, 89S52, 89S8252 a 89S8253



Při stavbě své volné repliky Petra jsem nečekaně narazil na problém ISP programování. Nečekaně proto, že jsem si až dosud myslel, že mám skvělý ISP programátor. Mám totiž známý PATMEL 3. Koupený, žádný bastl. Naprogramoval jsem s ním toho dost, ale vždy jen dvacetivývodové 89C2051/4051. Ale taky jsem si s ním docela užil. Už dávno jsem ho přejmenoval na PATLAL a nějak se nemohu zbavit dojmu, že občas raději procesor zlikviduje, než naprogramuje. Ale čert vem dojmy. Třeba ty zničený 89C2051 byly fakt blbý...

Připojil jsem patlala přes ISP k rozestavěnému Petrovi a ouha. Software neumí 89S51. Žádný problém. Mám ho už nějaký pátek a na netu určitě bude aktuální software. Byl. Nainstaloval jsem ho a rázem se naskytla možnost programovat další spoustu Atmelů. Pochopitelně i 89S51. Opět připojím patlala k replice a zkouším to. Zas nic. Hláška toho nového softu, že daný hardvér (jakože patlal tři) dané "device" programovat neumí. Pochopitelně v originální příručce device 89S51 uvedeno bylo a ten nový software byl určen pro verzi 3. Tak jsem to zkusil paralelně přímo v programátoru. Zas nic. Tohle device se prostě tímto hardwarem neprogramuje a basta. Pochopitelně jsem zkoušel autodetekci i ruční nastavení správného device. Čtení signatury chodilo. No nic. Vyndal jsem ze svého kitu s 89S8252 tento, již nevyráběný, procesor a zkouším to s ním. Je po něm. Patlal ho bez milosti zlikvidoval. Patlala jsem definitivně odpískal a kit upravil na 89S8253. A protože to je docela rozšířený kit od p. Matouška, úpravu na 89S8253 (také od p. Matouška) zde později vystavím. Kdysi jsem ji totiž někde našel na netu a preventivně uložil na disk. Nyní jsem ji na netu už nenašel...

Jenže co teď? Internet pochopitelně vychrlil spoustu ISP programátorů pro tento typ procesorů. Ovšem nakonec se z nich vyklubaly variace na jediný programátor, který zřejmě nabízel přímo Atmel, a který byl určen pro paralelní port. Jenže paralení port neé. Nechcu! S LPT jsou akorát starosti. Jednak je háklivej na odpálení a druhak je na každém kompu jinej a nekompatibilní se standardem. Obě nevýhody však platí jen v případě, že na daném počítači vůbec nějaký LPT je... Takže tudy ne.

Nakonec jsem našel ten správný programátor tam, kde jsem měl začít. Na stránkách www.8052.com (pozn. 2022: zmizel celý web). V sekci uživatelských podstránek je pěkný ISP programátor, který se připojuje na sériový port (a pochopitelně chodí i na převodníku USB/COM). Důvěru budila i aktualizace už z nového tisíciletí a veškerý potřebný software a firmware. Dokonce i číslo verze (v době stavby 1.4) signalizovalo, že si s tím někdo prostě vyhrál. Stavba obligátní metodou drátkování na univerzálce zabrala méně času, než hledání toho pravého programátoru na netu. Na čas omilostněný patlal naprogramoval 89C4051 (jiný doma nebyl) bez toho, aby ho rovnou zlikvidoval. Obslužný software se nemusel instalovat (to mám nejraději). Programátor běžel na první zapnutí a všem ho mohu s klidným svědomím doporučit!


spolehlivý ISP programátor pro Atmel 89S51/S52

ISP programátor pro Atmel 89S51/S52/S8253

Volná část desky měla být původně odříznuta, ale nakonec jsem tam dal prázdnou patici, kdyby bylo nutné naprogramovat procesor pro zařízení, které nemá ISP konektor. Díky této patici lze také snadno otestovat procesor v neznámém stavu, jestli vůbec chodí, nebo ho třeba jen smazat. Jedinou úpravu zapojení jsem udělal u Resetu té 89C4051. Udělal jsem tam klasický resetovací obvod s odporem, kondenzátorem a antiparalelní diodou.

Zkoušel jsem programovat jak 89S51, tak 89S52 a 89S8253. Vše v pohodě. Jen je v obslužném programu nutné vždy zvolit správný krystal, který u programovaného procesoru máte. U toho krystalu ještě malá poznámka. Při použití krystalu 11,0592 MHz (kvůli sériovému portu x51) sice lze tuto hodnotu do programu zadat, ale nastaly problémy s verifikací. Vždy skončilo chybou, ačkoliv procesor byl naprogramovaný dobře. Jakmile jsem hodnotu krystalu nastavil na 11 MHz, programování i verifikace probíhá správně. Program pro obsluhu je jednoduchý a intuitivní. Sice mi trochu scházelo to univerzální tlačítko PROGRAM! z patlala. Dala se tam totiž navolit sekvence akcí, které se po kliknutí na něj provedly. Takže smazání čipu, reload HEX souboru, vlastní programování a následná verifikace proběhla na jedno kliknutí. Tady se to musí odklikat postupně. Ale zvykl jsem si.

Už podle provedení je jasné, že programátor je jednoduchý. Zde je jeho zapojení. Podrobný popis a potřebný software naleznete na stránce: http://8052.com/users/AT89S52InSystemProg/ (už nenaleznete, čtěte dále)


spolehlivý ISP programátor pro Atmel 89S51/S52

spolehlivý ISP programátor pro Atmel 89S51/S52/S8253

Ovládání je velice intuitivní. Ovládací program pro PC (provozován s Windows XP Pro) se nemusí instalovat. Jen si ve složce, ze které je spouštěn, vytvoří konfigurační soubor s poslední konfigurací (typ obvodu, kmitočet krystalu, číslo COM portu, apod). Na následující obrázku je screenshot okna ovládacího programu:

Ovládací program ISP progu

Ovládací program Atmel ISP progu


*** Aktualizace! ***

Byl jsem upozorněn, že původní materiály k tomuto programátoru z webu www.8052.com zmizely! (pozn. 2022: zmizel celý web). Když jsem se pídil proč, zjistil jsem, že server postihla havárie a provozovatel bohužel neměl vše zazálohováno. Naštěstí jsem měl zazálohováno vše já, takže potřebný software pro konstrukci a ovládání tohoto skvělého programátoru přikládám níže. Tímto je na této stránce vystaveno vše potřebné pro konstrukci.

    Software + firmware ISP programátoru

S tímto programátorem jsem opravdu maximálně spokojen. Ovšem již nějaký čas jsem si pohrával s myšlenou postavit to znova, ale v menším provedení (místa na stole stále ubývá:-)) a s připojením přímo do USB, ze kterého by byl programátor i napájen. Zlom nastal v okamžiku, kdy jsem na Aukru objevil kabel s integrovaným převodníkem USB/TTL UART za nějakých 70 kaček. To je půl práce hotovo! Takže jsem se do toho nakonec pustil. Oživení ale nebylo bez problému. Programátor chyboval a padal. Příčinou bylo rušení na zbytečně dlouhém kabelu. Pomohlo jeho zkrácení z původního cca metru na cca 40 cm a posléze až na 20 cm (při 40 cm to ještě občas házelo chyby). Pak už bylo vše v pořádku a programátor fachá bez problémů. On ten kabel na stole stejně jen překážel... Výhodou je, že tento převodník používá stejný ovladač, jako můj redukční kabel USB/RS232 takže nebylo nutné nic dalšího do PC instalovat. Oproti původnímu zapojení jsem na programátor přidal tlačítko Reset k 89C2051. Ne že by bylo nějak životně důležité, ale je tam.

miniaturizovaný ISP programátor
miniaturizovaný ISP programátor
miniaturizovaný ISP programátor
miniaturizovaný ISP programátor




Úprava kitu SDK8252 na procesor 89S8253

Níže je slíbený popis úpravy kitu SDK8252 na procesor ATMEL 89S8253. Kit SDK8252, jehož autorem je pan Matoušek, je původně určen pro procesor ATMEL 89S8252. Jenže tento procesor se již nevyrábí a je již prakticky nesehnatelný. Byl nahrazen právě typem 89S8253 s větší flash pamětí (12KB). Jenže je tam hodně odlišností a jednoduchá výměna těchto procesorů není možná. Takže pokud jste si třeba odpálili původní 89S8252, je tato úprava na 89S8253 vaší jedinou nadějí na znovuzprovoznění kitu. Úprava je velmi jednoduchá. Stačí na DPS přeškrábnout dva spoje a nahradit je dvěma drátovými propojkami. Musíte pak ale používat jiný software (je přiložen). Úprava prý pochází také od pana Matouška a je opravdu funkční. Vyzkoušeno.

    AT8253: úprava SDK8252 na 8253

Pokud netušíte, co je kit SDK8252, tak vězte, že souvisel s knihou Práce s mikrokontroléry ATMEL AT89S8252 od Davida Matouška. Vydalo nakladatelství BEN.

kit SDK8252 předělaný na Atmel 89S8253

kit SDK8252 předělaný na Atmel 89S8253

Než se naplno pustíte do programování AT89S8253, stáhněte si ze stránek Atmelu a prostudujte jeho datasheet. Také tam naleznete dokument o migraci z 89S8252 na 89S8253. Zejména práce s vnitřní EEPROM se od původní AT89S8252, díky jiným SFR registrům, odlišuje!


Publikováno: cca 2010-2012    



« RET          ↑ TOP ↑          HOME