В прошлой записи я писал, что буду собирать Atmega fusebit doctor (HVPP+HVSP). Недавно собрал Atmega fusebit doctor, последней на текущий момент версии v2.11 от 30.04.2011г.
Каждый, кто начинает работать с микроконтроллерами AVR знает, что при неправильной установке "фьюзов", можно прийти к печальным последствиям.
Распространенными случаями является ошибочное отключение вывода Reset микроконтроллера (Fuse-бит RSTDISBL, для возможности использовать его как линию ввода/вывода) или отключение режима ISP программирования (Fuse-бит SPIEN) – в этих случаях внутрисхемное программирование станет невозможным.
Восстановить их работоспособность и вернуть к жизни может лишь параллельный программатор.
Схема такого программатора довольно наворочена, да и применение такого программатора в быту разовое – оживить ошибочно прошитый микроконтроллер. По этому не каждому, да и практически никому не охота его собирать, всегда проще и дешевле — купить новый микроконтроллер. А «мертвые» микроконтроллеры или выкидываются, или собираются в коробочку для лучших времён, авось когда — нибудь появится возможность добраться до параллельного программатора.
Что интересного есть в «Atmega fusebit doctor»?
Как Вы поняли – это не совсем высоковольтный программатор. Это устройство предназначено только для одной цели – вернуть к «жизни» микроконтроллер с неправильно прошитыми фьзами.
Такими фьюзами могут быть:
— CKSEL фьюзы выбора задающего генератора (выбран внешний генератор при его отсутствии или выбрана очень маленькая частота внутреннего);
— SPIEN запрет последовательного программирования;
— RSTDISBL использование ножки сброса как дополнительной линии ввода-вывода;
– установленные LOCK биты;
– другие, мешающие последовательному программированию.
Пользоваться этим устройством очень просто – подаем на плату 12 вольт от стабилизированного БП, вставляем в панельку мёртвый микроконтроллер, нажимаем кнопочку «START» и через секунды получаем новенький рабочий микроконтроллер. Причём Atmega fusebit doctor не затрагивает программу, зашитую в микроконтроллер, ему вообще "до лампочки", что там зашито, он только проверяет фьюзы. Видите, всё очень просто и здесь даже не нужен компьютер.
Принцип работы устройства
При нажатии кнопки «START», Atmega fusebit doctor читает сигнатуру мёртвого микроконтроллера, если она не читается, то делается несколько попыток прочитать её различными способами. После того как сигнатура прочитана, по базе определяется тип микроконтроллера и восстанавливаются заводские установки фьюз бит.
Если сигнатура неизвестна или микроконтроллер выдает ее неверно, устройство установит фьюз биты в такое состояние, при котором станет возможным последовательное программирование.
При восстановлении фьюз бит, прошивка микроконтроллера, как и было, сказано выше, остается нетронутой. Еще на плате есть перемычка «ALLOW ERASE», при замыкании которой, устройство полностью «обнулит» микроконтроллер. Это необходимо в том случае, если микроконтроллер «залочен», т.е. установлены защитные биты которые препятствуют чтению/записи микроконтроллера.
Для индикации работы устройство имеет два светодиода – красный и зеленый
Если горит зеленый – пациент успешно вылечен, фьюз биты восстановлены до заводских. Если микроконтроллер «залочен» (LockBits включены), просто проверяются фьюз биты и если они совпадают с заводскими – загорается зеленый светодиод.
Если горит красный – проблемы с сигнатурой чипа, невозможно прочитать, нет микроконтроллера в панельке или нет такой сигнатуры в базе данных.
Если мигает зеленый– сигнатура в порядке, фьюз биты с ошибкой, но исправить их невозможно, так как микроконтроллер «залочен» (LockBits включены), необходимо полное стирание микроконтроллера (нужно установить перемычку для стирания – «ALLOW ERASE»).
Если мигает красный – сигнатура в порядке, микроконтроллер «не залочен», но, по какой-то причине, невозможно восстановить фьюз биты.
Если Вы хотите получить более подробную информацию о процессе «лечения» на плате есть выход UART. Отправьте этот сигнал на терминал и получите «распечатку» того, что было сделано.
Установки для терминала:
baudrate: 4800
parity: none
databits: 8
stopbits: 1
handshake: none

На плате установлены три панельки для «пациентов» на 20 (Attiny2313 …), 28 (Atmega48/88/168, Atmega8 …), 40 (Atmega16, Atmega8535 …) ножек. Если Вы решили полечить другого пациента, то на плате предусмотрен специальный разъем для подключения адаптеров с панельками под любой, нужный Вам, микроконтроллер. Устройство поддерживает аж 106 типов микроконтроллеров AVR.
Вот полный список:
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
Зелененьким отмечены кристаллы которые проверялись и удачно полечились пользователями «доктора».
Схема устройства довольно простая. Номиналы резисторов можно варьировать в небольших пределах
Atmega Fusebit Doctor V2h schematic.pdf — Схема "Atmega fusebit doctor".
Изготовление платы
Взял печатную плату от Paul (в Сплинте)
Ошибки в данной плате, обнаруженные zloynik:
1.Резистор с 23 ноги меги не соединен с панельками.
2.Резистор с 4 ноги меги не соединен с панельками.
3.Резистор с 5 ноги меги не соединен с панельками.
4.Транзистор BC547(Т2) с 13 ноги меги-нет контакта с эмиттера на «землю».
Не беда. Дорисовывал недостающие соединения и заменил все резисторы 0,125 на 0,25.
Сравнение печатная плата от Paul и изменения в моей плате


ATmega Fusebit Doctor.lay — Изменения в моей плате "Atmega fusebit doctor".


Сборка устройства

Получаем вот такое устройство:

А вот такой красивый девайс с сайта getchip.net.

Сборка устройства на этом завершена. Идем прошивать микроконтроллер Atmega8
Прошиваем микроконтроллер
Теперь осталось только прошить микроконтроллер Atmega8 и устройство готово!
Atmega Fusebit Doctor 2.11 M8 – Прошивка 2.11 "Atmega fusebit doctor" для Atmega8
Фьюз байты: Lock Bits = 0x3F; High Fuse = 0xD1; Low Fuse = 0xE1; Ext. Fuse = 0x00
Проверка работоспособности доктора
В результате работы «Atmega fusebit doctor» мною были возращены к жизни Attiny2313, Attiny13 и Atmega8.
Пробовал восстановить две разные Attiny12L, на обеих моргает зеленый светодиод, т.е. сигнатура в порядке, но фьюз биты с ошибкой, необходимо полное стирание ALLOW ERASE. Замыкание соответствующей перемычки и нажатие на клавишу не приводит к необходимому результату — тухнет и снова моргает зеленый светодиод. Проверил, при попытке очистки +12В к ножке reset подводится, но либо Attiny12L по какой-либо причине не поддается.
Сопряжение доктора с ПК
Преобразователь USB-UART на FT232RL (Для конфигурирования различных устройств)







Комментарии 13
гениально…
завтра же начну делать этот девайс!
искал инфу и нашел на драйве…
у меня слетела прошивка на atmega2561, а там ISP отключено.
надеюсь- что с этим прибором удастся раскирпичить.
Нет ли случайно у кого переходника под ATmega32U4 (44-pin)
Нашли ?
Неа.
Я просто в шоке ! насколько на драйве сидят разносторонне развитые Люди! искаль в поиске как сбросить фьюзы а вышел на любимый драйв и как всегда все расписано замечательно!
куплю такой прибор срочно в Украине!
То есть без этой штуки d-a.d-cd.net/917fc4s-960.jpg доктор не будет работать ?
Будет работать
атини85 можно ей вылечить ?
Да
спасибо
Тоже буду собирать такое, отличная штука выручает за минуту…
Молодец ) Красиво получилось. Как же мне знакомо это.