Menu
Oprava zle nastavených poistiek ATmega
V tomto článku vám opíšem ako jednoducho opraviť zle nastavené fuse bity v procesoroch ATMega. Ako vždy príklad predvediem na ATmega8. ...
Princíp tohto zapojenia je jednoduchý.
Potrebujeme:
- 1x dobrý ATMega (je jedno aký)
- päticu pre tento procesor
- funkčný programátor (STK200)
- pár prepojovacích káblikov
- a samozrejme zablokovanú ATMegu :)
Prvú ATmegu (tú dobrú) využijeme ako generátor taktovacích impulzov. Poslúži nám k tomu nasledujúci program:
Kód:
#include <avr/io.h> #define F_CPU 1000000UL #define nop() __asm__ __volatile__("nop") int main() { DDRC = 0xFF; //Portc bude vystupny PORTC = 0x00; // log 0 na branu C while(1) { PORTC = 0xFF; //log 1 na branu C nop(); PORTC = 0x00; nop(); } }
Program skompilujeme napríklad v AVRStudiu s nainštalovaným pluginom WinAVR a napálime do funkčnej ATMegy (napríklad cez STK200 pomocou PonyProgu2000). Pri napaľovaní nieje potrebné meniť žiadne nastavenia poistiek funkčnej ATMegy. Vyberieme naprogramovaný procesor z programátora a vložíme sem zablokovaný procesor. Na neosadenú päticu funkčnej ATMegy napájkujeme napájacie vodiče a z pinu 23 (PC0)(môže byť ktorýkoľvek pin brány C) vyvedieme vodič a zapojíme ho na Xtal1 zlého procesora v napaľovačke. Samozrejme prepojíme GND vstupy oboch procesorov.
chéma zapojenia je nasledovná:
Všetky textovo (nie číselne) popísané vývody musia byť korektne zapojené. Do takto pripravenej pätice vložíme funkčnú ATMegu a pripojíme na napájanie. Pripojíme napaľovačku k PC a pokúsime sa prepáliť poistky. Ak ste postupovali správne a chyba bola v zlom nastavení oscilátora, oživenie sa podarí iheď :).
Doplňujúce info