059 AVR doc viewМногие радиолюбители знают (иногда на собственном печальном опыте), что микроконтроллер AVR можно вывести из строя неосторожным программированием настроечных бит (так называемых фьюзов). Будучи запрограммированными неправильно, эти биты сохраняются в энергонезависимой памяти, и могут привести к невозможности дальнейшего программирования микроконтроллера или выбору фьюзами его тактовой частоты. По крайней мере невозможно восстановить микроконтроллер обычными средствами, без наличия специального высоковольтного HVPP/HVSP программатора.

Ссылки по проекту Fuse Bit Doctor

ФайлНаименованиеРазмерСкачать с сервера
FBD_PCB.zip Печатная плата доктора в DipTrace 270кБ Скачать
FBD_circuit.zip Схема печатной платы доктора в DipTrace 55 Скачать
FBD_circuit.pdf Схема печатной платы доктора в PDF 212 Скачать
Fromware_V2.11.zip Прошивка v2.11 для доктора 87 Скачать

В архиве FBD_PCB.zip находится 2 версии печатной платы, с кнопками и с перемычками.

{youtube}vk5Do03bWn4{/youtube}

Список потдерживаемых типов микроконтроллеров AVR

В настоящий момент поддерживается 145 типов микроконтроллеров AVR, но не все из них были протестированы. Те, что были проверены, подкрашены зеленым цветом. Автор просит в случае проблемы с каким-либо микроконтроллером сообщить ему, тогда он исправит ошибку. Список рассортирован по объему памяти программ микроконтроллера (FLASH).

1 килобайт: AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15

2 килобайта: Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343

4 килобайта: Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45

8 килобайт: 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

32 килобайта: 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

64 килобайта: Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64

128 килобайт: Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128

256 килобайт: Atmega2560, Atmega2561

Я доработал текущую версию доктора до версией 2.10, фото 3D модели новой версии ниже. 

1) Штырьевые перемычки заменил на переключатели

2) Добавлена светодиодная индикация положения кнопок и режима работы доктора

3) Добавлено ещё одно посадочное место под USB на нижней стороне платы (запасной, на случай если сломается основной)

4) Добавлена поддержка прошивки V2.12, с возможностью перейти на версию 2.11

6) Поправлена разводка платы

7) + ещё некоторые незначительные измененя.

fuse bit doctor

fuse bit doctor top

6666

Схемы новой версии чуть позже, после того как проверю работоспособность!

Многие радиолюбители знают (иногда на собственном печальном опыте), что микроконтроллер AVR можно вывести из строя неосторожным программированием настроечных бит (так называемых фьюзов). Будучи запрограммированными неправильно, эти биты сохраняются в энергонезависимой памяти, и могут привести к невозможности дальнейшего программирования микроконтроллера или выбору фьюзами его тактовой частоты. По крайней мере невозможно восстановить микроконтроллер обычными средствами, без наличия специального высоковольтного HVPP/HVSP программатора.

HVPP расшифровывается как high voltage parallel programming, т. е. высоковольтное параллельное программирование.
HVSP расшифровывается как high voltage serial programming, т. е. высоковольтное последовательное программирование.
 
Atmega fusebit doctor, как следует из названия, это устройство, предназначенное для восстановления "убитых" микроконтроллеров AVR ATmega (и ATtiny начиная с версии v2.04 устройства) путем записи в них корректных значений бит фьюзов. Описанное простое и дешевое устройство позволит исправить Ваши брикнутые микроконтроллеры за доли секунды.

1KvLQDNsQc8

Это устройство использует параллельный и последовательный принципы высоковольтного программирования микроконтроллеров AVR. С помощью этих методов можно "достучаться" до убитых микроконтроллеров, у которых запрещен сброс или программирование ISP.

[Как восстановить фьюзы "убитого" микроконтроллера]

Просто поместите убитый AVR в сокет, нажмите кнопку START и... и это все. Вы получите восстановленный, работоспособный микроконтроллер в том виде, как он пришел с завода Atmel. На плате fuse-доктора есть 3 слота для установки большинства совместимых микроконтроллеров AVR, которые совпадают с цоколевкой DIP-версий Atmega8, Atmega16, Attiny2313. Имеется также дополнительный коннектор, куда Вы можете подключить адаптеры:

[Светодиоды индикации]

Для индикации состояния на плате fuse-доктор установлены 2 светодиода - зеленый (GOOD) и красный (BAD).

GREEN LED light const Зеленый постоянно горит – пациент успешно вылечен, биты фьюзов восстановлены. Если разрешены биты защиты, то будет просто проведена проверка состояния фьюзов - заводское ли оно, и если это так, то зеленый светодиод загорается.
RED LED light const Красный постоянно горит – проблема с сигнатурой, её нельзя прочитать, нет микроконтроллера в сокете, или такой сигнатуры нет в базе данных fuse-доктора.
GREEN LED light flashing Зеленый мигает – сигнатура в порядке, но биты фьюзов в неправильном состоянии. Причина - установлены биты защиты, нужно разрешение на полную очистку восстанавливаемого AVR (Необходимо переставить перемычку ERASE с OFF на ON).
RED LED light flashing Красный мигает – сигнатура прочитана, нет блокировки битами защиты, но по непонятной причине нельзя записать новое значение для бит фьюзов.
 
Ниже приведены схемы устройства, и для удобства изучения линии питания расскрасил в разные цвета.
Розовый +5 Вольт
красный +12 Вольт
Светло синий GND (-)
Оранжевый +5 PROG для програмируемых МК, включается транзистором t3
Зеленый +12 RESET для подачи напряжения на ноги RESET востанавливаемых мк.

Общая схема для самостоятельной сборки

==============================================================================
==============================================================================

full

Подключение управляющего контроллера к восстанавливаемым

atmega

Схема подключения USB и преобразователь USB-UART на CP2102

USBC2102

Схема увлечения напряжения с 5в до 12в при помощи микросхемы MC34063

12

Конденсатор 470pf – емкость частотнозадающего конденсатора преобразователя. 
Сопротивление 1  – резистор который отключит микросхему при превышении тока.
C13 – конденсатор фильтра. Чем он больше тем меньше пульсаций, должен быть LOW ESR типа.
13k, 1.5k – делитель напряжения который задает выходное напряжение.
D1 – диод должен быть сверхбыстрым (ultrafast) или диодом шоттки с допустимым обратным напряжение не менее чем в 2 раза превышающим выходное.

С13 электролит 220мкф, 

Схемы соединения, светодиодов, транзисторов и кнопки "старт"

komun

Подключение микроконтроллеров ATTINY 24/44/48/2313/4313

tiny

Подключение микроконтроллеров ATMEGA 8/16/32/48/164/168/324/328

atmegaprog

 

Вот востановил Attiny 13A SSU

578

Также можно просмотреть что там происходит с МК при помощи любого терминала, благодаря встроенному USB-UART CP2101.

log

 

Фото печатной платы в DIP TRACE

Верхняя часть платы

top

Нижняя часть платы

botom