Фьюзы доктор прошивка – Volkswagen Golf Black Panther › Бортжурнал › Atmega fusebit doctor (HVPP+HVSP) — Восстановление конфигурации Fuse-битов микроконтроллеров AVR

Atmega fusebit doctor — восстановление фьюзов на МК — DRIVE2

Всем привет!
В прошлой статье я писал уже, что во время прошивки микроконтроллера забыл про инверсность фьюзов и залочил его), и что решил собирать «доктора» для МК.

Пару дней назад я успешно осуществил задуманное. С чем и спешу поделиться с вами! ))

Печатная плата на этот раз получилось с первого раза, хоть монтаж и гораздо плотнее! После травления обнаружил только один небольшой косячек, который устраняется одним движением паяльника)

Дельный совет! — Сверлите отверстия под перемычки и резисторы сверлышками диаметром 0.6-0.7, иначе как и я почти посрываете некоторые контактные площадки, и при запайке в них элементов испытаете много гемороя неудобств.

Печатная плата изготовленная методом ЛУТ

Лудим сплавом Розе

Засверливаем отверстия

Домашнее рабочее место)

В процессе сборки…

После сборки и тщательной проверки правильности монтажа необходимо вставить в панельку заранее прошитый МК.
Правильно собранное устройство запустится сразу же после подачи +12В.

Готовое к работе устройство

Печатную плату, принципиальную схему и прошивку МК можно скачать здесь. Там же найдете схемы печаток адаптеров.

Для индикации работы устройство имеет два светодиода – красный и зеленый.

Если горит зеленый – пациент успешно вылечен, фьюз биты восстановлены до заводских. Если микроконтроллер «залочен» (LockBits включены), просто проверяются фьюз биты и если они совпадают с заводскими – загорается зеленый светодиод.
Если горит красный – проблемы с сигнатурой чипа, невозможно прочитать, нет микроконтроллера в панельке или нет такой сигнатуры в базе данных.
Если зеленый мигает – сигнатура в порядке, фьюз биты с ошибкой, но исправить их невозможно, так как микроконтроллер «залочен» (LockBits включены), необходимо полное стирание микроконтроллера (нужно установить перемычку для стирания – «ALLOW ERASE»).
Если мигает красный – сигнатура в порядке, микроконтроллер «не залочен», но, по какой-то причине, невозможно восстановить фьюз биты.

На плате имеется разъем UART, через который наше устройство можно подключить к компьютеру через соответствующий переходник и считывать данные о процессе восстановления МК. Также имеется разъем для подключения адаптеров для других МК.

Список МК:
Жирным выделены МК успешно вылеченные пользователями устройства.
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

Я также успешно вылечил свой МК)). Повторно прошил его, после чего он занял свое место в программаторе USBASP

Если вам понравилась статья, подача материала и т.д. — поддержите автора в благих начинаниях своими «Нравится» над комментариями!)) Спасибо!

www.drive2.ru

ATmega Fuse Doctor — Мои файлы — Каталог файлов

ATmega Fuse Doctor, дальше AFD — устройство для восстановления фьюзов ATmega и ATtiny. Автор — поляк Pawel Kisielewski, его  сайт на польском/английском : http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en

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

Полностью прочитать о работе, истории создания вы можете по ссылкам выше, кто на русском, кто на польском/английском. Я же хочу развенчать ошибочные мнения о вариантах схемы, плат, прошивок.

                                                                                  Схемы.

Есть базовая схема от разработчика с минимальным количеством слотов для пациентов :

Которая питается только от стабилизированных +12 вольт(допустимый предел 11.5…13.0), имеет выход на СОМ порт — RS232 только одну линию — ТХ — что определяет, при заливке прошивки не старше v.209, использование   компьютера как индикатора выполненного действия.

Резистор R5 — ввиду того, что вы применяете светодиоды с большим током, а значит перегружаете шины РС2, РС3 — должен быть 1к0…1к2(102…122),   защитные резисторы R7….R23 можно ставить от к47(470 оМ = 471 ) до 1к2(1200 оМ = 122), резистор R25 можно применять от к10 (100 оМ = 101) до к47 (470 оМ = 471).

Остальные схемы — это есть вариация на тему базовой схемы и отличаются от оной наличие двух стабилизаторов  на 12 и 5 вольт, для питания от не стабилизированного источника постоянного тока напряжением 14…18 вольт.  Или наличием преобразователя DC/DC при питании от USB порта (5 вольт стаб.). Подключены до двух десятков посадочных мест для пациентов, как в DIP корпусах, так и в корпусах SOICxx,  так и QFNxx.

Также на вариациях могут присутствовать преобразователь уровней (МАХ232 или подобный) для работы с «железным» СОМ портом, или мосты USB — COM(СР210х, FT232RL, PL20xx и им подобные).
Схемы могут быть разведены под управляющий контроллер (ATmega8/88/168/328) в корпусах DIP-28 или QFN- 32.

Некоторое количество схем можете скачать по ссылке: Архив схем AFD

                                                                              Платы

ВСЕ платы, как от автора, так и от любителей, совместимы с прошивками v.2.09 и v.2.11. Всякие слухи, что есть платы под конкретные прошивки — беспочвенные. Проблема неработоспособности той или иной прошивки на той ли иной версии платы — невнимательность, неаккуратность исполнителя.

А вот под прошивку v.2.12 от Геннадия, форум Схем.нет   пока есть только одна плата, смотрите Архив ПП, папка Плата под v2.09_2.11_2_12

Доработка платы сводится к тому, что нужно перерезать дорожку от PD6(11нога) attyni2313 от  BS2 и припаять перемычку с ХА1 на эту 11 ножку. Все остальные м/к лечатся при подключении от автора. Доработка касается только attiny2313. В прошивку внесены кардинальные изменения, о которых я напишу в разделе «Прошивки»

Здесь находится большой выбор печатных плат AFD: Архив ПП для AFD

                                                              Прошивки

Прошивки v.2.09 и  v.2.12 от Геннадия, форум Схем.нет на  ATmege8 могут работать только в симплексном режиме, т.е.передавать данные в компьютер через терминальные программы, например «Hiper Terminal»

Прошивка v.2.11 на ATmege8/88/168/328  создавалась для работы в дуплексном режиме, т.е. AFD и компьютер могут обмениваться информацией.

Всевозможные варианты прошивок, на управляющий м/к ATmega8/88/168/328:  Архив прошивок AFD

Кстати, все прошивки работают на любой из предложенных плат и с любым управляющим м/к ATmega8/88/168/328, нужно только правильно сделать плату,чисто запаять, залить нужную прошивку в нужный м/с и правильно выставить фьюзы.

Вот и поговорим о фьюзах в следующим разделе.

                                          Fuse  ATmege8/88/168/328 для работы в AFD

Фьюзы, в шестнадцатеричном виде,  для ATmega8 при использовании прошивок v. 2.09 и  v. 2.12 такие:

FUSEBITS : ATmega8, v. 2.09 и  v. 2.12: internal 1MHz clock, EESAVE disabled:

Low: E1, High: D9, Lock: 3F

——————————————————————————————————————————————

FUSEBITS : ATmega8/88/168/328, v. 2.11 : internal 1MHz clock, EESAVE enabled:
    ATmega8               Low : 0xE1.      High : 0xD1.                    Lock : 3F
    ATmega88/168      Low : 0x62.      High : 0xD7.  Ex : 0xF9.  Lock : 3F
    ATmega328           Low : 0x62.      High : 0xD1.  Ex : 0xFF.  Lock : 3F

EESAVE – защита EEPROM от стирания.
При подаче команды полного стирания микроконтроллера (обычно осуществляется при каждом программировании кристалла) стирается и EEPROM. Если Вы хотите чтобы EEPROM оставалось нетронутой – активируйте этот фьюз. Это актуально если в EEPROM хранятся важные данные.
EESAVE = 1 – стирать EEPROM вместе с Flash;
EESAVE = 0 – оставлять EEPROM при очистке нетронутым.

С шестнадцатеричным представлением фьюзов разобрались, а теперь перейдём к «галочному». Ведь большинство повторяющих ту или иную конструкцию не вникает в то, что представляет каждый бит фьюзов, а  выставляют «галки» по приведённым картинкам. Вот и я дам несколько картинок как выставить фьюзы «галками» в нескольких софтах программаторов. Напоминаю, что для прошивок v.v. 2.09 и 2.12 оставляем фьюзы заводские, а вот для прошивки v.2.11 нужно менять.

Итак начнём: 

Прошивка v.2.11, м/к ATmega8, программатор USBasp_AVRDUDE_Prog.

Прошивка v.2.11, м/к ATmega8, программатор  Khazama AVR Prog.

Прошивка v.2.11, м/к ATmega8, программатор  ProgISP.

Прошивка v.2.11, м/к ATmega8, программатор AVRDUDESHELL.

Прошивка v.2.11, м/к ATmega8, программатор Willem.

Прошивка v.2.11, м/к ATmega8, программатор AVRDUDEESS2_4_avrdudess_v_6_4

Очень хорошая статья о фьюзах, с примерами, на русском, находится в: Fuse

Инструкции по работе со всеми версиями прошивок: Инструкции по работе

Теперь у вас есть вся информация по самостоятельной сборке и работе. Успехов!!!

А кто ленится сам собирать, тогда милости прошу сюда: ATmega Fuse Doctor — реализация.

Вопросы приветствуются.

 

programmator-ua.ucoz.ru

Volkswagen Golf Black Panther › Бортжурнал › Attiny fusebit doctor (HVSP) — Восстановление конфигурации Fuse-битов микроконтроллеров Attiny AVR

При разработке устройств на микроконтроллерах AVR часто требуется изменение конфигурации Fuse-битов (например, для изменения источника тактовой частоты, включения/выключения дополнительных функций). Все микроконтроллеры AVR имеют возможность внутрисхемного программирования (последовательный протокол). Однако при конфигурировании Fuse-битов легко допустить ошибку, что очень часто случается у новичков, и в итоге, при следующей попытке внутрисхемно запрограммировать микроконтроллер, программатор сообщает об ошибке (например, микроконтроллер не обнаружен). Распространенными случаями является ошибочное отключение вывода Reset микроконтроллера (Fuse-бит RSTDISBL, для возможности использовать его как линию ввода/вывода) или отключение режима ISP программирования (Fuse-бит SPIEN) – в этих случаях внутрисхемное программирование станет невозможным.

Я долго выбирал устройство для лечения. Короче, хочу попробовать собрать Attiny fusebit doctor. Если получиться вылечить микроконтроллер, то хорошо.

Данное устройство Attiny fusebit doctor – позволяет восстановить конфигурацию Fuse-битов (заводские установки, согласно техническому описанию) микроконтроллеров семейства Attiny фирмы Atmel. Поддерживает все микроконтроллеры, которые имеют интерфейс высоковольтного последовательного программирования (HVSP):
в 8-выводном корпусе: Attiny11, Attiny12, Attiny13, Attiny15, Attiny25, Attiny45, Attiny85, Attiny22, AT90s2323, AT90s2343;
в 14-выводном корпусе: Attiny24, Attiny44, Attiny84;

При программировании Fuse-битов микроконтроллера следует учитывать, что используется внутренний осциллятор 4 МГц без делителя на 8. А также можно включить опцию «fast rising power».

Принципиальная схема устройства

Плата с установленными компонентами

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

Восстановление конфигурации микроконтроллера (пациента) начинается по нажатию кнопки Start. Для индикации статуса предусмотрены два светодиода, состояния которых обозначают:
включен зеленый светодиод – конфигурация Fuse-битов восстановлена. Если установлены Lock-биты, то проверяется только соответствие текущей конфигурации битов заводским установкам и если она совпадает, то включается зеленый светодиод;
включен красный светодиод – ошибка при считывании сигнатуры микроконтроллера: невозможно прочитать, отсутствует микроконтроллер в сокете или сигнатура не совпадает с имеющимися в базе данных устройства;
мигает зеленый светодиод – сигнатура верна, конфигурация Fuse-битов не верная. Lock-биты установлены, требуется операция стирания Flash-памяти;
мигает красный светодиод – сигнатура верна, lock-биты не установлены, но по некоторым причинам Fuse-биты не могут быть записаны, не проходит проверка после 10 попыток.

Устройство для восстановления Fuse-битов действует согласно протокола высоковольтного последовательного программирования. Первоначально при запуске процесса, восстанавливаемый микроконтроллер (пациент) переключается в режим высоковольтного программирования памяти, затем считывается сигнатура чипа и проверяется возможность работы устройства с ним. После этого выполняется операция стирания, если пользователь указал это. Следующий этап – считывание lock-битов и, если они не установлены, то «пациент» получает новую конфигурацию Fuse-битов, соответствующую модели микроконтроллера-пациента. После этого выполняется проверка установки (верификация) Fuse-битов и, если тест проходит удачно, устройство заканчивает свою работу. В противном случае устройство повторяет цикл запись-верификация Fuse-битов 10 раз.

На плате установлены две перемычки (джамперы) «chip erase» и «unknown signature»:
chip erase – разрешает операцию стирания всей Flash-памяти чипа. Это необходимо в том случае, если установлены lock-биты, т.е. нет возможности исправить Fuse-биты, пока не будут сняты lock-биты. Джампер включен – операция стирания разрешена.
unknown signature – неизвестная сигнатура чипа – явление очень редкое, но все же случается, что чип стер свою сигнатуру. Сигнатура, байты калибровки и другие данные не могут неизменно храниться в структуре чипа, они могут быть случайно повреждены (стерты) в случае нестабильного электропитания в процессе программирования. Обычно в таких случаях получаемые значения сигнатуры — FF FF FF, но чип работает нормально, Flash-память можно считать и записать. Если считанная сигнатура не совпадает ни с одной из базы данных устройства (включая значения FF FF FF и 00 00 00), то при включении этого джампера устройство запишет универсальную конфигурацию Fuse-битов. Универсальная конфигурация означает, что будет восстановлен ISP (включение бита SPIEN) и функциональность вывода Reset (отключение бита RSTDISBL) микроконтроллера, опции осциллятора затронуты не будут. При таких действиях микроконтроллер получит возможность дальнейшего восстановления, но уже при помощи обычного SPI программатора.

Изготовление платы (подробно писать не буду). Если вы хотите знать как изготавливать платы — нажмите сюда.





Сборка устройства Attiny fusebit doctor
Делаем схему.




Добавил резистор 1кОм для линии сброса (Reset).

Сборка устройства на этом завершена. Идем прошивать микроконтроллер Attiny2313.

Прошивка микроконтроллера для устройства «Attiny fusebit doctor»
1. Микроконтроллер Attiny2313 вставляем в DIP панель «ATMEL AVR DIP Programmer».
2. Подключаем компьютер с помощью USBasp
3. Запускаем SinaProg 2.1.1 и прошивку с версией 3 из этого архива в папке «firmware» для нужного МК. Архив — TINY-HV-DOCTOR-12_T2313_BETA3.HEX


Вот и все с прошивкой. Бежим проверять в действии)

Проверка работоспособности доктора
1. Подключаем к доктору нашу подопытную Attiny 13 (Была ошибка, из-за которой МК не обнаружит.)
2. Давим на кнопку START и включен зеленый светодиод, значит вылечен.

И вот получилось вылечить микроконтроллер Attiny 13. Еще буду собрать Atmega fusebit doctor (HVPP+HVSP)

www.drive2.ru

FAQ Atmega fusebit doctor — Сообщество «Электронные Поделки» на DRIVE2

Всем привет.

Собрал на днях себе «доктора», из-за того что залочил свой МК при выставлении фьюзов во время прошивки МК для USBAsp)

Принципиальную схему, печатную плату и прошивку брал с этого сайта. Там же можно скачать схемы печатных плат адаптеров для МК.

Печатную плату изготавливал методом ЛУТ. Лужение выполнял сплавом Розе.

Дельный совет! — Сверлите отверстия под перемычки и резисторы сверлышками диаметром 0.6-0.7, иначе как и я почти посрываете некоторые контактные площадки, и при запайке в них элементов испытаете много гемороя неудобств.

При пайке внимательно сверяйте со схемой положение DIP площадок — в дальнейшем будет меньше путаницы)

Готовое утсройство:

Также заранее необходимо прошить МК любым подходящим и имеющимся у вас в наличии програматором. Не забываем про правильное выставление фьюзов после прошивки)

После подачи +12В на плату устройство при правильной сборке и монтаже запустится сразу же.

Для индикации работы устройство имеет два светодиода – красный и зеленый.

Если горит зеленый – пациент успешно вылечен, фьюз биты восстановлены до заводских. Если микроконтроллер «залочен» (LockBits включены), просто проверяются фьюз биты и если они совпадают с заводскими – загорается зеленый светодиод.
Если горит красный – проблемы с сигнатурой чипа, невозможно прочитать, нет микроконтроллера в панельке или нет такой сигнатуры в базе данных.
Если зеленый мигает – сигнатура в порядке, фьюз биты с ошибкой, но исправить их невозможно, так как микроконтроллер «залочен» (LockBits включены), необходимо полное стирание микроконтроллера (нужно установить перемычку для стирания – «ALLOW ERASE»).
Если мигает красный – сигнатура в порядке, микроконтроллер «не залочен», но, по какой-то причине, невозможно восстановить фьюз биты.

На плате имеется разъем UART, через который наше устройство можно подключить к компьютеру через соответствующий переходник и считывать данные о процессе восстановления МК. Также имеется разъем для подключения адаптеров для других МК.

Список МК:
Жирным выделены МК успешно вылеченные пользователями устройства.
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

Я также успешно вылечил свой МК)). Повторно прошил его, после чего он занял свое место в программаторе USBASP

www.drive2.ru