Naposledy aktualizované

27.5.2015   17:17


Fórum

 Fórum 

Hľadanie

Počítadlo

Dary


2641889654/0200

USB ISP programátor mikroprocesorov ( AVR + 89S51 a pod. )

Univerzálny ISP programátor, ktorý zvládne programovať všetky možné mikroprocesory. Ja som ho zatiaľ využíval pre programovanie ATmega a 89S51 (89S2051 a iné ). Jeho výhodou je že sa pripája priamo na zbernicu USB a jeho jadrom je mikroprocesor ATmega8 a nie je potreba žiadne ďalšie cenovo náročné prevodníky. Zapojenie som prevzal z fischl 

Návrh DPS je možné prevziať tu  DPS-eagle 

Odporúčam nasledujúci návrh hlavne z toho dôvodu že samotný mikroprocesor v programátori je možné spätne naprogramovať cez konektor ISP len za pomoci prehodenia jumpra. Taktiež DIL puzdro zaručuje, že ak nejakým spôsobom odpálime mikroprocesor v programátore ( zatiaľ sa mi nestalo) tak ho jednoducho vymeníme. Zelená LED signalizuje aktívne programovanie a červená pripojený programátor ku PC a správne naprogramovaný mikroprocesor v programátore. 

Program pre mikroprocesor do programátora tu :program + progisp 



Jedná sa vlastne o modifikované zapojenie od fischla, ktoré dokáže programovať aj 89S51 a podobné. 

main.hex bude potreba napáliť do mikroprocesora. Postačí aj LPT programátor.  Pre programovanie výrazne doporučujem priloženú program progisp 1.72. Dokáže aj načítať kalibračné bity čo sa hodí pri používaní časovača a interného RC oscilátora. 

Nezabudnite pri programovaní správne nadstaviť fuse bity HFUSE=0xc9 LFUSE=0xef pri použití atmega8. Tým sa nadstaví okrem iného aj externý kryštál takže nadstavenie fuse robte až na záver. S lock fuse nerobte nič lebo si zamknete mikroprocesor a už ho nepreprogramujete. Doporučujem nasledujúci postup :

1.  zapojiť mikroprocesor do programátora npr LPT+ponyprog

2.  Napáliť main.hex do mikroprocesora

3.  Načítať fuse bity z mikroprocesora

4.  Zadať nové hodnoty fuse bitov a napáliť do mikroprocesora

Po pripojení ISP programátora do USB by sa teraz mala rozsvietiť červená led ale programátor stále nebude fungovať lebo je potreba ešte nainštalovať drivre. Pre win XP/7 musí OS detekovať neznáme zariadenie. Na stránke  DRIVER je možné stiahnuť drivre pre programátor. Doporučujem ísť od najnovšej verzie a skúšať ktorá rozpozná pripojený programátor. Nie vždy najnovšia verzia je najstabilnejšia. Mne fungovala verzia 1.2.2.0. Pokiaľ sa podarí driver úspešne nainštalovať tak otvoríme progisp1.72 a vyberieme zapojíme mikroprocesor  na ISP konektor, v zozname vyberieme rovnaký typ  a stlačíme napríklad read signature a na programátore musí bliknúť zelená led. V stavovom poli sa musí objaviť text Read ID Succesfully. Pokiaľ sa objaví chip enable program error tak je zrejme chyba v zapojení mikroprocesora k programátoru. Skontrolovať všetky vodiče poprípade sa kuknúť do katalógu či netreba pripojiť externý kryštál. Tiež sa môže stať že mikroprocesor je zamknutý. Výrazne si treba dávať pozor ktoré fuse bity nadstavujete. Pokiaľ programujete npr ATmega8 kde od výroby je nadstavený vnútorný RC oscilátor a vy nadstaviť fuse bity pre externý rezonátor alebo kryštál tak pri ďalšom programovaní ho už musíte pripojiť. 

Jumper slow SCK slúži pre procesory ktoré majú aktuálnu taktovaciu frekvenciu pod 12MHz. Ak napríklad ku 89S51 pripojíte 12MHz kryštál tak tento jumper vytiahnete a programovanie prebehne oveľa rýchlejšie.



Spodnú dosku zo ZIF konektorom som navrhoval sám ale návrh sa mi už niekde stratil.

Pokiaľ to niekomu pomôže tak prikladám aj spodnú stranu dosky: