Jak wie każdy, kto próbował zaprogramować procesory ATMEL, ulegają
one bardzo często zablokowaniu z powodu nieprawidłowo ustawionych
bitów konfiguracyjnych (fuse bits). Kończy się to zwykle wrzuceniem
kości do pudła oznaczonego „pewnie uwalone, ale jeszcze nie
wyrzucać, bo drogie”. Słusznie, nie wyrzucać! Bo najprawdopodobniej
procesor jest sprawny.
W internecie krąży wiele sposobów na odblokowanie procesora: „zrób
sobie programator równoległy”, „podaj zewnętrzny sygnał”. Niestety,
podane informacje najczęściej są mniej lub bardziej udanymi kopiami
gdzieś tam zasłyszanych informacji i jako takie są niepełne,
ogólnikowe, niewiele wnoszące. Aby więc nie wpisywać się w taki
schemat postępowania, podaję konkretny przepis na odblokowanie
ATMEL-a, od A do Z.
Nie jest nam do tego potrzebny programator równoległy. Ja swoje
procesory odblokowałem najzwyklejszym SiProg-iem. Wymagane jest
jedynie dostarczenie do procesora sygnału 4MHz z zewnętrznego
generatora. U mnie do tego celu służy generator sygnału 4MHz,
którego schemat zaczerpnąłem ze
tej strony (schematu nie przeklejam, bo nie mój).
Wyjście "krótka antena" dołączamy do pinu [XTAL1] "uwalonego"
procesora (dla ATMEGA32 jest to pin 13). Masę generatora łączymy z
pinem [GND] (dla ATMEGA32 jest to pin 11). I choć na schemacie
napięcie zasilania wynosi 12V, dajemy zamiast niego 5V. A na
stronie producenta, konkretnie
tutaj
datasheet do ATMEGA32 (przydaje sie choćby do audytu pinów).
Na zdjęciu powyżej: generator zrobiony „na pająka” na płytce
stykowej, zasilany +5V, połączony jest z płytką do programowania z
włożonym "chorym" ATMEGA32, która to płytka podłączona jest do
SiProg-a, który z kolei podłączony jest do PC...
Pająk jaki jest – każdy widzi:
Naprawiany procesor:
SiProg. Nieco sterany:
Na poniższej fotografii działający generator 4MHz. Zmontowany na
płytce własnego autorstwa. Miernik pokazuje coś w okolicach 4MHz
czyli jest w porządku:
Poniżej PCB od strony elementów oraz od strony druku (obrazek
został już odwrócony na potrzeby termotransferu):
Postępowanie z procesorem:
- wyjmij uwalonego procka z układu SIO2SD (czy jakiegokolwiek
innego),
- przełóż go do płytki programatora,
- podłącz "antenę" i masę z generatora do uwalonego
procesora,
- podłącz programator do komputera,
- włącz zasilanie generatora 4MHz,
- odpal program do programatora (w moim przypadku był to
programator SiProg i aplikacja PonyProg2000),
- włącz odczyt fusebitów, tym razem sie uda i zostaną
odczytane,
- następnie ustaw fusebity jak na poniższym zdjęciu (tak
wyglądają fusebity procesora ATMEGA32 na egzemplarzu procesora
wziętym prosto ze sklepu):
- teraz zapisz ustawienie fusebitów do procesora.
Od tej chwili możesz procesor programować bez dołączania
zewnętrznego generatora, chyba że znów coś się zepsuje. 15 złotych
w postaci kosztów nowego procesora masz uratowane. A poniżej
informacja o sukcesie odczytu uratowanego procesora:
Artykuł ten jest ładniej ubraną wersją jednego z moich postów na
AtariArea. Zdjęcia w oryginalnych rozmiarach
tutaj.