Радиолоцман Электроника en
расширенный поиск +
  
Срез:Микроконтроллеры

02-06-2010

Восстановление конфигурации Fuse-битов микроконтроллеров семейства ATmega AVR (HVPP)

Paweł Kisielewski

Устройство ATmega fusebit doctor предназначено для восстановления заводской конфигурации Fuse-битов микроконтроллеров Atmel AVR семейства ATmega в случаях неправильной записи таковых. Самыми распространенными ошибками или проблемами являются неправильное конфигурирование источника тактовой частоты (fuse-бит CKSEL), отключение последовательного интерфейса программирования SPI (fuse-бит SPIEN) или отключение вывода Reset для возможности использовать его как линию ввода/вывода (fuse-бит RSTDISBL). Данное простое и дешевое устройство призвано за считанные секунды восстановить конфигурацию (оживить микроконтроллер).

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

Устройство использует метод параллельного высоковольтного программирования (HVPP), и в базе данных содержаться сигнатуры многих микроконтроллеров семейства ATmega. Пользователю необходимо лишь установить микроконтроллер с неправильной конфигурацией fuse-битов в сокет и нажать кнопку Start.


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

Принципиальная схема: устройство восстановления fuse-битов ATmega
Кликните для увеличения

Основой является микроконтроллер ATmega8, который настроен на работу от внутреннего RC осциллятора 1 МГц. Это следует учитывать при программировании микроконтроллера при установке fuse-битов, а также необходимо установить бит EESAVE.

Светодиоды – индикаторы статуса предназначены для информирования пользователя о ходе процесса восстановления. С этой же целью может использоваться персональный компьютер с терминальной программой и COM портом (RS232). На плате предусмотрен разъем для подключения линии Tx микроконтроллера к интерфейсу RS232 компьютера, при этом необходимо использовать преобразователь логических уровней интерфейса, например на микросхеме MAX232. Терминальная программа настраивается на скорость передачи данных 38400 бод, без проверки четности, 8 бит данных, 1 стоп-бит. В терминальной программе отображается вся информация о ходе процесса восстановления конфигурации.

Пример содержимого окна терминальной программы в ходе работы устройства

содерживое окна терминальной программы

Свечение светодиодов означает:

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

На схеме изображена перемычка (джампер) Erase – с его помощью пользователь разрешает или запрещает стирание Flash и EEPROM памяти восстанавливаемого микроконтроллера. Если джампер замкнут – операция стирания разрешена, если разомкнут то операция стирания памяти запрещена.

Для питания необходим стабилизированный источник питания 12 В, что очень важно для режима высоковольтного параллельного программирования. Для питания управляющего микроконтроллера установлен регулятор напряжения 5.0 В 7805. Номиналы резисторов R7 – R23 могут лежать в диапазоне 470 Ом – 1 кОм.

Устройство действует следующим образом. Пользователь устанавливает пациента (восстанавливаемый микроконтроллер) в слот и нажимает кнопку Start, происходит инициализация режима высоковольтного параллельного программирования. Если пациент не отвечает высоким состоянием линии RDY/BSY, наш «доктор» использует другой путь для инициализации, даже если выводы XTAL переключены на внешний резонатор. После этого проводится стирание Flash и EEPROM памяти пациента, если данная операция разрешена (см. выше джампер Erase). Затем считывается сигнатура и проверяется поддержка установленного микроконтроллера, проверяются Lock-биты и если они не установлены (не блокируют доступ) происходит восстановление конфигурации fuse-битов к заводской соответственно модели микроконтроллера. После этого выполняется проверка установленных fuse-битов и включается соответствующие светодиод. Также посылается информация по последовательному интерфейсу в терминальную программу на компьютере.

Если загорелся зеленый светодиод, Вы можете быть на 100% уверены, что конфигурация fuse-битов восстановлена корректно.

Как видно, имеется три разъема (сокета) для многих микроконтроллеров AVR, которые совместимы по выводам с: ATmega8, ATmega16, ATtiny2313. Также имеется коннектор со всеми необходимыми сигналами для возможности подключения пользовательских адаптеров для других типов микроконтроллеров. Для этого пользователю нужно лишь правильно подключить сигналы к нужным выводам микроконтроллера. Как? Для этого нужно изучить техническое описание на нужный микроконтроллер: раздел «Программирование памяти» (memory programming), подраздел «Параллельное программирование» (parallel programming). Память управляющего микроконтроллера программой занята не полностью, поэтому в дальнейшем возможно пополнение списка поддерживаемых устройств.


Печатная плата была разработана односторонняя c размерами 55 мм × 92 мм. Со стороны компонентов необходимо установить несколько перемычек, либо можете сами разработать двухстороннюю печатную плату.

Внимание! Если Вы используете готовую, разработанную автором печатную плату, при монтаже компонентов учитывайте, что при установке слота DIP40 на печатную плату необходимо удалить его выводы с 29 по 37. Эти выводы не должны иметь электрического контакта с устанавливаемым микроконтроллером. На рисунке ниже наглядно указано какие выводы нужно удалить из слота (панельки) DIP40.

Поддерживаемые на данный момент устройства семейства ATmega (версия 2.01, 76 устройств):

2 КБайт:
Attiny2313, Attiny26, Attiny261, Attiny28

4 КБайт:
Atmega48, Atmega48P, Attiny461, Attiny43U, Attiny4313, Attiny48

8 КБайт:
Atmega8515, Atmega8535, Atmega8, Atmega88, Atmega88P, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny861, Attiny88

16 КБайт:
Atmega16, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164, Atmega164P, Atmega165, Atmega168, Atmega168P, Atmega169, AT90pwm216, AT90pwm316, AT90usb162

32 КБайт:
Atmega32, Atmega32U4, Atmega32M1, Atmega324, Atmega324P, Atmega325, Atmega3250, Atmega325P, Atmega3250P, Atmega328, Atmega328P, Atmega329, Atmega3290, AT90can32

64 КБайт:
Atmega64, Atmega64M1, Atmega649, Atmega6490, Atmega640, Atmega644, Atmega644P, Atmega645, Atmega6450, AT90usb646, AT90usb647, AT90can64

128 КБайт:
Atmega103, Atmega128, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128

256 КБайт:
Atmega2560, Atmega2561

Если Вам необходимо устройство для  восстановления конфигурации fuse-битов микроконтроллеров семейства ATtiny, то Вам необходимо ознакомиться с проектом: Восстановление конфигурации Fuse-битов микроконтроллеров Tiny AVR (HVSP)

Файлы проекта (формат Eagle 5.4.0), принципиальная схема и рисунок печатной платы (pdf, png), .hex-файл и .bin-файл для программирования микроконтроллера – скачать

Обновление от 3.06.2010 г.

Программное обеспечение управляющего микроконтроллера обновлено, теперь устройство поддерживает режим последовательного высоковольтного программирования (HVSP) посредством специального адаптера, который автоматически определяется устройством и переводит его в режим HVSP (об этом выводится информация в терминальную программу, если устройство подключено к компьютеру).

Обновление аппаратной части: добавлено два адаптера:

  • адаптер #1 – расширение для режима HVPP, поддержка 20-выводного микроконтроллера ATtiny26, 40-выводного микроконтроллера ATmega8515 и совместимых с ними микроконтроллеров;
  • адаптер для HVSP для 8-выводных и 14-выводных микроконтроллеров.

Обновление программного обеспечения (версия 2.03):

  • добавлена поддержка микроконтроллеров, режим HVPP: AT90S8515, AT90S8535, AT90S1200, AT90S4433, AT90S4414, AT90S4434, AT90S2333;
  • доблена поддержка микроконтроллеров, режим HVSP: ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny25, ATtiny45, ATtiny85, ATtiny22, AT90S2323, AT90S2343, ATtiny24, ATtiny44, ATtiny84.
  • В архиве содержаться изображения совместимости разъемов, индекс «B» означает использование адаптера #1, индекс «С» - использование адаптера HVSP.

Примечание.

  1. При подключении устройства к компьютеру для наблюдения за ходом процесса, в терминальной программе не будут отображаться названия некоторых микроконтроллеров в связи с реализацией режима HVSP и нехваткой Flah-памяти программ микроконтроллера ATmega8.
  2. Некоторые текстовые константы используемые при работе через интерфейс RS232 хранятся в EEPROM памяти микроконтроллера. Поэтому, если Вы не будете использовать интерфейс RS232 для подключения устройства к компьютеру, необходимо записать файл EEP.BIN в EEPROM-память микроконтроллера с помощью программатора (заметьте, это файл формата BIN, не HEX).

Файлы проекта (формат Eagle 5.4.0), принципиальные схемы и рисунки печатных плат (pdf, png) для двух адаптеров, .hex-файл, .bin-файл и файл EEP.BIN для программирования микроконтроллера версия 2.03скачать

diy.elektroda.eu

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Atmega fusebit doctor (HVPP)

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • В понедельник попробую, обязательно отпишусь.
  • Та же проблема что и у одного из участников.При нажатии на кнопку красный тухнет и зеленый мигнул три раза,потом опять загорелся красный.Прошивал версией 2,05 кажись.Где можно глянуть на все версии прошивок что б довести до ума прибор
  • Если все правильно собрали и прошили мк, то должно быть все ОК, по крайней мере с версией 2.05. В конце статьи - ссылка на источник. Там на сайте автора есть все прошивки и инфа по изменениям в них
  • Большое спасибо!!!
  • Вобщем, прошил я свой доктор, все вроде бы нормально: умышленно запорол тини2313 - восстановилась без проблем...
  • Вот и чудненько, теперь мы знаем точно, что версия 2.06 рабочая.
  • Всетаки нашел КЗ на своей плате.Устранил,залил прошивку 2.06.Поднял три меги8.Все работает чики-пики.
  • Молодец. Это радует!
  • Посмотрите здесь http://www.getchip.net/posts/059-isp...usebit-doctor/ очень поучительно, обновление, прошивка 2.07 и тд и тп.
  • Вот теперь мы знаем, что есть версия 2.07. А Вы ее проверяли, работает? В ответах к вопросам посетителей в этом блоге, есть некоторые неточности...
  • прошивал 2.07 все работает.поднял т2313 мегу8
  • Спасибо за информацию.
  • Atmega8-16AU в корпусе tqfp можно восстановить этим программатором ?
  • Возможно ,но токо с применением переходной платы.На сайте автора они на рисунке и в архиве есть их печатки
  • Автор проекта сообщил о новом обновлении. Появилась возможность работать с микроконтроллерами, у которых не читаются сигнатурные байты. Однако, необходимо, насколько я понял, внести изменения в печатной плате. Все в архиве. Вскоре ожидается поддержка работы с ATmega128.
  • Atmega8-16AU в корпусе tqfp восстанавливается нормально с помощью этого переходника
  • такие вопросы- 1) можно ли заменить транзисторы BC557 на какие -то другие например наши кт315? 2) можно ли использовать smd резисторы и транзисторы или обязательно нужны выводные резисторы и дип-транзисторы?
  • снова какой то тихий ужас:D создаётся впечатление а оно тебе надо? 1) кт315 n-p-n,bc557 p-n-p и как это понимать?:mad: 2) обязательно нужно хоть чуть соображать,а не задавать такую пургу! ты хоть какую нибудь плату скачал,глянул что она и под что? P.S на сайте автора есть DIP и SMD!
  • А это последний вариант. Питание ATmegaFuseDoctor, в дальнейшем AFD, производится или от USB – порта компьютера, или от источника постоянного напряжения 7v5---12v0. В последнем случае требуется установка стабилизатора 78М05. И в первом и во втором случае 12v0 для высоковольтного режима получаем преобразованием напряжения 5v0 посредством DC-DC конвертера МС34063. Схема с интернета, но разводку я делал "по мотивам".
  • а плату где брал?
Полный вариант обсуждения »
Рекомендуемые публикации по теме:
Схемы  »
Восстановление конфигурации Fuse-битов микроконтроллеров Tiny AVR (HVSP)
Схемы  »
Восстановление конфигурации Fuse-битов ATtiny13, ATtiny25/45/85 (HVSP)
Новости  »
Freescale выпускает серию 8-битовых микроконтроллеров MC9S08AW под напряжение 5 В
Форум  »
Обсуждение: Восстановление конфигурации Fuse-битов ATtiny13, ATtiny25/45/85 (HVSP)
Схемы  »
Конфигурация ПЛИС фирмы Altera с помощью микроконтроллеров

При перепечатке материалов с сайта прямая ссылка на РадиоЛоцман обязательна.

Приглашаем авторов статей и переводов к публикации материалов на страницах сайта.

Срезы ↓
DIY настольный 3D принтер
Цена: 163 $ (9500 руб.)
Промо-акция, последняя скидка
Лазерный дальномер 40 м
Цена: 16 $ (972 руб.)
Бесплатная доставка: Весь мир
Промо-акция
Очки с подсветкой и сменными окулярами
Цена: от 8 $ (477 руб.)
Бесплатная доставка: Весь мир
радиолоцман вконтакте радиолоцман одноклассники радиолоцман facebook радиолоцман twitter радиолоцман google плюс