058-Делаем STK500/AVRISP из USB-программатора USBtiny.

Автор: | 22.10.2010

Как Вы помните, ранее нами была перепрошита плата преобразователя UART to USB для того, чтобы получить USB программатор USBtiny. USBtiny у нас получился, он отлично работает под AVRdude, но хочется большего – использовать его еще шире! Автор AVRtiny, вероятно, задавался такой же целью. В результате им была написана программа позволяющая использовать USBtiny в режиме совместимости с STK500/AVRISP. STK500/AVRISP является общепринятым программатором, поэтому он будет поддерживаться в любой среде программирования.

В общем это работает следующим образом:

 

Блок-схема

Теперь я покажу как реализовать режим совместимости USBtiny с STK500/AVRISP. Следующее описание – перевод оригинальной статьи http://www.ladyada.net/make/usbtinyisp/stk500compat.html. Лично мной такой способ программирования не проверялся. Если уже кто-то работал при помощи такого эмулятора, обязательно поделитесь впечатлениями!


Если коротко, то режим совместимости реализуется так:
— устанавливается программа виртуального нуль-модема (com0com), которая создает два виртуальных COM порта, связанных между собой (при посылке сообщения одному оно появляется на другом). Один из виртуальных портов будет восприниматься средой программирования как STK500/AVRISP;
— устанавливается вторая программа USBtiny500 – которая преобразовывает сообщения среды программирования для USBtiny.

Теперь подробно:

1 Устанавливаем виртуальный нуль-модем (com0com)
Скачиваем программу или у меня:
com0com-2.2.2.0-i386-fre.zip (4617 Загрузок)
или с SourceForge.

Устанавливаем и запускаем.

Установка com0com
Жмем Далее.

делаем выбор
Важно! Снимаем CNCA0 <-> CNCB0 флажок!

оставляем галочку
Оставляем галочку «Launch the setup command prompt» (Запуск установки с командной строки), жмем финиш. Запустится программа в режиме командной строки.

помощь
Можно набрать в командной строке help для вывода списка команд.

Нам нужно установить два виртуальных порта, в первую очередь проверьте диспетчер устройств Start->Settings->Control Panel->System->Hardware (Пуск-> Настройка-> Панель управления-> Система-> Оборудование).

список портов
В закладке Ports смотрим список COM-портов. Запоминаем какие порта заняты. (в данном случае мы видим, что COM1 уже занят).

Установка портов
Набираем install PortName=COM2 PortName=COM6
-в первый PortName подставляем свободный (не занятый) COM-порт из диапазона COM1 — COM4 (в данном случае COM1 уже занят – ставим COM2);
-во второй PortName подставляем свободный (не занятый) COM-порт из диапазона COM5 – COM9 (в данном случае ставим COM6).
Запоминаем установленные порта – позже мы будем к ним обращаться.

сообщение в трее
После нажатия «Enter» появится сообщение в трее, о том, что найдено новое оборудование. Автоматически запустится установщик нового оборудования.

Установка 500
Выбераем «No not this time» (Нет, не сейчас), нажимаем кнопку Далее.

Установка 500-2
Выбираем «Установить автоматически» и нажимаем далее.

сообщение в трее 2
Возможно придется пройти эту процедуру дважды, для каждого COM-порта отдельно.

Новые устройсва в диспетчере
В Диспетчере устройств должны появится наши новые порта.

2 Устанавливаем среду программирования AVRStudio (или любую другую с поддержкой STK500).
— без особенностей.

3 Скачиваем USBtiny500.
Качаем или у меня:
usbtiny500_v0.2.zip (4593 Загрузки)
или со странички сайта источника.

Устанавливаем и запускаем USBtiny500.
Выбираем один из установленных нами виртуальных COM-портов (в данном случае COM6). Если выбрать несуществующий, то программа выдаст следующее предупреждение:

не найден порт

невозможно создать соединение

Далее программа попытается найти USBtiny. Если не найдет выдаст следующее сообщение:не найден USBtiny

не найден USBtiny

Если оба COM-порта и USBtiny найдены – выведется сообщение о готовности к работе:

Готов

Далее, запускаем AVRStudio (или любую другую программу с поддержкой STK500). Открываем панель выбора программатора, выбираем AVRISP или STK500. В качестве порта на котором установлен программатор выбираем другой из установленных нами виртуальных COM-портов (в данном случае COM2).

Выбор программатора

Готово! Теперь Ваш микроконтроллер станет доступен для программирования через STK500/AVRISP.

Если возникают проблемы связи с микроконтроллером, проверьте питание (микроконтроллера), кварц (если микроконтроллер работает от внешнего задающего генератора), правильность подключения. Также при ошибках связи причиной может быть завышенная частота ISP – поменяете ее.

Смотрим еще:
Оригинальная статья на английском
Страничка эмулятора нуль-модема (com0com)
Статья по изготовлению USBtiny

 

(Visited 11 342 times, 1 visits today)