Параллельный Программатор Avr Burn
Программирование микроконтроллеров AVR - быстрый старт с нуля - avr123.nm.ru Всё о прошивке AVR микроконтроллеров AVR Чем и как 'прошить' МК AVR, ATmega, ATtiny. Как загрузить программу в микроконтроллер. Как запрограммировать микроконтроллер AVR.
Я советую прошивать микроконтроллер AVR из удобного интерфейса программирования встроенного в компилятор CVAVR Можно через простейший адаптер - буквально 'пять проводков' (схема ниже ) соединяющих принтерный порт ПК с прошиваемым микроконтроллером AVR. Но более удобны программаторы подключаемые в USB или COM порты ПК - особенно в USB. Книги по электронике и микроконтроллерам Страницы курса: Задачи-упражнения курса по AVR - на заглавной странице курса.
Простой 'параллельный' программатор для avr. Далеко не всем известно, что в МК семейства avr.
ПРОГРАММИРОВАНИЕ AVR Результат написания и компиляции программы - файл-прошивку с расширением.hex (и возможно файл.e pp или.bin с содержимым для EEPROM МК) нужно записать ('зашить', 'загрузить ', 'прожечь ') в МК AVR. МК AVR можно (пере-) программировать не менее 10000 раз, при чем это можно делать прямо в устройстве в котором они будут работать - такое программирование называют 'в системе' - 'ин систем программин' или ISP.
Компания ATMEL рекомендует установить на плате устройства специальный разъем для подключения программатора. Например 6 штырьков для ISP прошивания AVR. Вид сверху платы на штырьки. Или 10 штырьков в аналогичном порядке ( NC - значит не подключен ) Все контакты ISP разъема подсоединяются к ножкам МК в соответствии с названиями сигналов! Исключения указаны ниже. Вывод 2 нужно подключить к ' + ' питания МК если вы собираетесь использовать программатор питающийся от вашего же устройства - например фирменный ISP AVR либо если вы хотите питать ваше устройство от USB при использовании программатора указанного выше.
Для адаптера '5 проводков' этот вывод не подключается. Для ISP программирования достаточно 5 контактов. Соответственно и разъем который вы будете использовать может быть любым удобным для размещения на плате и имеющий минимум 5 контактов - например в один ряд. Я использую и считаю это очень удобным 6 штырьков расположенные в 1 ряд, в том порядке как расположены ножки программирования у ATmega16 ( ) - при этом разводка линий программирования получается простейшей. Такой разъем легко применять и для 28 выводных AVR ATmega8 ATmega48 ATmega88 ATmega168 ATmega328 только сделать отдельный проводник для подключения к контакту RESET. 1) в ATmega64 и ATmega128 выводы MOSI и MISO не применяют для ISP программирования. Используются другие выводы МК!
Внимательно смотрите ДатаШит вашего МК! В ATmega128 ATmega64 сигналы ISPпрограмматора MISOподключают к ножке PE1 MOSI подключают к ножке PE0 Для ATmega640 -1280 -1281 -2560 -2561 смотрите в даташит Table 163. Pin Mapping Serial Programming. 2) Вывод PEN нужно подключить к питанию VCC резистором 1-10 кОм 3) в ATmega128 и ATmega64 есть FUSE бит совместимости со старым МК ATmega103 и с завода он запрограммирован в '0' на совместимость.
См Table 117. Extended Fuse Byte.
При прошивании ATmega128 и ATmega64 вам нужно сделать этот fuse '1' - 'не запрограммирован'. Убрать галочку в CVAVR. Подробней о фьюзах ниже и на стр. 2 курса Трудно сразу написать правильно работающую программу, даже после прогона и отладки в софт эмуляторе - симуляторе VMLAB или ваше реальное устройство с реальным AVR может делать не то, что вы от него ожидаете. Значит в программу нужно будет вносить изменения, перекомпилировать и снова зашивать в МК AVR, и так раз 20 -40 и более поэтому разумно использовать отличный программатор AVR в уже имеющемся у вас CVAVR в котором вы правите программу. В меню CVAVR 'Сеттинс - Программер' вам надо выбрать ваш адаптер ( подробней про адаптеры ниже!) для программирования.
Только если вы понимаете что такое фьюзы и знаете как правильно их установить!!! Вы можете в компиляторе CodeVisionAVR открыть меню 'Проджект - Конфига - Афта Мэйк' и отметить чек бокс 'Program the chip'.
Появится окно программирования-прошивания AVR В этом окне надо установить параметры программирования - фьюз биты и лок биты - об этом подробней написано ниже. После установки параметров программирования нажмите ОК. Теперь после компиляции программы без ошибок в окне с результатами компиляции вам будет доступна кнопка 'Program' - нажмите на нее и, если все подключено правильно, произойдет программирование МК - т.е.
Файл.hex будет загружен в память программ МК и (если используется в программе) файл EEPROM будет в нее загружен. Затем МК будет 'сброшен' (на ножку RESET будет подан лог.
0 а затем опять '1') и AVR начнет выполнять уже новую, только что прошитую (загруженную в него) программу. Вам даже не нужно будет отсоединять адаптер программирования от вашего устройства если вы не используете в вашем устройстве. И так до окончательной отладки устройства. Если вы не устанавливали чек бокс 'Program the chip' или Если вы хотите без компиляции прошить с помощью CVAVR готовые файлы прошивки.hex и возможно содержимое EEPROM в микроконтроллер AVR 1) запустите программатор CVAVR кнопочкой 'МИКРОСХЕМА' правее 'красного жучка' в верхней панели инструментов. Появится окно программирования AVR 2) Откройте меню 'File' затем 'Load FLASH' - выберете файл прошивки.hexкоторый нужно прошить в AVR ( CVAVR поддерживает и другие форматы, а не только.hex) и щелкните 'Открыть'. 3) Если у вас есть информация для загрузки в EEPROM AVR то откройте меню 'File' затем 'Load EEPROM' - выберете файл.epp( CVAVR поддерживает и другие форматы) и щелкните 'Открыть'. Если вы не используете EEPROM или не меняете ее содержимое - поставьте галочку у ' Preserve EEPROM' - это ускорит прошивание.
4) Установите параметры программирования - фьюз биты и лок биты. Лок биты устанавливают уровень защиты вашей программы от чтения из памяти AVR - это актуально для коммерческих изделий.
Для защиты прошивки отключите отладочные интерфейсы JTAG или 'уан вая' и установите ' Programming and Verification disabled'. ГЛАВНОЕ это правильная установка фьюз битов - fuse AVR. 5 ) Запрограммируйте AVR не кнопкой ' Program All', а через меню 'Program' - Стереть, потом FLASH, потом EEPROM и если надо и если вы уверены в их установке то и фьюзы. После прошивания, если вы сделали все правильно, AVR начнет выполнять уже новую программу. В диалоге настройки прошивания отключите программирование фьюзов МК уберите галочку у Program Fuse Bit(s) - если не разобрались четко, что они делают и как правильно их установить! Иначе вы можете отключить режим ISP или внутренний RC-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами или даже искать: Но популярному ATtiny2313 даже параллельный программатор не всегда поможет! В Errata на ATtiny2313 было написано: Parallel Programming does not work Parallel Programming is not functioning correctly.
Для программирования к МК должно быть подключено питание. Например +4.+5.5 вольт ко всем выводам МК в названии которых есть VCC, а 0 вольт ко всем выводам GND (это 'общий' провод). Обязательно поставьте подтягивающий резистор 10 кОм от ножки R ESET AVR на питание VCC и конденсатор 0.01-0.15 мкФ ( в апноутах AVR040 и AVR042 рекомендуют 0.01 мкФ) от R ESET на GND. Если в МК не т внутреннего генератора тактового сигнала (например старые AVR серии AT90sXXXX или мега побывавшая в чьих то шаловливых руках изменивших фьюзы до того как попасть к вам) то нужно подключить кварц на 1 - 8 МГц и два конденсатора от 15 до 33 пФ.
Либо подать тактовый сигнал 0.8-1.5 МГц от внешнего источника - например генератора на микросхеме 74hc14 (аналог 1553ТЛ2) или на таймере LM555. Вот как сделать простой генератор тактовой частоты: Программатор может программировать МК без кварца и без конденсаторов! Он выводит тактовый сигнал на выв. 5 LPT его нужно подать на ножку XTAL1 МК и добавить в командной строке AVReAL специальный ключ '-o0'.
Программатор позволяет назначать какие ножки LPT порта использовать - это будет полезно когда часть ножек LPT вы уже спалите:-) Тактовый сигнал генерирует и самодельный программатор AVR для USB - смотрите ниже на этой странице. Я использую самый простой вариант адаптера STK200 - 'для самых ленивых' П ять поводков соединяющих линии параллельного (LPT) порта ПК и AVR так же как на схеме STK200 выше, но без микросхемы буфера. Лучше все же токоограничительные резисторы от 150 до 270 ом впаять Береженого бог бережет! Проводки не более 15 см длиной! Адаптер '5-проводков' прекрасно работает с компилятором CVAVR CodeVision AVR. Я проверял 'проводки' при питании МК ATmega64L от 3,0 до 5,3 вольт, а так же с ATmega16, ATmega48, ATtiny26, ATtiny261, ATtiny13, ATtiny23 13 - программирует всегда без сбоев! Всё о прошивке AVR Прошивка AVR PIC прошивки Программирование PIC и AVR.
Советую для изготовления адаптера взять ' принтерный' шнур - он длинный и экранированный, а не экранированные проводки не стоит делать более 10-15 см. Питать устройство при программировании можно: - сетевым адаптеры от бытовых устройств понизив напряжение до 5 вольт. батарейками! Достаточно три батарейки по 1,5 вольт последовательно. +5 вольт можно взять с вывода 1 гейм порта компьютера или из провода включенного в гнездо USB. Желательно питать устройство от ПК!
Параллельный Программатор Avr Burner
В этом случае 'земля' вашего устройства будет соединена с корпусом ПК и можно будет безопасно подключать и отключать разъем программирующего адаптера. Вначале старайтесь соединять 'земли' (металлические корпуса, 'общие' провода ) устройств - для уравнивания их потенциалов! Удобно подпаять к проводнику GND устройства проводок с 'крокодильчиком' который прицепите к металлу ПК у LPT или COM портов перед подключением разъемов или сигнальных линий, проводов. Теперь БЕЗОПАСНО соединять разъемы и затем подавать питание на устройство. Не поленитесь: спаяйте адаптер на микросхеме буфере по рисункам внизу страницы - так как LPT порт компьютера более нежен чем COM - соответственно его спалить проще. Спалите LPT и будете меня ругать!
А я предупреждал! Поставщики AVR говорят что ATTiny2313 поступают с завода с настройкой внутреннего RC-генератора на 4МГц (в даташите указано 8 МГц) с делителем частоты на 8 - т.е. Частота тактирования всего 500 КГц. Значит частота на линии SCK, формируемая программатором, не должна быть выше 120.125кГц. Программатор встроенный в CodeVisionAVR позволяет настроить эту частоту правильно. Выше было написано как. Создал загрузчик размером 256 байт с поддержкой быстрого страничного режима записи. Прошитые загрузчиком bootloader микроконтроллеры AVR PIC вы можете примеры применения микроконтроллеров.
И много полезной информации! AVR miniICE Это профессиональное средство для программирования и отладки программы МК ATmega фирмы Atmel в реальном устройстве. Он полностью совместимый с оригинальным AVR JTAG ICE. Большинство контроллеров AVR поддерживает режим внутрисхемного программирования. Это означает, что Вам не нужно вытаскивать микроконтроллер из платы каждый раз, когда Вам необходимо его перепрограммировать.
Опять-таки покупка готового программатора обойдется Вам в $50-150. В нашем случае Вы обойдетесь без лишних накладных расходов. С помощью программы PonyProg, Windows или Linux, и свободного параллельного порта Вы сможете создать хороший и простой программатор. И этот программатор представляет собой простой кабель. Сам кабель и его распайка представдены на рис.1 Рис.1 Следует обратить внимание что эта схема не имеет промежуточного буфера и не имеет гальванической развязки по отношению к параллельному порту, поэтому во избежание вывода из строя параллельного порта, подключать и отключать кабель следует при выключенном компьютере и выключенном питании на плате, где установлен контроллер. SPI (Serial Programmable Interface) Программируемый интерфейс последовательного доступа Используется для внутрисхемного программирования чипа и для связи с другими устройствами. Сигналы программируемого интерфейса последовательного доступа.
SCK (SPI Bus Serial Clock) Шина последовательных тактирующих импульсов (строб). MISO (SPI Bus Master Input/Slave Output) Шина данных (Мастер ввод/Подчиненный вывод). MOSI (SPI Bus Master Output/Slave Input) Шина данных (Мастер вывод/Подчиненный ввод). RST (Reset MCU) Сброс микроконтроллера. GND (Ground) 'Земля, корпус'. На Рис.3 приведена схема подключенния загрузочного кабеля к контроллеру ATmega8.
Источник питания стабилизированный от 4,5 до 5 V или батарейка. При подключении других AVR контроллеров серий AT90, ATmega, проследить на соответствие сигналов и цоколевку. Для контроллеров серии ATmega внешний кварцевый резотатор не обязателен. Они могут работать от внутреннего генератора и поставляются призводителем именно в таком режиме. В любом случае, прежде чем совершать какие либо действия с контроллером, необходимо прочитать инструкцию (Datasheet) конкретно для данного девайса. Я, - советую подключать ВСЕ выводы питания и земли МК!!!
Как нарисовано. Вот настройка PonyProg на LPT порт: Настройка программатора PonyProg в картинках! Ключевые слова: программирование микроконтроллеров, как написать программу для микроконтроллера, обучение программированию микроконтроллеров, микроконтроллеры atmega128, как запрограммировать микроконтроллер, как прошить микроконтроллер, отладка программы для AVR, моделирование работы электронных схем, электронные проекты, хобби, язык си для микроконтроллеров, язык программирования си, Программатор AVR микроконтроллеров. LPT программатор.
Принципиальная схема программатора на LPT порт показана на рисунке. В качестве шинного формирователя используйте микросхему 74 AC244 или 74HC244 (К1564АП5), 74LS244 (К555АП5) либо 74ALS244 (К1533АП5). Светодиод VD1 индицирует режим записи микроконтроллера, светодиод VD2 - чтения, светодиод VD3 - наличие питания схемы. Напряжение, необходимое для питания схема берёт с разъёма ISP, т.е.
От программируемого устройства. Эта схема является переработанной схемой программатора STK200/300 (добавлены светодиоды для удобства работы), поэтому она совместима со всеми программами программаторов на PC, работающих со схемой STK200/300. Для работы с этим программатором используйте программу Программатор можно выполнить на печатной плате и поместить её в корпус разъёма LPT, как показано на рисунках: Для работы с программатором удобно использовать удлинитель LPT порта, который несложно изготовить самому (к примеру, из кабеля Centronix для принтера), главное 'не жалеть' проводников для земли (18-25 ноги разъёма) или купить. Кабель между программатором и программируемой микросхемой не должен превышать 20-30 см. (22,5 кб). (22,0 кб).