Как прошить микроконтроллер ATmega, AVR

Прошиваем микроконтроллер AVR.

 

   Смотрите также:

     -Как написать код для AVR, программирование микроконтроллеров Atmel AVR на Си

     –Эмуляция AVR в Proteus, микроконтроллеры в Proteus

     –Простой ШИМ на ATTiny13.Регулируем всё

     –Работа с дисплеем HD44780 на AVR.Запись своих символов

 

Как и чем прошить avr микроконтроллер.

1)Прежде всего для прошивки микроконтроллеров Atmel AVR необходим программатор, например для прошивки через USB-порт такой  – USB ASP Программатор микроконтроллеров ATmega AVR

2)Теперь нужно установить драйвера для вышеприведенного программатора

Для этого устанавливаем программу eXtreme Burner – AVR,  в процессе установки она автоматически установит правильные драйвера

Скачать можно здесь eXtremeBurnerAV_LampCORE_ru

3) Дальше требуется соединить микроконтроллер с программатором , быстрее и проще это сделать с Беспаечная макетная плата MB102 и с проводами-радугой с типом наконечников Male to Male или если программатор без шлейфа с  наконечниками Female to Male

Соединять в соответствии с картинкой , приведенной ниже(Это для микроконтроллеров ATMEGA8, у других мк смотрите соответствующую им распиновку!):

Если беспаечной платы и проводов-радуги нет – то можно напрямую припаяться к выводам разъема программатора  и к ножкам микроконтроллера для прошивки.

Обратите внимание, что контакт 22 – GND находится напротив по другую сторону мс контакта 7 – VCC, исходя из этого не нужно отсчитывать ножки микросхемы, а просто соединить контакт напротив по другую сторону микросхемы соответственно.

 

Соединение без макетной платы и с помощью обычных проводов

Смотрим распиновку разъема программатора:

Паяем к микроконтроллеру в соответствии с распиновкой.

Удобнее паять таким паяльником – Паяльник GJ 907.

Или можно просто запихать в разъем шлейфа обычные провода, но при таком соединении возможен плохой контакт или его отсутствие.

 

Запускаем eXtreme Burner AVR , во вкладке Chip выбираем свой микроконтроллер(у нас ATmega8):

(Если при запуске у вас выдается сообщение – “не удается продолжить выполнение кода поскольку система не обнаружила libusb0.dll” то необходимо скачать  и установить эти драйвера

usbasp-win-driver-x86-x64-v3.0.7_LampCORE_ru

вручную, запустив файл InstallDriver.exe )

Затем выбираем вкладку Read и нажимаем Flash(считать прошивку(на многих коммерческих устройствах устанавливают бит защиты от считывания))

(Если выдается ошибка Power On Failed

 Cannot Communicate with Target Chip! значит , что какая или какие-либо ножки микроконтроллера не контактируют с программатором, логично проверить наличие контактов и исправить их отсутствие)

Flash – это прошивка

EEPROM – энергонезависимая память

Fuse Bits and Lock Bits – это настройка фьюзов, защиты, параметров микроконтроллера(например работать микроконтроллеру от внутренней частоты или от внешнего кварцевого резонатора, откуда брать опорное напряжение для АЦП и т.д.)

Если драйвера установлены, подсоединено всё правильно то имеем такой результат:

Мы считывали еще не прошитый микроконтроллер ATMEGA8, поэтому у нас будут считаны только нули(FFFF):

Попробуем прошить микроконтроллер

Прошивка микроконтроллера представляется в виде формата .HEX

Имеется прошивка HelloLED

Она мигает светодиодом на любом выводе D  микроконтроллера ATmega, так как в прошивке задана установка всех портов D как выход.

Запускаем eXtreme Burner

Нажимаем Open и в файлах выбираем прошивку в формате HEX

Дальше должно быть так:

Для запуска прошивки выбираем вкладку Write(Запись) и нажимаем Flash, должен пойти процесс прошивки

Прошивка успешно завершилась:

Теперь считаем её

Жмем Read – Flash, получаем:

Как видно нули заменились другими цифрами и видно оставшееся пустое мето в памяти для прошивки.

Теперь отсоединим микроконтроллер от программатора и проверим работу прошивки на практике.

Собираем все по такой схеме:

Собрали, всё должно работать(светодиод мигает 2 раза в секунду):

Если светодиод не горит или наоборот горит постоянно – проверьте надежность контактов.

Внимание! Не вешайте напрямую нагрузку на ножки микросхемы с потреблением больше 25 мА!

Не подавайте на микросхему больше 5.5 Вольт.

Цикл перезаписи прошивки не бесконечен – есть определенный ресурс.Не стоит микроконтроллер использовать  и перезаписывать как USB-флешку.