Programátor AVR Dragon

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

Programátor AVR Dragon

#1 Příspěvek od wire »

Zdravím všechny.
Sháním někoho,kdo má skutečné znalosti s programátorem AVR Dragon (první verze) a nastavováním pojistek. Vrámci učení se nastavování pojistek jsem prováděl pokus na ATmega168.Úmyslně jsem zablokoval fuse bit RSTDISBL, následně jsem přes paralelní konektor fuse bity smazal,to se podařilo,ale čip už nejde dál naprogramovat do továrního nastavení (kalkulačka fuse na netu,včetně info v datasheetu),AVRko dává hlášku,že nejdou naprogramovat fuse bity. Samozřejmě lock bity jsou 0xFF (odemčené).Měl jsem podezření,jestli se něco neodpálilo,na netu koluje informace o stavu,kdy se stačí přiblížit vodičem pod napětím k čipu měniče 12V na desce a ten vyhoří,proto jsem napětí a průběhy signálů programátoru ověřil osciloskopem,vše je OK. Prostudoval jsem datasheet,kde jsou uvedeny podmínky.....sériového a paralelního programování,připojení signálů,ale nedaří se.Jedná se mně o to,že se všude píše o všemocnosti paralelního programátoru(neplést s programátorem připojeným na paralelní port PC),který např. umožňuje právě opětovné nastavení fuse SPIEN potřebné pro ISP programování.Samozřejmě mám nainstalováno nejnovější AVR studio 4.18 včetně SP3,jakož i proveden upgrade firmwaru samotného programátoru.Jenom prosím ne rady jako "tak sis s tím nměl hrát" :lol: ,nechci programovat stylem "tomuto se raději vyhnu",jestli mně rozumíte.Děkuji za odpovědi.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

Re: Dragon

#2 Příspěvek od Andrea »

wire píše:AVRko dává hlášku,že nejdou naprogramovat fuse bity.

AVR určitě nedává žádnou hlášku, tak kdo to hlásí? Přečíst ty fuse bity jdou, jestli ano, jak jsou nastavené?
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#3 Příspěvek od wire »

Ve stavovém okně dole to píše jednotlivé kroky s tím, že verifikace fuse je failed. Je dobře, že AVR studio (u mě AVRko) nás informuje o výsledném stavu.
Ps: jednotlivé fuse 0xFF(low),0xFF(high),0xFF(extended)....po pokusu o naprogramování na půvdní hodnoty.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#4 Příspěvek od Andrea »

Samá FFh můžou znamenat, že je to úplně mrtvé. Identifikuje se aspoň to AVR jako m168?
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#5 Příspěvek od wire »

To je právě ono, před naprogramováním RSTDISBL se normálně identifikoval v okně Read Signature,teď opět samé FF. Jak jsem se dočetl,někde uvnitř je to komletně bloknutý. A abych vyloučil chybu samotného čipu, obětoval jsem ještě jednu megu.Výsledek to samé.Jinak při komunikaci před aktivací RSTDISBL normálně programátor šlape,vyčítal jak Signature,tak fuse,včetně kalibrační konstanty.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#6 Příspěvek od Andrea »

Zkoušíš to doufám všechno paralelním 12V programátorem?
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#7 Příspěvek od wire »

Samozřejmě.Dragon umožňuje jak paralelním programováním,tak ISP programováním.Navolím PP/HSVP mód, propojím 5V z napájecí sběrnice na konektor ISP Unap (toto je vyžadováno v manuálu,zřejmě si tam odtud paralelní programování tahá napětí...pro testování přítomnosti napětí) .propojím piny čipu (megu mám přímo na desce) a je to připraveno k programování.Posílám foto samotného Dragonu a průběhu napětí na reset pinu.
Přílohy
Dragon_erase_device_pin_reset.gif
(18.69 KiB) Staženo 138 x
Dragon.gif
(171.39 KiB) Staženo 161 x
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

Re: Dragon

#8 Příspěvek od Andrea »

Na začátku píšeš
wire píše:Úmyslně jsem zablokoval fuse bit RSTDISBL, následně jsem přes paralelní konektor fuse bity smazal,to se podařilo.

a pak píšeš, že po aktivaci RSTDISBL se už procesor neozval. Tak z čeho soudíš, že se to smazání povedlo?
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#9 Příspěvek od wire »

Nejprve jsem fuse mazal a následně nastavoval bez nastavování fuse RSTDISBL.Vše bylo OK. Z hodnot FF se to měnilo tak,jak jsem chtěl.Po nastavení RSTDISBL přestal čip komunikovat.Samozřejmě fuse RSTDISBL nebude 1, ale 0. Ono taky to čtení FF spíš znamená,že čip nelze vůbec číst. Alespoň takto si to představuji.

PS: erase chipu by mělo chodit vždy a mělo by právě umožnit opětovné zprovoznění čipu,třeba pro obnovu ISP programování.
Naposledy upravil(a) wire dne 12 úno 2011, 21:37, celkem upraveno 1 x.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#10 Příspěvek od Andrea »

wire píše:Nejprve jsem fuse mazal a následně nastavoval bez nastavování fuse RSTDISBL.Vše bylo OK. Z hodnot FF se to měnilo tak,jak jsem chtěl.

To vše jsi zkoušel paralelně? Máš jistotu, že to máš zadrátované správně a že to paralelní programování funguje, když vezmeš nezablokovaný čip, tak ho to bez problému přečte?
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#11 Příspěvek od wire »

Ano,když vložím nezablokovaný čip,navolím si potřebné fuse bez ovlivnění RSTDISBL,klidně nahraju program a spustím ho.Pak program vymažuju a mega je prázdná.Jinak pro informaci,takové požadavky jako nepřipojovat programátor dřív,než bude nainstalované AVR studio...atd. jsem samozřejmě do puntíku splnil,včetně všech upgradů.Už jsem poslal email přímo na support Atmelu s fotkama a měřením,tak jsem zvědav,co odpoví.Nepochybuji o tom,že někde dělám chybu,jen jde o to,kde :?

PS: to ověření,že se fuse měnily vlastně zjistíš třeba jen holou verifikací(probíhá i při každém programování,pokud ji máš zaškrtnutou),porovná to co máš zaškrtnuté a co je v čipu.Následným čtením se stav zaškrtnutých fuse nesmí změnit.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#12 Příspěvek od Andrea »

wire píše:PS: erase chipu by mělo chodit vždy a mělo by právě umožnit opětovné zprovoznění čipu,třeba pro obnovu ISP programování.

Erase nemění fuse bity, takže nic neobnoví.
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#13 Příspěvek od wire »

Erase odblokuje Lock bity.Tím zpřístupní fuse bity ke čtení.Myslím "erase" na kartě "tab",ne na kartě "program".
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#14 Příspěvek od wire »

Vypadá to, že budu muset vyrobit "udělátko" s programem jako na odkazu dole.Koukal jsem,že to striktně dodržuje protokol z datasheetu,no uvidím...

http://cs.wikibooks.org/wiki/Programujeme_jedno%C4%8Dipy#P.C5.99etaktov.C3.A1n.C3.AD_na_vy.C5.A1.C5.A1.C3.AD_frekvenci_s_krystalem
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#15 Příspěvek od wire »

Jinak tady jsou z datasheetu příkazy při paralelním programování (bity PC1:0,PB5:0).Pomocí těchto příkazů a řídících signálů na dalších pinech by to mělo fungovat.
Table 27-14. Command Byte Bit Coding
Command Byte Command Executed
1000 0000 Chip Erase
0100 0000 Write Fuse bits
0010 0000 Write Lock bits
0001 0000 Write Flash
0001 0001 Write EEPROM
0000 1000 Read Signature Bytes and Calibration byte
0000 0100 Read Fuse and Lock bits
0000 0010 Read Flash
0000 0011 Read EEPROM
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“