Схема программатора микроконтроллеров AVR на COM порт
Устройство представляет собой дальнейшую модификацию программатора AVR ISP фирмы Atmel. В отличие от него, предлагаемое устройство содержит не два, а один микроконтроллер, который выполняет все нужные функции.
Программатор микроконтроллеров AVR на COM порт.
На разъем Х2 подают напряжение от блока питания, способного отдавать в нагрузку ток не менее 100 мА. Разъем Х1 соединяют с любым свободным разъемом порта СОМ компьютера. Можно использовать и виртуальный СОМ-порт, создаваемый с помощью преобразователя интерфейса USB—RS-232. В этом случае питать программатор можно напряжением 5 В от разъема USB, исключив интегральный стабилизатор напряжения DA1. Микросхема DD1 служит для преобразования уровней интерфейсных сигналов RS-232 в стандартные ТТЛ уровни и обратно.
С разъемом ХЗ соединяют программируемый микроконтроллер в соответствии с его спецификацией. Назначение контактов разъема совпадает с использованным в базовом варианте программатора — таким же, как в первой модели программатора AVR910. Цепи VCC (питание) и CLOCK (тактовая частота) используют только для программирования микроконтроллера в отдельной панели. При внутрисхемном программировании они обычно не нужны.
Микроконтроллер DD2 управляет работой программатора. В нем записана программа, реализующая все нужные для этого алгоритмы.
Загрузка и обновление ее производится с помощью имеющейся в памяти микроконтроллера программы-загрузчика (bootloader), которая использует для этого свойство самопрограммирования микроконтроллера.
Включенный светодиод HL3 свидетельствует о работе устройства, HL2 светится всегда, когда включен режим программирования, а светодиод HL1 сигнализирует о наличии напряжения в цепи VCC и тактовых импульсов частотой 1,8432 МГц в цепи CLOCK.
Программирование подключенной к разъему ХЗ микросхемы запускают нажатием на кнопку SB1. По завершении процедуры напряжение и тактовые импульсы необходимо выключить повторным нажатием на эту кнопку, после чего можно извлечь запрограммированную микросхему из ее панели. Резисторы R1, R2 предотвращают самопроизвольный запуск микроконтроллера. Цепь R6C11 устраняет последствия дребезга контактов кнопки.
В микроконтроллер DD2 необходимо с помощью какого-либо программатора загрузить программу из приложенного к статье файла BootAVR.hex.
Конфигурация микроконтроллера должна соответствовать указанной в таблице.
После того как программатор собран и подключен к компьютеру, приступают к загрузке прикладной программы. Нажав на кнопку SB1, подают питание на разъем ХЗ. Должен включиться светодиод HL2, что свидетельствует об успешном начале работы.
Далее запускают программу AVR Studio и с помощью меню Tools-»AVR Prog открывают управляющую программу. В окне Device появится единственный доступный микроконтроллер — ATmega16. Его конфигурацию можно увидеть в меню Advanced, но попытки ее изменить, как и попытки произвести какие-либо действия с EEPROM, ни к чему не приведут — это всего лишь эмуляция режимов. Теперь в окне Hex file следует указать путь к загрузочному файлу (по умолчанию C:\Program files\Atmel\AVR Tools\STK500\STK500.ebn) и начать программирование, нажав на экранную кнопку Flash Program.
После этого программатор готов к работе, нужно только на короткое время выключить напряжение его питания и затем включить заново. При этом поочередно включатся светодиоды HL2 и HL3, свидетельствуя о нормальном функционировании программатора.
Указанные действия необходимо повторять каждый раз, когда необходимо обновить программное обеспечение программатора (например, загрузить новую версию). Связь осуществляется через меню Tools->Program AVR->Auto Connect.
Программатор проверен при работе с пакетом AVR Studio версий 4.12 и 4.13. В его совместимости с предыдущими версиями сомнений нет, но все-таки необходима проверка. Нужно помнить, что с помощью этого прибора невозможно внутрисхемное программирование устройств с напряжением питания меньше 5 В. Тактовая частота программируемого микроконтроллера должна быть как минимум в четыре раза выше частоты импульсов на линии SCK.