Главная » 2011»Февраль»25 » Простой внутрисхемный программатор для AVR (ATMEGA8).
14:17
Простой внутрисхемный программатор для AVR (ATMEGA8).
Программатор для AVR
Описание
Этот простой AVR программатор позволит вам безболезненно загружать программы в формате hex в большинство AVR микроконтроллеров от ATMEL, не жертвуя своим бюджетом и временем. Он более надежен, чем большинство других простых доступных AVR программаторов, и на его сборку уйдет гораздо меньше времени. AVR программатор состоит из внутрисхемного последовательного программатора (с разъемом) и маленькой печатной платы с DIP панелькой, в которую вы можете поместить свой микроконтроллер и быстро его запрограммировать. Вы также можете использовать этот программатор только как внутрисхемный, с помощью которого можно легко программировать AVR микроконтроллер, не извлекая его из устройства. Весь AVR программатор собирается из широко распространенных компонентов и умещается в корпусе разъема COM порта. Печатная плата с DIP панелькой позволяет вставлять в нее 28-выводной AVR микроконтроллер ATmega8 в корпусе DIP, но вы можете изготовить печатные платы для микроконтроллеров в любых других корпусах. Этот программатор совместим с популярным ПО PonyProg, которое показывает вам ход процесса прошивки в виде шкального индикатора статуса.
Внутрисхемный последовательный программатор AVR
(возможна замена транзистора BC549 на КТ3102, диода - на любой импульсный: КД503,510,521,522, стабилитроны - любые, на 4.7....5.1 В) Плата AVR программатора (вид сверху) с 9-контактным последовательным разъемом (гнездо):
Плата программатора AVR (вид снизу):
Размещение платы программатора AVR в корпусе разъема RS232:
Законченный программатор со стандартным 6- контактным разъемом ICSP:
Плата с панелькой для AVR
Плата имеет минимальное количество компонентов и используется для программирования микроконтроллеров вне целевого устройства. Плата с 28-выводным микроконтроллером Atmega в корпусе DIP.
В схеме есть 2 разъема: ICSP, к которому подключается AVR программатор и разъем для внешнего источника питания.
Плата включает в себя 28 выводную DIP панельку, кварцевый резонатор на 4 МГц или резонатор с двумя конденсаторами по 22 пФ, и два разъема. Двухконтактный разъем служит для подключения к AVR микроконтроллеру питания +5 В, а 6-контактный – для подключения программатора. Питание микроконтроллера от внешнего источника напряжения, а не непосредственно от последовательного порта, гарантирует, что контроллер получит именно 5 В и обеспечит надежную и безошибочную прошивку. Плата для 28 выводного микроконтроллера AVR Atmega8 в DIP корпусе:
ПО PonyProg
Чтобы иметь возможность загружать hex файлы из компьютера в микроконтроллер, вам потребуется скачать и установить ПО PonyProg2000:
После установки, первое, что предстоит сделать, это сконфигурировать PonyProg для работы с AVR программатором. Для того, чтобы сделать это, войдите в меню «Setup» и выберите пункт «Interface Setup». Ниже на рисунке подсвечены именно те опции, которые вам следует выбрать:
Следующим шагом выберите «AVR micro» и тип микроконтроллера, который хотите запрограммировать (например ATmega8):
Теперь конфигурирование PonyProg завершено, и мы можем открыть hex файл с программой, которая будет зашита в микроконтроллер. Перейдите в меню «File», выберите «Open Program (FLASH) File ...» и укажите на hex файл, который надо зашить. Вы должны увидеть шестнадцатеричные значения. Если вы все еще не подключили программатор к последовательному порту компьютера, то сейчас самое время это сделать. Убедитесь, что ваш программатор физически подключен к AVR микроконтроллеру через плату с панелькой или 6 контактный разъем ICSP. Наконец, кликните на подсвеченной иконке «Write Program Memory (FLASH)» или идите в меню «Command» и выберите «Write Program (FLASH)». Кликните на кнопке «Yes», чтобы подтвердить запись:
Теперь сядьте поудобнее, расслабьтесь и наблюдайте за процессом программирования по индикатору состояния. PonyProg прошьет AVR микроконтроллер и проверит, загрузился ли hex файл без ошибок. Этот процесс обычно занимает от 10 до 30 секунд, в зависимости от размера программы, которую вы будете зашивать в микроконтроллер:
После программирования появится окно «Write successful», показывающее, что AVR микроконтроллер был запрограммирован и теперь готов к использованию:
В том то и дело что автор не рекомендует никаких фьюзов и вообще в PonyProg не работает. А посоветовал обратиться к специалисту.Может поможете разобраться в программе это синтезатор S2B- 2007. http://www.cqham.ru/S2B2007.htm
Калькулятор, конечно, поможет разобраться для чего какой фьюз предназначен. Но в случае простого пользователя - поставил галочки, как рекомендует автор программы и всё.
Как правило, в программах для PIC контроллеров фьюзы уже установлены, а вот для AVR их приходится устанавливать самостоятельно. В программе нужно найти закладку установки фьюзов и считать информацию (read). Тогда сможете увидеть, какие фьюзы установлены в вашей микросхеме. Затем, используя авторскую информацию о тех фьюзах, которые необходимо установить, ставите галочки в нужные окошки и нажимаете кнопку запись (write). Надо быть очень внимательным, так как в разных программах галочки обозначают разное. В PonyProg установка инверсная - то есть, галочка - 0, нет галочки - 1. Вот здесь, есть немного информации, как я программировал фьюзы в AVR: http://yl2gl.ucoz.net/forum/6-40-1#629 Использовал программу UniProf, которую можно скачать здесь на сайте. Установка фьюзов у неё отличается от PonyProg - она прямая. Галочка - 1, нет галочки - 0. Главное, что автор программы должен приложить таблицу фьюзов, если её нет, то, видимо, они не принципиальны и установлены по умолчанию, либо программируются автоматически.
Если всё, как описано на сайте - то очень толковая вещь! Действительно, напоминает PICkit2. Но если можно зашить AVR пятью проводками, то лень собирать что-то более сложное...
К сожалению, Виталий, я его ещё не проверял этот программатор. Информация взята из : http://www.rlocman.ru/shem/schematics.html?di=71523 Дело в том, что на выходе COM порта присутствуют напряжения с размахом примерно от -10...12 до +10...12 В, поэтому смотреть эти напряжения нужно осциллографом, а не вольтметром. Раз автор подал это напряжение напрямую, то, значит, так оно и должно быть в этой схеме. Если возникает столько сомнений, то попробуйте собрать пятипроводную схему, подключаемую к LPT порту и которая есть здесь: http://yl2gl.ucoz.net/forum/11-33-1#501 разобравшись с подключением сигналов (они подписаны на схеме), нумерация ножек микросхемы, естественно, будет другая. Программа, так же - PonyProg. Проверено - работает!
Доброго времени суток, Валерий. Спаял я по вашей схеме программатор, подключил к COM порту, измерил напряжения, получилась вот такая картина: Параллельно внешнему питанию микроконтроллера выходит 2,5 вольта (полюсовка правильная), а на ножку "MISO" получается -10 вольт относительно корпуса. Что-то у меня появился страх, подключать микроконтроллер или нет, не сгорит ли он? И вообще, если можно, подскажите по поводу выходящих из него напряжений.
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]