Программатор USBasp

программатор usbasp

Программатор USBASP - широкоизвестное устройство для программирование AVR-микроконтроллеров, подключаемое к USB-порту. Домашняя страница этого программатора: http://www.fischl.de/usbasp/ Там можно скачать его схему, прошивку, исходники и драйвера. В Сети встречается множество описаний реализации USBasp с разными печатными платами, но т.к. размеры всех этих плат оказались не подходящими для моего корпуса, то я сделал свою.

Вместо джамперов JP1 и JP3 я использовал переключатели, которые вывел на крышку корпуса. Первый нужен для питания МК от порта USB, второй - для включения "медленного" режима, например, если МК тактируется от внутреннего генератора, как оно и бывает по умолчанию. В качестве разъема X2 поставил маму DB9. В оригинальной схеме имеются два светодиода - красный, загорающийся при подключении программатора к USB-порту и зеленый, загоражщийся при операциях с МК. Лично мне это показалось не совсем логичным, и я поменял их местами.

И пару слов о стабилитронах. Поскольку, согласно спецификации, для шины USB напряжение на линиях D- и D+ не должно превышать 3.6В, в оригинальной схеме ставятся стабилитроны D1 и D2 на эти напряжения. Однако, замерив напряжения, со стабилитронами на 3.6В оно составило ~3.9В, поэтому, стабилитроны поставил на 3.3В.

В результате получилась такая вот плата:

Плата программатора

а в корпусе все выглядит так:

Устройство в корпусе

Для программирования МК я использовал программатор ChipBoom и его адаптер для rs-232 интерфейса. Для работы с самим USBasp удобно пользоваться консольным программатором avrdude в связке с avr-eclipse Программатор заработал сразу, никаких проблем с установкой драйверов не возникло. На форумах попадаются жалобы, что подобные устройства не работают на ноутбуках, у меня девайс без проблем определился как на ноуте HP Pavilion, так и на Asus EEE.

Для работы с программатором в linux устанавливать какие-либо драйвера не нужно. Однако, скорее всего потребуется настроить права доступа к устройству, в противном случае avrdude будет работать только при запуске от root-а. Для того, чтобы разрешить рядовому пользователю работать с программатором, необходимо создать файл (от имени root-а) /etc/udev/rules.d/60-objdev.rules и записать в него следующий текст:


SUBSYSTEM!="usb_device", ACTION!="add", GOTO="objdev_rules_end"
# USBasp
SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", GROUP="users", MODE="666"
LABEL="objdev_rules_end"

После чего следует перезапустить udev выполнив команду (также от root-а)

/etc/init.d/udev restart

или

/etc/init.d/boot.udev restart

в зависимости от того, как называется в вашей системе файл инициализации udev.

Ниже можно скачать схему и плату в формате Eagle, а также рисунок платы в формате PDF, готовый для лазерно-утюговой технологии.


Файлы:
DownloadСхема и плата, Eagle
DownloadПлата в PDF

Рейтинг: 
0
Голосов еще нет