Введение
Чтобы “оживить” микроконтроллер AVR, в его flash память нужно записать прошивку. Это процедура выполняется с помощью программатора - устройства, подключаемого между компьютером и микроконтроллером и работающего под управлением специальной программы.
Наиболее популярным способом программирования микроконтроллеров AVR является внутрисхемное программирование по SPI интерфейсу. Как понятно из названия, этот способ позволяет программировать микроконтроллеры AVR прямо в составе схемы. Это очень удобно, потому что программу микроконтроллера в этом случае можно всегда модифицировать, не вынимая (не выпаивая) его из платы.
Для внутрисхемного программирования микроконтроллеров AVR нужно вывести на разъем линии SPI интерфейса - SCK, MISO, MOSI, линию сброса – RESET, а также плюс и минус питания (VCC и GND).
Существует две стандартных конфигурации разъема программирования – десяти и шести выводной. В качестве разъемов обычно используют — прямые/угловые разъемы серии IDC или штыревые вилки PLD.
Схема
Принципиальная схема простого внутрисхемного программатора для AVR приведена на рисунке ниже. Разъем Х1 подключается к COM порту компьютера, а Х2 с помощью кабеля соединяется с платой. Номиналы и типы элементов программатор понятны из схемы. Диод D1 можно заменить на 1N4148 или любой другой. Стабилитроны D2, D3 можно заменить аналогичными с напряжением стабилизации 5.1 или 4.7 вольт, например отечественными КС147А/2С147А (номиналы резисторов R3, R3 при этом нужно уменьшить до 2 Ком).
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.
Comments
http://avrdevices.ru/links/
P.S. Я наверное занууудаааааа.. ...
А нумерацию COM портов в компьютере можно как-то поменять? Например, COM12 сделать COM1 и наоборот?
не понял ты имел в виду один резистор R3
или два и при этом опечатался?
не понятно в COM порте есть уже земля или ее надо тащить :-*
Это что, особенность PonyProg, которая не как все com-порт дергает? Или схема неправильно нарисована? Ну или я что-то не понимаю? :)
Да, это особенность PonyProg, поэтому я и спрашивал выше, как изменить нумерацию COM портов.
Device missing or unknow (-24)
Это нормальная реакция программы на данный программатор
До этого собирал 7 разных программаторов, хот бы хрен.
Кто-нибудь знает, что это может быть ?
Спасибо за схемку.
На схеме один транзистор, на 2ом фото три?
И по поводу печатки, что то не грузится :(
Чтобы загрузить печатку, кликни на нее правой кнопкой мыши и выбери "сохранить ссылку как"
главное с виводами сом порта не напутать=))
Трех выводные элементы на плате - это транзистор bc847 и два стабилитрона bzx84. Все три элемента в корпусах sot23. Хотите убедиться в этом сами, потрудитесь ознакомиться с даташитами.
http://www.vishay.com/docs/85763/bzx84-v-.pdf
http://hep.fi.infn.it/PAMELA/pdf/bc847.pdf
RSS feed for comments to this post