Atmega fusebit doctor (HVPP+HVSP) – napraw fusebity

mega_fusebit_doctor_1Atmega fusebit doctor, jak sama nazwa mówi, to urządzenie do naprawienia nieumiejętnie przestawionych fusebitów w mikrokontrolerach z rodziny AVR. Największymi problemami jest ustawienie nieprawidłowego źródła zegarowego (fusebity CKSEL), wyłączenie programowania SPI (fusebit SPIEN), lub ustawienie pinu reset w tryb I/O (fusebit RSTDISBL). To proste urządzenie w ułamek sekundy naprawi mikrokontroler nadając mu ustawienia fabryczne.

Programowanie wysokonapięciowe

mega_fusebit_doctor_3O ile w pierwszym wypadku można poratować się generatorem zegarowym lub generatorem RC/kwarcowym, to w drugim i trzecim przywrócenie mikrokontrolera do życia nie jest możliwe przy pomocy programatora szeregowego SPI. Mało osób decyduje się na budowę programatora równoległego, a to dla tego że jest niewygodny w użyciu, a to dla tego że taniej kupić nowy mikrokontroler niż się bawić w jakieś naprawy. Na dłuższą metę jednak, zbudowanie tego urządzenia okazuje się bardzo dobrym pomysłem.

Przedstawiane urządzenie wykorzystuje możliwość programowania równoległego oraz szeregowego wysokonapięciowego. Są to metody programowania pozwalające dobrać się do układu z wyłączonym resetem czy isp:
HVPP = high voltage parallel programming = wysokonapięciowe programowanie równoległe.
HVSP = high voltage serial programming = wysokonapięciowe programowanie szeregowe.

Lista obsługiwanych układów:

Urządzenie obsługuje obecnie 145 układów, choć nie ze wszystkimi było testowane. Testowane układy są podświetlone na zielono. Zgłaszasz problem – wydaję poprawkę :)
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256kB:
Atmega2560, Atmega2561

Opis:

mega_doctor_renderUrządzenie jest niezwykle proste i tanie w budowie, wystarczy tylko Atmega8 (lub kompatybilny, patrz dalej) w roli doktora, dwie diody LED, zworka, stabilizator, tranzystory. Wystarczy podłączyć „uwalony” uC i wcisnąc przycisk START a układ wykona żądaną operację i nasz pacjent zostanie przywrócony do życia. Na płytce znajdują się trzy gniazda, dla procesorów zgodnych pinowo z atmega8, atmega16, i attiny2313 – czyli takich najpopularniejszych. Dodatkowo na płytce znajduje się złącze goldpin żeńskie z wyprowadzonymi wszystkimi potrzebnymi sygnałami, do podłączania adapterów:
#1 HVPP adapter” jako rozszerzenie HVPP dla procesorów kompatybilnych z 20pin Attiny26 oraz 40pin Atmega8515
HVSP adapter” dla procesorów HVSP 8pin oraz 14 pin attiny, których nie można programować równolegle z powodu zbyt małej ilości pinów.
Istnieje możliwość wykonania własnych dodatkowych adapterów pod inne rodzaje procesorów w obudowach DIP czy też SMD. Nie trzeba jednak wykonywać adaptera aby naprawić jeden procek, można to zrobić przy pomocy płytki stykowej łącząc sygnały z odpowiednimi pinami. Jak? Zajrzyj do noty katalogowej twojego AVRa, przejdź do „memory programming” a następnie „parallel programming” – nazwy sygnałów i pinów jak na tacy. Wszystkie piny są podpisane pod podstawką DIP40, a w załączniku znajduje się też projekt „pustego” adaptera. Płytka jednostronna, o wymiarach 55mm x 92mm. Na wierzchniej części należy wlutować kilka zworek, lub, płytkę można wykonać także jako dwustronną. Zasilanie 12V stabilizowane. Rezystory R7 do R23 moga mieć wartości od 100 ohm do 1K, proponuję raczej 330ohm. Należy pamiętać że trzy piny bitów z linii danych są także wykorzystywane przez programator ISP do aktualizacji programu – urządzenie nie będzie prawidłowo działało jeśli np podlutujemy się do nich z programatorem.

UWAGA!
Podczas montażu podstawki DIP40 należy usunąć z niej metalowe złącza od 29 do 37 pinu! Ścieżki przechodzące w tych miejscach nie mogą zostać elektrycznie połączone z pinami włożonego procesora, a biegną tamtędy aby uprościć samą płytkę. Na obrazku po lewej zaznaczyłem które to piny.


Działanie układu:

fusebit_doctor_adapters_4Zworka ALLOW ERASE zezwala na wymazanie całej pamięci w przypadku ustawionych Lockbitów (bez ich wykasowania nie jest możliwe przestawienie Fusebitów). Po podłączeniu układu i wciśnięciu przycisku START program inicjuje tryb programowania wysokonapięciowego. Czy jest to HVSP czy HVPP zależy od konfiguracji sprzętowej, po ludzku mówiąc, układ sam wykryje włożony adapter HVSP i automatycznie będzie w tym trybie pracował. Bez tego adaptera pracuje w trybie HVPP. Pierwsze co układ robi, to czeka na stan wysoki na pinie RDY/BSY co oznacza prawidłowe wejście w tryb programowania. Po tym odczytuje sygnaturę podłączonego mikrokontrolera i sprawdza czy jest w stanie go obsłużyć. Następny krok to wymazanie całej pamięci jeśli użytkownik na to zezwolił. Następnie sprawdzane są lockbity, i jeśli nie blokują dostępu, doktor odczytuje fusebity i porównuje je z fabrycznymi zapisanymi w bazie. Jeśli się różnią, zapisuje te fabryczne, uwzględniając czy dany model pacjenta posiada extended fusebits, czy nie. Niektóre starsze układy AVR mają jedynie jeden bajt fusków – LOW – i to także jest brane pod uwagę. Program na końcu weryfikuje poprawność zapisanych danych i zapala odpowiednią diodę.

Oznaczenia diod:

świeci zielona – fusebity naprawione i zweryfikowane, układ naprawiony. Jeśli jest ustawione zabezpieczenie lockbit, to tylko sprawdza czy fuski odpowiadają fabrycznym, i jeśli tak to także zapali tę diodę.
świeci czerwona – problem z odczytaniem sygnatury, brak układu, lub brak sygnatury w bazie.
migająca zielona – sygnatura odczytana, fusebity się nie zgadzają z fabrycznymi, ale ustawione są lockbity i trzeba zezwolić na wymazanie pamięci aby je naprawić (czytaj dalej).
migająca czerwona – sygnatura odczytana, lockbity wyłączone, ale nie można z jakichś powodów zapisać nowych fusebitów.

Terminal:

Terminal jest tylko opcjonalny, urządzenie działa bez niego a wszystkiego dowiemy się z samych diod…
Na płytce dodatkowo znajduje się złącze opisane jako RS232, jest to wyjście UARTa, podłączając się pod nie, dowiemy się wszystkiego o przebiegu operacji naprawy – przykładowe zrzuty w galerii poniżej. Informacje przez uart są wysyłane na bieżąco. Aby połączyć urządzenie z komputerem, użyć należy odpowiedniego konwertera. Jeśli w komputerze mamy gniazdo COM dla RS232, użyć można prostego konwertera zbudowanego w oparciu o układ MAX232 (np taki). Jeśli używamy laptopa, użyć należy konwertera na USB (może być taki lub taki).

Ustawienia dla terminala:
baudrate: 4800
parity: none
databits: 8
stopbits: 1
handshake: none

Inne:

prototype_docW roli układu-doktora można użyć jednego z następujących mikrokontrolerów: Atmega8, Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P – oraz ich nowsze/niskonapięciowe wersje „A” czy też „L”. Wsady znajdują się w odpowiednio opisanych folderach.
Zasilanie układu to stabilizowane 12V. Większe napięcie może uszkodzić naprawiany układ!

Program został napisany na podstawie opisu programowania równoległego oraz szeregowego wysokonapięciowego, zawartego w każdej z not katalogowych mikrokontrolerów AVR, (memory programming – parallel/serial programming). Projekt rozpoczęty jeszcze w 2008 roku, ale z braku czasu porzucony, teraz (2010) wykonany na nowo. Jeśli szukasz dedykowanego urządzenia do odblokowania procesorów Attiny, sprawdź mój poprzedni projekt, Attiny fusebit doctor. W projekcie ujawniły się jednak błędy a nie jest on już rozwijany z powodu powstania „Atmega fusebit doctor” który obsługuje wszystkie procesorki Attiny. Opublikowałem tam jednak kod źródłowy, i posiłkując się w/w rozdziałem noty katalogowej, można szybko zrozumieć omawiany mechanizm.


Fusebity:

Wewnętrzny zegar 1MHz oraz włączony bit EESAVE, patrz plik README.
Jeśli używasz nowego układu w roli doktora, to nie musisz nic przestawiać ponieważ fabryczne ustawienia są dobre i układ działa już na wewnętrznym 1MHz. Bit EESAVE nie jest konieczny, powoduje on że zawartość pamięci eeprom nie jest kasowana w przypadku aktualizacji programu – w eeprom układ zapisuje licznik naprawionych układów, którego wartość jest słana po rs232 w celach czysto statystycznych. Więc olej ten fusebit jeśli chcesz.



AKTUALIZACJA 2.1X DAJE NOWĄ FUNKCJONALNOŚĆ!

Wyślij własne fusebity i lockbity przez terminal, pracuj z układami z uszkodzoną sygnaturą. Jeśli dołączysz pin Tx terminala do pinu RX doctora – tryb manualny uruchomi się automatycznie. Wymaga to aby pin Tx terminala był w stanie wysokim w czasie bezczynności, musi on podciągnąć rezystor ściągający 10K. Jeśli tak się nie stanie (połączenie przychodzące odłączone) to doctor będzie pracował w trybie automatycznym (jak dotychczas).

CO I JAK:
Najpierw, doctor odczyta sygnaturę. Jeśli odczyt się nie powiedzie, poprosi o ręczne jej wpisanie. Wpisz dwa ostatnie bajty sygnatury w HEX (4 znaki) i wduś enter.

Następnie doctor spróbuje odczytać układ na podstawie podanej sygnatury.
Jeśli się powiedzie, wybierz jedną z opcji:
1 – write fusebits – zapis fusebitów wartościami z bufora (początkowo fabryczne).
2 – modify fusebits – opcja pozwala na ręczną zmianę fusebitów, dane w buforze się zmienią. Wpisz jeden bajt w HEX (2 znaki) i wduś enter. Powtarzaj dla każdego bajtu (jeśli istnieje).
3 – set lockbits – wpisz wartość lockbajtu, jeden bajt w HEX (2 znaki) i wduś enter.
Pamiętaj że nieużywane bity zawsze muszą być 1! Np, jeśli chcesz włączyć LB1 i LB2, wpisz FC (11111100)
4 – erase the chip – wymazanie całej pamięci i lockbitów, dla bezpieczeństwa wymagana zworka „allow erase”.
5 – end – zakończ programowanie i zwolnij napięcia – można wyjąć układ.

Zobacz jak został naprawiony Attiny13 z uszkodzoną sygnaturą.
Zobacz jak ten sam układ został z powrotem „zepsuty”.
Nie sugeruj się diodami w trybie manualnym – migają jak chcą :)
UWAGA – Firmware 2.1x WYMAGA aktualizacji płytki do wersji 2h!


Galeria:


Pliki:

POBIERZ – ARCHIWUM wszystkich poprzednich aktualizacji. Wsady + płytki.
Historia zmian w pliku README. -WERSJA SMD TUTAJ-
Nie musisz tego pobierać, najnowszy komplet plików znajduje się poniżej.


POBIERZ – AKTUALIZACJA #11, 30.04.2011:
Program ver.2.11 – poprawki
Fusebity: patrz plik README

Poprawiono błąd nie zapisywania się fusebajta HIGH (dotyczy wszystkich procków!)
To „tylko” literówka którą sieknąłem przy optymalizowaniu programu do 2.10 :)

POBIERZ – Adapter SMD:
4 pola układów, kompatybilnych z: T2313, M8, M16, M128 – wszystkie przetestowane.
Do dociśnięcia układu należy użyć silnych spinaczy do papieru.


FAQ – czyli często zadawane Pytania i Odpowiedzi: (aktualizacja 2014-02-01)

P: Brak żadnego znaku życia, diody się nie zapalają.
O: Poważne błędy na płytce lub źle zaprogramowany procesor.

P: Zapala się czerwona dioda.
O: Procesor nie jest rozpoznawany. Wykonaj pomiar napięć. W czasie bezczynności, zmierz napięcia na liniach +12 RESET oraz +5 SUPPLY w złączu goldpin żeńskim – powinny wynosić 0V, lub być bliskie 0V. Po naciśnięciu przycisku START, napięcia te na czas około sekundy powędrują do wartości bliskich +5V oraz +12V. Jeśli jest inaczej, upewnij się że użyłeś dobrych tranzystorów i wlutowałeś je poprawnie.

P: Zapala się czerwona dioda.
O:Błędy na płytce, ścieżki są gęsto upakowane i bardzo możliwe że jest gdzieś niewidoczna przerwa, zwarcie, lub zimny lut. Sprawdź wszystko miernikiem, ale DOKŁADNIE.

P: Zapala się czerwona dioda.
O: Podłącz urządzenie do terminala aby odebrać log z naprawy. Wciśnij start aby odebrać dane.

P: Odebrano „Init programming…” i nic więcej – LUB – odebrana sygnatura to „00 01 02” lub „FF FF FF”.
O: Włożony procesor jest uszkodzony, lub występują błędy na płytce – patrz wyżej.

P: Odebrana sygnatura to „1E 90 00″, ” 1E 1E 1E”, lub coś podobnego (przypominającego sensowne dane)
O: Włożony procesor jest sprawny, inicjuje się, na płytce są zwarcia na liniach DATA, BS, XA.

P: Zapaliła się zielona dioda / odebrano „Verifying… – OK!” ale procesor nadal nie działa w zwykłym programatorze
O: Fusebity na 100% zostały naprawione, procesor posiada uszkodzony sprzętowy SPI lub posiada inne uszkodzenie.

P: Co w logu robi „Read Signature… FAIL!” oraz „Trying T2313 pinout… OK”?
O: Wszystkie układy z 20pinami trzeba traktować nieco inaczej. Urządzenie domyślnie próbuje odczytać procesor wg standardowego schematu, i jeśli się to nie powiedzie („FAIL!”), to próbuje schematu dla ukłaów 20pinowych zgodnych z T2313 i dopiero układ zostaje odczytany. Jest to normalne zachowanie, nie jest to żaden błąd.

P: Co na początku logu robią krzaki typu „<[2J" ? O: Jest to sekwencja czyszczenia ekranu terminala, w ustawieniach włącz emulację „VT100”.

P: Próbuję wysłać znaki na terminal w wersji 2.10, ale żadne się nie pojawiają.
O: Upewnij się że w ustawieniach terminala opcję handshake ustawiłeś na NONE.

P: Po wpisaniu znaków nie mogę ich zatwierdzić enterem i wpisać kolejnych.
O: Przy wciśnięciu „enter/return” terminal musi wysłać znaki CRLF, sprawdź w jego ustawieniach.

P: To mi nadal nie pomaga, próbowałem wszystkiego i ciągle mam problem.
O: Zapytaj w komentarzach poniżej :) Podaj wersję softu oraz wersję płytki z którymi walczysz. Wklej odebrany log naprawy (w formie tekstowej).

P: Czy rezystory szeregowe 1K (R7 do R23) są tu naprawdę potrzebne?
O: Nie, możesz zbudować układ bez nich. Pamiętaj jednak, że jeśli z jakiegoś powodu pacjent nie wejdzie w tryb programowania i będzie wykonywał swój kod, to konflikt stanów na pinach obydwu mikrokontrolerów może je nieodwracalnie uszkodzić. Te rezystory są zabezpieczeniem przed takimi sytuacjami, i sugeruję zbudowanie pełnego układu wg schematu.

P: Rezystory ściągające linie 12V i 5V (R24 i R27) dosyć mocno się grzeją w trybie ręcznym, układ przez to pobiera sporo prądu, czy mogę je zmienić na jakieś większe?
O: Tak, ale układ może działać niepoprawnie ze wszystkimi pacjentami. Napięcia podczas spoczynku muszą mieć wartości bliskie 0V, a podczas załączania i wyłączania tych napięć zbocza powinny być odpowiednio strome aby zachować zależności czasowe (patrz nota, inicjowanie programowania wysokonapięciowego). Jako że w układzie zastosowane są zwykłe tranzystory bipolarne, te rezystory gwarantują zachowanie powyższych wymogów. Ciekawym przypadkiem z jakim się spotkałem była attiny2313 w której zapisywały się wszystkie fuski oprócz RSTDISBL, ponieważ jak się okazało poprzez nieodpowiednio strome zbocza napięcia 12V, procesor prawdopodobnie pracował w trybie równoległym ale nie wysokonapięciowym i nie pozwalał na zmianę tego fuska – jest to moja własna interpretacja także mogę się mylić.

P: Mój procesor jest odczytywany ale doctor nie może zmienić w nim fusebitów, mimo tego że mam założoną zworkę allow erase.
O: Jeśli programator ISP również nie potrafi zmienić fusków ale je odczytuje, to pacjent jest uszkodzony i nic z tym nie zrobimy.

P: Bez włożonego pacjenta układ zachowuje się dziwnie, zawiesza się, a jak przystawię palec do płytki to rusza.
O: Układ nie jest przeznaczony do pracy „na pusto”. Dzieje się tak, ponieważ przy próbie inicjacji trybu wysokonapięciowego, układ czeka na stan wysoki od pacjenta na pinie RDY. Pin ten nie jest ściągnięty do masy i zachowuje się jako wejście o wysokiej impedancji, dla tego ładunek elektrostatyczny z palca jest odczytywany jako stan wysoki i układ rusza dalej z programem.

P: Nie wyświetlają mi się nazwy układów w logu, zamiast nich jest „no names in 8kB ver”.
O: Nazwy nie są wyświetlane przy korzystaniu ze wsadów 8kB, t.j. dla atmega8 i atmega88 – ponieważ nazwy nie mieszczą się w ich pamięci. Jeśli zależy ci na wyświetlaniu nazw, użyj układu atmega168 lub atmega328 i wgraj odpowiedni wsad.

ZAWSZE wgrywaj najnowszą wersję wsadu. Pliki hex oraz bin to wsady dla pamięci flash, użyj jednego z nich. Pamięci eeprom nie programujemy.

Русский перевод – Евгений из GetChip Блог.


3.00 avg. rating (71% score) - 2 votes

1 249 komentarzy

  1. I disabled the reset function on the tiny85 to use it as digital pin and later I tried to reset it but it’s stuck on „Init programming”. It’s odd because I can restore mega328p chips. Also I was able to restore this attiny85 using this http://homepage.hispeed.ch/peterfleury/avr-hvsp-fuse-restore.html
    Whats could be the problem?

    • Check quality of your +12V reset and +5V supply voltages slopes at rise and fall. If they are bad (timing is bad, rise or fall is long, it shows some riplle) then the patient chip can be in normal programming mode, not HV.

      This was the issue with T2313. If slopes was low quality or timing was bad, T2313 entered parallel programming but not HV, and function of the reset line could not be changed. Also there was no communication after disabling reset.

      Did you change pull down resistors for +12V and +5V lines?

      And last question, it is in HVSP mode?

  2. Thanks for your answer. I was in HVPP mode with the ATtiny85 connected. I watched your video again and noticed it enters HVSP mode with the tiny adapter connected. This made me realize I had missed something when I was designing my adapter. I hadn’t connect the XTAL1 and OE pins. I will add a jumper on the main board for them. It fixed my ATtiny85 after connecting these two pins.

    Watching your video again I saw that your board prints on serial monitor:
    „No chip in socket…
    Thank you”
    even without a chip or an adapter connected.
    Mine is stuck on „Init Programming” if I don’t have a chip connected. Is this normal? Could I have missed anything else? If connect a chip I don’t have any problem.

    • Its 2.03 on the video, some things might be changed since then :)

  3. Hello again,
    I build a new fusebit doctor without sockets on the main board. It works only with adapters. I used a boost converter module from ebay to convert 5V to 12V. That way it works with only 5V power supply or a power bank.
    It works fine with atmega328p chips but I’m stuck again with the attiny85. I tried 5 of them (2xDIP and 3xSMD). It reads the device signature successfully of only one of them. On the other four I am getting something like:
    Read signature… 00 00 00 – FAIL!
    or:
    Read signature… FF FF FF – FAIL!
    or something random like:
    Read signature… 0E FF 90 – FAIL!
    or:
    Read signature… 3F 3F 37 – FAIL!
    These 4 chips work fine and I’m able to read the fuses and flash them using a usb programmer. What should I look for on my new board? I used smd components(uC, resistors, transistors) and the only thing I changed is the R6 value from 4K7 to 1K, because I was getting 4.6V on the 5V rail. With the 1K I get 4.8V.

    • Check falling and rising slopes quality and timing on +5V and +12V. This is very important for proper hv prog init.

  4. Cześć,

    Uruchomiłem urządzenie wg Twojego projektu – zadziałało bez problemów za pierwszym razem. Naprawiłem posiadane wszystkie 3 nie dające się programować ATmegi 8 – wszystkie ożyły.

    Świetny projekt – serdeczne podziękowania za Twoją prace i gratulacje za skuteczny i dopracowany projekt.

  5. Hello! Help me please.
    I locked chip AT90pwm3b. I made your doctor chip. Restored LB and ExB.. H-byt not restored(HB=00 )! What could be the reason?

  6. Add that the signature is read correctly, the freezing of the chip was as follows: LockByte=00, LowByte=2c, HighByte=21, ExtByte=06
    After processing: lock= FF Low =62 High=00 Ext=1F
    chip erase I’ve made.

    • Hello, default fuses for AT90pwm1/2b/3b should be L=62, H=DF, E=F9.

      Can you paste here terminal log?

      Can you check your board with some other AVR chip?

      And you do not need this device to unlock lockbyte. You do this in your regular programmer by doing erase chip command.

  7. Hello! I tested my board on chip mega8. I found that= I can write any which want a low bytes. But I can not change High bytes

  8. programming… DONE
    Read signature… 1E 93 07
    Searching chip… no names in 8kB ver
    Read fusebits… L:FF H:DF E:00
    Should be… L:E1 H:D9 E:00
    Lockbits… DISABLED (FF)

    What to do?…
    1 – write fusebits
    2 – modify fusebits
    3 – set lockbits
    4 – chip erase
    5 – end

    Type fuse LOW: e1
    Type fuse HIGH: d9
    Writing E1 D9 00… DONE
    Verifying… L:E1 H:DF E:00- FAIL!
    Please try again…

  9. I made connect AT90pwm3b/ result-I can load any value Low and Ext bytes! HighByte is not loaded.
    this writen HyperTerminal

    • Ok, which version of FW are you using? 2.10 had problem with not writing h-fuse. 2.11 is ok.

  10. YES!!! THANK YOU!!! I regained the chip !! :)
    version 2.11 !!!!!!
    THANK THANK THANK

  11. >>But, source code is attached for this project
    BTW, where i can find source code?

  12. Why you closed source code of atmega doctor? This is a great project, but why you isolate the source code from community help and debugging?…

    • Someone has already reversed the HEX file…apparently there were several others that shared your same disgust.

  13. Init programming… DONE
    Read signature… 00 00 00 – FAIL!
    Type the signature: 1E
    V2.11
    Can not lock atmega8-16PU

  14. Can this device lock, if I puted RSTDISBL bit?

  15. Hi can anyone point me out please?

    Cant get signature read red led tuns off then green flashes few times and Red comes back again :(

    if i do termianl it fails to verify after flash and i have to tell signature manualy

    Regards

  16. Witam.
    Próbuję naprawić moją Attiny13A, której zablokowałem reset (celowo). Mam Fusebit Doctora i adapter do Attiny13 dla niego. Cały czas świeci czerwona dioda. Kiedy próbuję wyczyścić układ poprzez terminal nie odczytuje sygnatury (00 00 00 – FAIL!). Kiedy dopisuję ręcznie 9007 odczytuje fusebity jako 00 00 00, i kiedy próbuję zmienić fusebity/lockbity lub wyczyścić attiny program się zawiesza na napisie np. „Chip erase…”.
    Reset Attiny2313 i Atmegi8 poszedł bez problemu.
    Domyślam się, że ma problem z odczytem układu, ale nie wiem dlaczego. Płytkę już sprawdzałem, adapter też. Doktorem jest Atmega8 z wgranym najnowszym oprogramowaniem (aktualizacja 2.11).

    • Zobacz w logu czy doctor wchodzi w tryb HVSP. Sprawdź też na działającej T13.

    • Z tego co jest napisane to wchodzi („MANUAL HVSP MODE”). Na działającej 13 też nie działa.

    • Cóż mogę napisać, masz gdzieś babola na płytkach.

  17. Ahmed Osama

    I have 3 mega8 with wrong fuses. i have tried the latest schematic and firmware but with no success. thought i might give it a try on a healthy mega 8 with fuses L:0xDF, H:0xCA it reads it as L:0x07, H:0x71
    i suspected the pcb so i built it on a bread board. but no luck.

    please help me revive those back.

    • My only advice is – fix your board until it work. It kind of works, but you have problems on data lines so readings are wrong.

  18. Witam,
    mam pytanie gdzie znajdę schemat adapterów HVSP ? w archiwum są tylko rysunki gif z opisem wyprowadzeń ale brakuje odniesienia do złącza żeńskiego na schemacie doctora

  19. Witam
    Dzięki za „Fusebit Doctora”. Dzięki niemu naprawiłem 2 ATMegi328P w SMD.
    Jeżeli ktoś chce, to mam ten projekt narysowany w całości jako SMD na ATMedze8A w obudowieTQFP32 z adapterem do ATMeg w takiej samej obudowie czyli 8, 48, 88, 168, 328 itp.
    Kontakt mailowy krissk007@op.pl
    Mogę wysłać cały projekt (Altium Designer) lub same płytki w .pdf.

  20. Hi do you have an adapter board for attiny84 in the qfn package?

  21. Hi. I want to make a PCB for myself. May I make 5 PCBs and sell 4?

  22. Szkoda że tylko „leczy” fajnie było by mieć możliwość w grywania własnego kodu w trybie hv. A może gdzieś na sieci jest projekt programatora hv na usb

  23. Clayton Paul Camilleri

    Hi am making your project but I am designing my own PCB. If I use the ATmega 328 as the doctor-chip, does the circuit need to be changed?

  24. Hello. Useful device. I’ve restored several mega8 and tiny2313. But it does not work with tiny12 and tiny15. Can you modify firmware for this chips. Thanks.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Proszę pozostawić te dwa pola tak jak są: