Autor: Dondu
Atmel-e mają jedną wadę z punktu widzenia początkującego - łatwo je zablokować. Co to oznacza?
- układ nadal jest sprawny
- może działać nieprawidłowo lub wcale
- nie można go zaprogramować i odczytać.
Co z tym fantem zrobić?
Niestety na to pytanie nie ma prostej odpowiedzi, ponieważ wszystko zależy w jaki sposób mikrokontroler został zablokowany. Można próbować użyć:
- zewnętrznego generatora sygnału zegarowego
- zbudować FUSEBIT DOCTOR-a, który odblokowuje bardzo dużo różnych mikrokontrolerów Atmela
Rys. Próba odblokowania |
Rolę zewnętrznego generatora może także pełnić inny mikrokontroler, który zaprogramujesz tak, by generował na jakimś pinie sygnał prostokątny, który podłączysz do wejścia XTAL1 zablokowanego mikrokontrolera tak samo, jak na rysunku.
Generatorem może być także popularny układ 555, generator na tranzystorach lub laboratoryjny generator funkcyjny. Innymi słowy cokolwiek, co generuje sygnał prostokątny o amplitudzie nie przekraczającej wartości napięcia, którym zasilasz swój mikrokontroler.
- Fusebit Doctor da radę na pewno :-) |
To piekielnie pomocne nowicjuszom (i nie tylko) narzędzie, które jak na doktora przystało potrafi błyskawicznie odblokować wiele procesorów ATMEL-a.
Fusebit Doctor pomaga w każdym przypadku, nawet wtedy gdy wyłączyłeś pin RESET za pomocą fusebit'u RSTDISBL.
Możesz go wykonać we własnym zakresie:
A może wcale nie jest zablokowany?
Często okazuje się, że problem leży nie w zablokowaniu mikrokontrolera, ale jest związany z zupełnie innymi przyczynami: Problemy z zaprogramowaniem mikrokontrolera
Często okazuje się, że problem leży nie w zablokowaniu mikrokontrolera, ale jest związany z zupełnie innymi przyczynami: Problemy z zaprogramowaniem mikrokontrolera
Można by jeszcze wspomnieć o programatorach równoległych i wysokonapięciowych.
OdpowiedzUsuńOne też potrafią poradzić sobie z odblokowaniem.
Witam czyli jeżeli zablokowałem sobie mikroprocesor zmieniając wewnętrzny oscylator z 1MHz na 2MHz to dzięki podaniu tego sygnału mogę go odblokować?
OdpowiedzUsuńWitaj.
OdpowiedzUsuńRozumie, że pytasz o jakiś AVR. Jeżeli tak, to przestawienie wewnętrznego zegara z 1MHz na 2MHz nie może zablokować mikrokontrolera. Jeżeli zablokowałeś, to na pewno zmieniłeś jeszcze coś innego.
Dlaczego uważasz, że jest zablokowany?
Witam,
OdpowiedzUsuńCiekawi mnie metoda odblokowania procesora przy użyciu mikrokonfrolera (arduino)
Rozumiem ze muszę pin z ardui o podłączyć do xtal1 ale jaki sygnał wysłać?
Wystarczy np sygnał jak przy miganiu diody?
Mam 2 procesory których za nic nie mogę odczytać ani zaprogramowac... Spisalem juz je prawie na straty a tu widzę taki fajny artykuł :)
Witam
OdpowiedzUsuńProblem dotyczy Atmega 128, nowo kupionego atmel ice i ATMEL STUDIO 6.2
Wyłaczam interfejs JTAG (fuse bit JTAGEM) i już nie mogę się dostać do procesora
przez ten interfejs, przez SPI działa i mogę ponownie włączyć JTAG i znowu wszystko działa.
Jeśli dobrze zrozumiałem tekst powyżej, to przez JTAG można odblokować procesor niezależnie od zaprogramowanych fusebitów?
Owszem, z wyjątkiem sytuacji, gdy zablokujesz JTAG.
UsuńWitam,
OdpowiedzUsuńMam pytanie, jakie są przyczyny blokowania się MC ? Ja właśnie zablokowałem Atmega88 z którym dzień wcześniej była poprawna komunikacja. MC zamilkł przy próbie ponownego programowania. A poprzedni
program wykonuje, więc jest sprawny...
Czy wpływa na to zbyt oszczędna konfiguracja ( brak kondensatorów filtrujących lub rezystora podciągającego RESET ? ) . Czy równiez zjawiska elektrostatyczne ( ubranie POLAR ? ). Czy producent coś pisze
na ten temat - i jakie są doświadczenia innych kolegów ?
Mam pytanie czy fusebit dokctor jest wstanie odblokować mi atmega16u2 znajdującą na arduino czy musiał bym ją wylutować ??
OdpowiedzUsuńDziękuję