Лучшее из возможного!

Размер шрифта:  Aa Aa Aa Aa Aa



Программатор для AVR - аналог AVRISP

Принципиальная схема программатора AVR

Описание опубликовано в журнале «Радио» № 5 за 2006 г., стр.27...30. Два универсальных программатора.

Благодаря оптимальному соотношению цена/качество микроконтроллеры семейства AVR фирмы Atmel пользуются заслуженной популярностью как среди радиолюбителей, так и профессионалов. Возможность их программирования по последовательному интерфейсу SPI позволяет использовать для этих целей очень простые программаторы, например PonyProg.

Но в последнее время энтузиасты – программисты share ware программаторов для AVR просто не в силах своевременно вводить корпектную поддержку всех новых типов. Но даже те радиолюбители, которых вполне устраивают старые типы контроллеров, могут оказаться в сложной ситуации. Например, класс AT90S полностью снят с производства. На смену ему пришли ATtiny и ATmega, которые имеют несколько иные алгоритмы программирования. В такой ситуации логично будет не изобретать велосипед, а воспользоваться схемой программатора микроконтроллеров AVR, которую предлагает производитель AVR - фирма Atmel.

При работе с простейшими программаторами типа PonyProg следует иметь ввиду, что такой программатор подключается к COM, LPT порту компьютера и, по сути, содержит только буферные элементы для согласования уровней выводов порта с контроллером. Все необходимые алгоритмы реализуются управляющей программой, запускаемой на компьютере. Казалось бы, это самый простой и в то же время наилучший вариант. Зачем усложнять задачу? К сожалению, все не так просто.

Основное назначение LPT порта – это работа с принтером, а COM порта – обеспечение связи с внешними устройствами, например модемом по интерфейсу RS-232. Программное управление уровнями на отдельных линиях этих портов хотя и возможно, но это уже нестандартная задача, а значит никто не может гарантировать, что она будет выполняться корректно. Да и не далек тот день, когда эти порты исчезнут из компьютера, а работать через конвертер USB COM простейшие программаторы не могут.

Более того, стандартная аппаратно-программная конфигурация персонального компьютера даже при наличии быстродействующих процессора и ОЗУ не позволяет точно сформировать интервалы времени, меньше нескольких сотен миллисекунд. Для программирования же современных контроллеров необходимы импульсы длительностью порядка единиц микросекунд и менее. Поэтому невозможно гарантировать корректную работу простых программаторов на всех без исключения компьютерах.

Предлагаемый программатор – это упрощенный и модернизированный аналог выпускаемого и поддерживаемого компанией Atmel внутрисхемного программатора AVRISP. Упрощение заключается в исключении из схемы элементов защиты от статического электричества – в серьезных случаях они все равно не помогут – и замене преобразователей уровня COM-TTL на дискретных элементах специализированной микросхемой MAX232. В отличие от прототипа этот программатор микроконтроллеров AVR позволяет программировать их не только внутрисхемно, но также и непосредственно в программаторе.

Схема программатора AVR показана на рисунке. Это универсальный программатор, он программирует все микроконтроллеры AVR с интерфейсом SPI. Управление осуществляется через COM порт персонального компьютера. Возможно подключение и через USB COM адаптер.

Управляющая программа является составной частью фирменной интегрированной отладочной среды разработки AVR Studio от Atmel. Ее последняя версия всегда свободно доступна на http://www.atmel.com.

Дополнение 2018 г.

Прошло более 10 лет с момента разработки этого программатора. Я думал, что он уже потерял свою актуальность. Сейчас для программирования, например, Arduino или контроллеров STM32 никакой программатор вообще не нужен, т.к. они имеют встроенный bootloader. Достаточно простого конвертера USB-COM.

Однако, оказалось, что программатор для AVR еще востребован. Подтверждение тому - материалы, которые прислал мне один из его пользователей. Он разработал новую плату для этого варианта AVRISP на которой смонтировал модуль USB-COM, а также применил панельки с нулевым усилием для программируемых микросхем. Тактовая частота на программируемый контроллер подается от отдельного генератора.

Выкладываю схему, фотографии и чертежи плат в том виде, в каком я их получил. Ссылка ниже.

© 2006-2018г.


PDF Подробное описание
ZIP Плата в Sprint Layout 4.0 и схема в Orcad 9.1
ZIP Прошивка и исходный текст программы контроллера на ассемблере
ZIP Дополнительные материалы 2018г.