Логотип



AVR микроконтроллеры. Программирование для начинающих

материалы в категории

Программирование AVR при помощи PONY PROG

 Итак, что такое микроконтроллер мы в общих чертах разобрались (смотрим Программирование для начинающих. часть1 ), теперь нам нужен программатор.
Самый простой программатор для AVR микроконтроллеров можно изготовить по вот такой схеме:

программатор stk200 схема

Называется он STK-200. В общем-то вполне и подошел-бы программатор PONY PROG, но у него есть один очень существенный минус- он не дает запрограммировать некоторые фьюзы, которые иногда еще называют опасными (например RSTDSBL, DWEN, SPIEN). Если случайно запрограммировать такой опасный фьюз, то вы отключите возможность пользоваться ISP программатором, МК заблокируется, для восстановления МК нужен будет параллельный программатор (высоковольтный).
А вот для управления программатором STK-200 можно использовать программу от PONY PROG- об этом чуть ниже.

Есть еще вариант программаторов так называемый "5 проводков"- напрямую от LPT порта компьютера, но пользоваться программаторами типа "5 проводков" не рекомендуется.
Есть облегченный вариант программатора STK-200, который так-же построен на нескольких проводках, собирать его я так же не рекомендую, по той причине, что таким программатором очень легко спалить LPT порт, для сравнения - COM порт спалить в разы труднее. Да и потом, программируя "5ти проводками" можно случайно замкнуть эти провода между собой, спалить МК или опять же порт. Использование буферного повторителя в микросхеме улучшает крутизну фронтов сигнала, а так же бережет LPT порт, от случайных КЗ и перенапряжений

Вернемся к схеме программатора STK-200: в нем применена всего-ли одна микросхема 74HC244 (аналог у нее КР1533АП5).

В схеме присутствуют 3 светодиода: питание, чтение, запись. Длина соединяющих проводов должна быть как можно короче.

Чуть ниже прилагаются фотографии готового программатора STK-200.

На фото, на плате программатора присутствует кварц и конденсаторы. Кварц нужно ставить на 4 мГц, конденсаторы на 5-15 пФ, два штырька рядом со светодиодами на плате, используются для подачи питания, 5 вольт.
Если вы будете собирать переходник, то питание подается с платы переходника, т.к. там стоит "Кренка" на 5 Вольт, она защитит микроконтроллер и схему от переполюсовки или превышения напряжения.

программатор stk-200

К программатору дополнительно нужно будет изготовить плату, на которой будут размещаться панельки под разные МК, в принципе, можно просто запаивать проводки к нужными выводам МК, как вам удобнее.

программатор stk-200

Ниже в архиве прикреплены файлы для изготовления программатора- схема, печатная плата программатора и переходника для ATmega8/48/168, ATtiny2313.

Для того чтобы проверить работает ли наш программатор, подключаем его в порт LPT, кликаем правой кнопкой мыши на значке "Мой компьютер", в появившемся списке выбираем "диспетчере устройств", откроется окошко, кликаем обновить конфигурацию оборудования и на программаторе моргнут светодиоды чтения/записи. Кстати, питание берется от внешнего источника, а не с LPT порта, будьте внимательны.

Главным преимуществом параллельного программатора является способность восстанавливать некоторые неправильно установленные биты. После этого интерфейс ISP отключается, и при программировании последовательным программатором в таких случаях выдается сообщение об ошибке.

Выбор программы для прошивки микроконтроллера

Популярными программами для прошивки AVR микроконтроллеров  являются PonyProg и CodeVision AVR. Я пользуюсь Code Vision AVR (далее CVAVR), но рассмотрим мы обе программы. В принципе, можете пользоваться любыми другими программами, только запомните одно очень важное замечание: в разных программах фьюзы могут выставляться по разному, т.е. зеркально.

В первую очередь подключаем программатор в нужный нам порт, только сначала ставим микроконтроллер в панельку. Питание подавайте после того, как программатор будет подключен к порту.
Для того, чтобы запрограммировать микроконтроллер нам нужны файлы прошивки, файл с расширением .hex, в некоторых проектах используется еще файл EEPROM .eep. (электрически изменяемая память данных, в нем хранятся различного рода константы).

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

Прошивка микроконтроллера с помощью PonyProg

Конечно сначала надо скачать и установить саму программу. Она есть здесь
Скачали, установили, запускаем. Появилось вот такое окошко (еще и звук при запуске будет в виде лошадиного ржача...)

программатор pony

Затем- в списке устройств нужно выбрать наш МК: кликаем меню "Устройство", затем выбираем AVRmicro -> ATmega8.

Потом, конечно-же нам нужен сам файл прошивки, для этого кликаем Файл -> Открыть файл программы (FLASH)… Откроется окошко, где нам нужно выбрать наш файл прошивки с расширением .hex.

не забываем в списке выбрать нужное нам расширение файла, иначе файл прошивки не обнаружится

 

После того как мы этот файл открыли, в окошке появятся куча всяких непонятных цифр и букв. Это так выглядит прошива в 16-тиричном коде.

Ужас, конечно, на первый взгляд, но пусть это вас не пугает: все это написано не нами, менять там ничего не надо и если сама прошивка рабочая, то можно даже  не вдаваться в подробности что там да как...

Теперь- нам точно так-же нужно выбрать файл прошивки EEPROM с расширением .eep, если конечно он нужен и прилагается.

Если вы еще не подключили программатор и не подали на него питание, сделайте это. Не забудьте вставить МК в панельку, не перепутайте положение в панельке, обратите внимание на насечку или кружок на корпусе МК, оттуда и начинается отсчет ножек.

Кликаем Установки -> Настройка оборудования. Все настройки выставляем как на рисунке ниже, затем нажимаем кнопку "Проверка" – должно выйти окошко "Тест ОК"

Если вдруг тест настроек PONY на прошел и выскочило окошко с надписью "Тест ОШИБКА"

Тогда нам надо проверить конфигурацию порта LTP.
Кликаем правой кнопкой мыши на значке "Мой компьютер" и выбираем "Диспетчер устройств" или можно зайти в Панель управления -> Система -> Оборудование -> Диспетчер устройств.

в списке находим Порты (COM и LPT ), кликаем правой кнопкой мыши на нем и нажимаем "Обновить конфигурацию оборудования"

 

Затем закрываем окно, и возвращаемся к PonyProg, заново запускаем тест, нажимаем "Проверка", должно выйти окошко с надписью "Тест ОК".

 Если все в порядке, то нажимаем "ОК", далее переходим в меню Установки -> Калибровка, нажимаем Yes.

Выйдет сообщение об успешно проведенной калибровке, нажимаем ОК

 

Сейчас нам нужно будет выставить фьюзы, если в вашей конструкции фьюзы не выставляются, переходите к следующему пункту. Кликаем Команды -> Security and Configuration Bits… откроется окошко для установки фьюзов

Теперь все готово, и можно прошить микроконтроллер, нажимаем Команды -> Записать все. Если вы еще не передумали, то в окошке которое вышло, нажимаем "Yes", и начнется процесс записи и проверки.

Если все прошло успешно, но в конце-концов должно появиться сообщение

Все, теперь можно вынимать МК из программатора и проверить наше устройство, если вы все сделали все как я расписал, все будет работать.

Если по какой то причине устройство не заработало:
1. Возможно допущены ошибки при сборке программатора, перепроверьте все и попробуйте еще раз перепрошить МК.
2. Возможно сама прошивка "битая"

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

В следующей статье Программирование для начинающих. часть3 мы будем рассматривать прошивку микроконтроллеров с помощью программы CodeVision AVR, ну а во вложении, как и было сказано выше, чертежи для программатора в формате lay. Это специальный файл для программы LAYOUT, которую можно скачать здесь

 

 

Вложения:
ФайлОписаниеРазмер файла:
Скачать этот файл (stk200.rar)stk200.rar 21 Кб

Почта сайта