AVR программатор

21/08/2010 - 16:41

Введение

   Чтобы “оживить” микроконтроллер AVR, в его flash память нужно записать прошивку. Это процедура выполняется с помощью программатора - устройства, подключаемого между компьютером и микроконтроллером и работающего под управлением специальной программы.
   Наиболее популярным способом программирования микроконтроллеров AVR является внутрисхемное программирование по SPI интерфейсу. Как понятно из названия, этот способ позволяет программировать микроконтроллеры AVR прямо в составе схемы. Это очень удобно, потому что программу микроконтроллера в этом случае можно всегда модифицировать, не вынимая (не выпаивая) его из платы.
   Для внутрисхемного программирования микроконтроллеров AVR нужно вывести на разъем линии SPI интерфейса  - SCK, MISO, MOSI, линию сброса – RESET, а также плюс и минус питания (VCC и GND). 
   Существует две стандартных конфигурации разъема программирования – десяти и шести выводной. В качестве разъемов обычно используют — прямые/угловые разъемы серии IDC или   штыревые вилки PLD.

разъем для программирования AVR

Схема

   Принципиальная схема простого внутрисхемного программатора для AVR приведена на рисунке ниже. Разъем Х1 подключается к COM порту компьютера, а Х2 с помощью кабеля соединяется с платой.

схема AVR программатора
   Номиналы и типы элементов программатор понятны из схемы. Диод D1 можно заменить на 1N4148 или любой другой. Стабилитроны D2, D3 можно заменить аналогичными с напряжением стабилизации 5.1 или 4.7 вольт, например отечественными КС147А/2С147А (номиналы резисторов R3, R3 при этом нужно уменьшить до 2 Ком).

AVR программатор, собранный на макетной плате
AVR программатор - макет

AVR программатор, собранный на печатной плате
AVR программатор, собранный на печатной плате

PonyProg

   Прошивка микроконтроллера этим программатором осуществляется с помощью программы PonyProg. Скачиваем программу с официального сайта (v2.07c BETA для windows). Устанавливаем и запускаем ее.

   При первом запуске программа предупредит вас о том, что нужно провести калибровку и настроить PonyProg.
Запускаем калибровку — Setup > Calibration. В открывшемся диалоговом окошке жмем кнопку Yes.
Настраиваем PonyProg для работы с этим программатором - Setup > Interface Setup
В появившемся меню нужно только выбрать номер COM порта и нажать ОК.

  Далее... Выбираем тип программируемого устройства — Device > AVR micro > ваш микроконтроллер.
Открываем файл прошивки File > Open Program (FLASH) File... 
Не забудьте выбрать тип файла *.hex!

   Теперь можно программировать микроконтроллер.
Стираем его flash память - Command > Erase
Прошиваем новую программу - Command > Write Program (FLASH)
Наслаждаемся работой микроконтроллера.

  Можно немного автоматизировать эту процедуру.
Выбираем Command > Program Options
В открывшемся окне ставим галочки Erase и Write Program memory (FLASH). Жмем ОК.
Теперь стирание и программирование микроконтроллера будет выполняться одной командой — Command > Program.

Все перечисленные действия можно выполнять с помощью кнопок, расположенных под строкой меню.

Также PonyProg позволяет работать с EEPROM памятью, Fuse и Lock битами микроконтроллеров AVR.

Файлы

Печатка в формате Eagle - avr-programmator.brd

Комментарии   

# Guest 22.08.2010 13:17
6-ти пиновый разъем хрен где найдешь... Кстати не желаешь обменяться ссылками? Мой ресурс www.avrdevices.ru
Ответить | Ответить с цитатой | Цитировать
# Guest 22.08.2010 13:35
уже поставил на тебя ссылку
http://avrdevices.ru/links/
Ответить | Ответить с цитатой | Цитировать
# Pashgan 22.08.2010 14:15
Ага.. сегодня поставлю.
Ответить | Ответить с цитатой | Цитировать
# Guest 22.08.2010 18:42
Видимо автор забыл упомянуть тот факт, что данный способен нормально функционировать лишь программатор лишь при наличии режима Bit Bang у COM порта (это когда есть возможность управлять каждой "ногой" порта в отдельности). Посему, на большинстве переходников аля USB-to-COM сей славный программатор работать не будет (исключение, пожалуй, составят преобразователи на микросхемах FT232 R-серии и FT2232... и иже с ними, обладающие указанным режимом). Что вызовет сильнейшее огорчение обладателей мобильных устройств...
Ответить | Ответить с цитатой | Цитировать
# Pashgan 22.08.2010 19:19
А разве есть COM порты в чистом виде без наличия этого режима? Это вопрос, я просто не в курсе.
Ответить | Ответить с цитатой | Цитировать
# Guest 23.08.2010 10:34
Если под фразой "в чистом виде" подразумевать порты, полностью удовлетворяющие стандарту, то - нет... Я же говорю, следует упомянуть, что если у вас преобразователь , то работать будет лишь при наличии режима bit bang. Зайдите, например, в магазин и купите стандартный преобразователь USB-COM, в 90% случаев основа его CP210X (без bit bang'а) - значит предложенный программатор работать не будет... Вот и все...
P.S. Я наверное занууудаааааа.. ...
Ответить | Ответить с цитатой | Цитировать
# Pashgan 24.08.2010 18:59
Неа.. побольше бы таких зануд на сайте)
А нумерацию COM портов в компьютере можно как-то поменять? Например, COM12 сделать COM1 и наоборот?
Ответить | Ответить с цитатой | Цитировать
# САБ 24.08.2010 20:53
Почему нет? в диспетчере устройств выбрать порт, его свойства и на одной из вкладок будет выбор номера порта.
Ответить | Ответить с цитатой | Цитировать
# Pashgan 25.08.2010 20:31
Точно.. разобрался.
Ответить | Ответить с цитатой | Цитировать
# San 09.09.2010 16:22
Я обладатель ноутбука без полноценного COM порта. Собрал USB программатор от Petka, аналог STK500 на FT232 и Atmega8. Прошивается без помощи других программаторов. Советую! Очень хорошо работает. :-) Мне не с чем сравнивать, но 4к прошивает примерно за 4 секунды.
Ответить | Ответить с цитатой | Цитировать
# Guest 13.09.2010 20:16
промучался с программатором почти месяц, носил даже в Мастер кит, где мне показывали что всё работает. У меня же ничего не прошивалось. Причиной оказалось то что блок питания выдавал 5,2В, а не 5В. Как только я подал 4,5В , все сразу заработало. Кстати ваш сайт обнаружил несколько дней назад, до этого в гугле ни разу не попадался. Сайт супер. Я уже почти со всем, что здесь есть давно разобрался, но если бы раньше нашел этот сайт, сэкономил бы кучу времени. Спасибо огромное за проделанную работу
Ответить | Ответить с цитатой | Цитировать
# Guest 30.09.2010 13:32
Отлично! Собрал по схеме - все работает! Спасибо автору! :lol:
Ответить | Ответить с цитатой | Цитировать
# ДБ 08.10.2010 01:57
(номиналы резисторов R3, R3 при этом нужно уменьшить до 2 Ком).
не понял ты имел в виду один резистор R3
или два и при этом опечатался?
Ответить | Ответить с цитатой | Цитировать
# Pashgan 08.10.2010 19:03
опечатка - R2,R3
Ответить | Ответить с цитатой | Цитировать
# ДБ 18.10.2010 16:46
Вопрс чайника: с зелей что делать?
не понятно в COM порте есть уже земля или ее надо тащить :-*
Ответить | Ответить с цитатой | Цитировать
# Pashgan 18.10.2010 17:44
GND- это все одна цепь. То есть 5-ый контакт разъема DB9 соединен с контактами 4,6,8,10. Ну и соответственно со стабилитронами и эммитером транзистора.
Ответить | Ответить с цитатой | Цитировать
# Гость 08.12.2010 14:20
Выложите если можно файл печатки.
Ответить | Ответить с цитатой | Цитировать
# Pashgan 08.12.2010 20:45
Выложил - http://chipenable.ru/files/devices/avr-programmator/avr-programmator.brd
Ответить | Ответить с цитатой | Цитировать
# megawatt 31.01.2011 13:10
Не очень понятно, на схеме один транзистор, на печатке аж 3 штуки...
Ответить | Ответить с цитатой | Цитировать
# JoJo 01.02.2011 22:52
Это не транзисторы, а стабилитроны. Просто у них корпус такой же.
Ответить | Ответить с цитатой | Цитировать
# megawatt 03.02.2011 14:11
Цитирую JoJo:
Это не транзисторы, а стабилитроны. Просто у них корпус такой же.
спасибо
Ответить | Ответить с цитатой | Цитировать
# proger 03.03.2011 09:37
Какая-то нетрадиционная схема, однако. Если отбросить все формальности, то получится, что вход 3 идет на ресет, а 4 на Моси. Во всех схемах программатора Громова, которые я встречал, эти выходы наоборот подключены (4 - ресет, 3 - моси).
Это что, особенность PonyProg, которая не как все com-порт дергает? Или схема неправильно нарисована? Ну или я что-то не понимаю? :)
Ответить | Ответить с цитатой | Цитировать
# Pashgan 06.03.2011 21:40
Программатор на такой схеме продает фирма Olimex.
Да, это особенность PonyProg, поэтому я и спрашивал выше, как изменить нумерацию COM портов.
Ответить | Ответить с цитатой | Цитировать
# Роман 19.05.2011 00:16
Собрал программатор как на схеме при попытке стереть данные появляется окошко
Device missing or unknow (-24)
Это нормальная реакция программы на данный программатор
Ответить | Ответить с цитатой | Цитировать
# ARTY 02.12.2011 11:31
Привет! Подскажите пожалуйста, собрал сие чудо девайс, программирую мк at90s2313 понька выдает "устройство неисправно или заблокировано" помогите решить проблему.
До этого собирал 7 разных программаторов, хот бы хрен.
Ответить | Ответить с цитатой | Цитировать
# Илья 21.01.2012 18:42
Не работает, говорит "Write failed".
Кто-нибудь знает, что это может быть ?
Ответить | Ответить с цитатой | Цитировать
# Илья 22.01.2012 07:57
Вопрос снимается (резистор 33ком был не рабочим). Теперь всё заработало.
Спасибо за схемку.
Ответить | Ответить с цитатой | Цитировать
# Дмитрий 64 29.02.2012 13:15
Вопрос к автору.
На схеме один транзистор, на 2ом фото три?
И по поводу печатки, что то не грузится :(
Ответить | Ответить с цитатой | Цитировать
# Pashgan 25.12.2012 06:12
Это не транзистор, это два стабилитрона и транзистор. Просто в одинаковом корпусе.
Чтобы загрузить печатку, кликни на нее правой кнопкой мыши и выбери "сохранить ссылку как"
Ответить | Ответить с цитатой | Цитировать
# константин 09.03.2012 06:33
кто собирал?У кого заработало?
Ответить | Ответить с цитатой | Цитировать
# Славік 27.03.2012 16:38
ету схуму очень много людей собирало и я в том числе в нескольких екземплярах.... работает просто супер!!!!
главное с виводами сом порта не напутать=))
Ответить | Ответить с цитатой | Цитировать
# Pashgan 04.02.2013 20:52
Для тех кто в танке повторяю.
Трех выводные элементы на плате - это транзистор bc847 и два стабилитрона bzx84. Все три элемента в корпусах sot23. Хотите убедиться в этом сами, потрудитесь ознакомиться с даташитами.
http://www.vishay.com/docs/85763/bzx84-v-.pdf
http://hep.fi.infn.it/PAMELA/pdf/bc847.pdf
Ответить | Ответить с цитатой | Цитировать
# Vlad 07.02.2013 16:30
А что за провод идет на вывод 2 разъема Х2?
Ответить | Ответить с цитатой | Цитировать
# JoJo 07.02.2013 18:51
Со 2-го вывода берется 5 Вольт для резистора R5
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий

Защитный код
Обновить