USBasp Сегодня все меньше встречаются ПК , а тем более ноутбуки, со встроенным COM и LPT портами. А как-то ведь надо шить наши микросхемы с помощь хорошо зарекомендовавших себя последовательных программаторов. На сегодняшний день имеются схемные и программные решения последовательных программаторов, которые могут сообщаться с ПК посредством USB портов. Здесь я приведу реализацию двух USB-программаторов: USBASP и USB-DOPER. Более подробно отличия и сходства я приведу позже. Пока только могу сказать, что схемные решения абсолютно не отличаются, а отличия лишь в программном коде. Сложность этих программаторах лишь в том, что сам программатор придется запрограммировать, поскольку ядром его является либо Mega8, либо Mega48. Я здесь использовал Mega8, разницы нет (только прошивка разная). Начнем, пожалуй, с более понятного, с USBASP. Для реализации этого программатора вам понадобится, сторонний программатор, например, тот же программатор c LPT интерфейсом. Принципиальная схем USB-программатора приведена на рисунке 1.
Рисунок 1 Схема USB-программатора
На схеме перемычки (я их реализовал в дип-переключателе) J1, J2, J3. J1- переключатель, который служит для выбора режима работы программатора, а точнее самого МК в нем. Если J1 замкнут, то МК (который в программаторе Mеga8 или Mega48) доступен для программирования. Этот режим когда сам программатор программируют. После чего эту перемычку можно снять и пользоваться программатором для прошивки других МК. J2 – если замкнут, то питания с программатора на программируемый МК поступает, если разомкнут, то программатор не питает плату с программируемым МК. Удобнее, конечно, чтоб эта перемычка была замкнута всегда, тогда не нужно дергать питание на отладочной плате. J3 – перемычка, якобы позволяющая, программировать МК с тактовой частотой не более 1.5 МГц. Понятно, что когда он замкнут, можно шить МК с тактовой частотой не более 1.5МГц. Зеленый светодиод предназначен для индикации процесс программирования. После того как спаяли плату делаем следующее:
1. Замкнуть перемычку J1 и естественно J2. 2. Установить фьюзы согласно вот этому: Mega8. старший байт- 11001001, младший байт -11101111 Mega48.старший байт-11011101, младший байт -11111111 3. Прошить этот программатор вот этим хексом.(Прошивка находится в скаченой папке по адресу usbasp.2009-02-28\bin\firmware\usbasp.atmega8.2009-02-28 или usbasp.2009-02-28\bin\firmware\usbasp.atmega48.2009-02-28) 4. Снимаем перемычку J1, в результате ПК должен обнаружить USB устройство. 5. Устанавливаем драйвера к программатору они находятся в той же папке по адресу usbasp.2009-02-28\bin\win-driver\libusb_0.1.10.1. После чего Виндоус обнаружит новое устройство USBASP. Если все правильно, то в диспетчере устройств должно отобразится имя LibUSB-Win32Devices USBasp. 6. Скачиваем программу AVRDUDEи пользуемся новым программатором Работа в AVRDUDE ничем не отличается от обычных программ - программаторов. Т.е. выбрали микросхему, открыли HEX, прошили. Адреса официальных источников программатора по этой ссылке USBASP(тут вы всегда можете скачать свежачек для прошивки вашего программатора) и программы - официальная ссылка AVRDUDE(программа для прошивки МК программатором USBASP).
USB-doper А вот эта интересная вещь способна стыковаться с AVRstudio. Программа видит этот программатор как STK-500. Очень удобно, когда программу откомпилировал, отладил и сразу же нажал на кнопочку – прошил.
Чем же USBdoper отличается от USBasp? Физически ничем!! Принципиальная схема их абсолютно одинакова!!!! Поэтому, если у вас уже есть USBasp , то чтобы превратить этот программатор на псевдо STK-500 , достаточно поменять прошивку программатора вот на этот HEX. Единственное, замечу что применять исключительно Mega8.
Теперь что нужно делать, чтобы все заработало:
- возьмем наш готовый USB-asp и перешьем его мегу8 прошивкой, которая находится в скачаной папке (фаил avr-doper-mega8-12mhz.hex ). Конечно же для прошивки нужен другой программатор. -устройство USB -doper готово. После чего компьютер обнаружит сразу же новое USB-устройство, скармливаем м драйвером и пользуемся. Драйверы приведены в той же скаченом папке, для Windows XP свой ,для Windows Vista свой драйвер. - после того, как все будет верно сделано устройство будет определятся в деспетчере устройств, как communications port. При подключении Winows должен определить устройство USB-doper. -далее после всего этого открываем AVRstudio, ваше устройство там обнаруживается как STK -500. Находим в AVRStudio, Tools -> Programm AVR -> Connect... и шьем). По скольку наш программатор не является фирменой продукцией фирмы ATMEL, нам будет почти сразу же предложено обновить через интернет программное обеспечение. Отклоняйте подобные предложения.
Рисунок 2 А так выглядит мой первый USB-программатор. Рисунок 3 А так выглядит последний.
Тут все перемычки заменены дип-переключателем, появился корпус и дополнительная индикация (питания, процесс программирования и ошибка программирования). Для любителей шить МК в Си-коде USB-Doper также совместим и CodeVision.
Рисунок 4 В полной готовности USB-Doper
Еще одно! Бывает такое, что програматор не хочет съедать драйвер на вашем компе. Приходится помучаться и тогда на раз ...надцатый выйдет. Это происходит из-за того что плохое согласование уравней программатор-компьютер. С этим борятся обычно подпаивая к выводам D+ и D- стабилитроны на 3,6 В.
Фотки моего предлогаемого программатора в корпусе, без корпуса и в разборке смотрим здесь.
USBASP и USB-doper модернизация
Здесь я немного модернизировал схему этих двух программаторов. Схема разработана в программе DIPtrace.
схема мантажка здесь. Параметры схемы и внешний вид фото показаны на рисунке ниже.
Отличие данной схемы от придедущей только в том, что появилась дополнительная индикация и все перемычки заменены дип-переключателем.
Крассный светодиод - МК получает питание.
Синий светодиод - МК сейчас шьет программу.
Зеленый светодиод - МК работает в режиме программатора,если он потушен, значит МК работает в режиме программируемого (его прошивают).
|