Часто в моей практике при программировании  микроконтроллеров  ATtiny13, которые часто использую, возникали  ситуации, когда микроконтроллер то ли из-за программ или неправильных ошибочных действий при программировании «самоблокируется» и отказывается программироваться повторно в ISP-режиме. Насколько я понял, подобная проблема волновала не только меня. И  изучив статьи по ссылкам, я понял что надо попробовать собрать подобное устройство, которое бы возвращало залоченный микроконтроллер к жизни. Потому, как держать STK500 наготове и доставать его всякий раз для таких случаев не всегда удобно.

Выход из ситуации один, перепрограммировать его программатором, восстановив заводские настройки в режиме высоковольтного параллельного программирования, в так называемом H/V режиме. Данного режима нет у простых программаторов, которыми в большинстве пользуются начинающие радиолюбители осваивающие работу с микроконтроллерами AVR.

Какой выход? Купить новый программатор, где есть такой режим? - это дополнительные денежные затраты. Изготовить программатор с возможностью программирования в H/V режиме? - тоже можно, но это снова дополнительное время. Есть ещё один путь, - изготовить небольшое устройство на микроконтроллере, которое будет записывать в «заблокированный» микроконтроллер изначальные заводские настройки.

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

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

Восстановление заводской конфигурации fuse-битов микроконтроллера Attiny13

Микроконтроллер IC1 берёт на себя задачу по реанимации «убитого» микроконтроллера. Вставляем в панельку повреждённую микросхему, включаем питание блока питания ATX, который я счёл удобным использовать для данного модуля, поскольку там есть два напряжения: +5 в и +12 в, что требуется нам для питания данной схемы, оснастил схему ответной частью разъёма от блока питания  ATX  для удобства.

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

С 3-й ноги микросхемы IC1 подаётся импульс определённой длительности, который открывает транзисторные ключи, подавая в этот период напряжение на реанимируемый микроконтроллер IC2 (+12V на 1-ю ножку - Reset и одновременно подаёт +5V на 8-ю ногу - Vcc). А так же одновременно по другим выводам параллельно передаётся на запись из IC1 в IC2 информация изначальных заводских настроек. После окончания этого цикла светодиод гаснет, что говорит о том, что процесс реанимации закончен и можно выключить питание,  извлечь восстановленную микросхему.

Подобное устройство я собрал и испытал, сознательно загоняя «подопытный» экземпляр - микроконтроллер  ATtiny13 в «нежелательные»  режимы, приводящие к последствиям, после которых  он отказывался повторно программироваться ISP-программаторами (STK200, AVR ISP mkII и т.п.). Посредством данного реаниматора возвращал его к жизни.

Настройка fuse-битов микроконтроллера AVR ATtiny13

Транзистор VT1 n-p-n структуры, из отечественных, можно применить КТ315. VT2, VT3 p-n-p, можно применить КТ361. При программировании микроконтроллера, выполняющего роль реаниматора, выставить такие fuse-биты: тактовая частота 4,8MHz, без делителя на 8.

Автор: Науменко Владимир, г. Калининград


Архив для статьи "Восстановление заводской конфигурации fuse-битов микроконтроллера Attiny13"
Описание: Прошивка микроконтроллера, макет печатной платы SprintLayout5
Размер файла: 11.94 KB Количество загрузок: 2 614 Скачать

Комментарии  

+6 #1 mag58 23.02.2014 14:31
Здравствуйте,а почему нет ссылки на первоисточник публикации?
Автор этой статьи Я,я её Вам не давал ни Вы ко мне с просьбой публиковать,не обращались
первоисточник тут, там есть и почтовый адрес,на который Вы не написали,и в конце статьи не привели его тоже.
radioded.ru/.../...
Сообщить модератору
+1 #2 Eduard Samoylenko 15.09.2021 10:01
Здравствуйте уважаемый друг. случайно наткнулся на вашу статью и она меня очень заинтересовала. Я в этом практически полный профан. ХОТЕЛ бы уточнить,скольк о нужно держать нажатой кнопку.
Сообщить модератору
0 #3 AntonChip 16.09.2021 08:12
Кнопка используется для сброса устройства, долго держать не надо
Сообщить модератору
0 #4 Eduard Samoylenko 20.09.2021 12:08
При программировани и микроконтроллер а реаниматора я так понимаю,что нужно снять галочку с ckdiv8 и потом запрограммирова ть фьюзы. Потом сделать программировани е самого микроконтроллер а. Пользуюсь программой avrdude prog3.3 Подскажите что не так.
Сообщить модератору