Печать

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

Опубликовано . Опубликовано в Программирование AVR

Рейтинг:   / 6
ПлохоОтлично 

Часто в моей практике при программировании  микроконтроллеров  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.

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

Файлы:
Прошивка микроконтроллера, макет печатной платы SprintLayout5
Дата 06.01.2013 Размер файла 11.94 KB Закачек 1608

Комментарии  

0 #1 Бармалей 01.10.2013 16:47
Прошивка для этого реаниматора, определяет тип процессора и, соответственно, шьёт. vbb.su/
Сообщить модератору
+5 #2 mag58 23.02.2014 14:31
Здравствуйте,а почему нет ссылки на первоисточник публикации?
Автор этой статьи Я,я её Вам не давал ни Вы ко мне с просьбой публиковать,не обращались
первоисточник тут, там есть и почтовый адрес,на который Вы не написали,и в конце статьи не привели его тоже.
radioded.ru/.../...
Сообщить модератору

Рекомендуем посмотреть