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

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

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

Схема устройства

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

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

Конфигурация fuse-битов

Светодиоды – индикаторы статуса предназначены для информирования пользователя о ходе процесса восстановления. С этой же целью может использоваться персональный компьютер с терминальной программой и 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). Память управляющего микроконтроллера программой занята не полностью, поэтому в дальнейшем возможно пополнение списка поддерживаемых устройств.

Внимание! Если Вы используете готовую, разработанную автором печатную плату, при монтаже компонентов учитывайте, что при установке слота 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

Обновление от 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).

Здесь архив со всеми предыдущими версиями «Доктора». Кроме того архив содержит дополнительные материалы, такие как пинауты для различных корпусов AVR, платы-адаптеры, макеты печатных плат и другое.

Источник: diy.elektroda.eu


Архив для статьи "Восстановление конфигурации Fuse-битов микроконтроллеров семейства AVR - mega (HVPP)"
Описание:
Размер файла: 412.19 KB Количество загрузок: 3 427 Скачать