USB программатор для AVR (USBASP)

Программатор USB  для  микроконтроллеров серии AVR
(идея устройства взята с сайта http://www.fishchl.de, точная ссылка на статью http://www.fischl.de/usbasp/ )

В этой статье рассказывается о построение удобного и достаточно простого программатора для микроконтроллеров AVR, способного работать с USB портом.
Основу этого устройства составляет тоже библиотека для AVR, реализующая на идею виртуального USB порта, более подробно можно посмотреть на сайте http://www.obdev.at. На этом ресурсе  много интересных схем полезнейших устройств для работы и творчества, которые работают с USB портом. И, если кому-то интересно более подробно узнать о работе USB порта, версии 1.1 отправляйтесь на этот ресурс. Правда ресурс  англоязычный.
Схема устройства представлено внизу.
(схема взята с сайта http://www.fischl.de/usbasp/)
usbasp_circuit
Из особенностей устройства следует отметить особое согласование линий данных USB (они долдны быть трехвольтовыми) при помощи стабилитронов на входе. Того же самого можно достичь путем питания устройства от 3 вольт. Но, думаю, что в этом случае разработчики поступили правильно. Т.к. при таком решении  этот  программатор можно подключать и к 5 вольтовой аппаратуре, и к 3 вольтовой. Потому как большая часть современных микроконтоллеров AVR способны работать и при 3 вольтах, и п ри 5. А старые только при 5 вольтах. И тем не менее, если этот узел не нравится или вы просто не собираетесь работать с 5 вольтовой аппаратурой — сделайте питание микроконтоллера от 3 вольт, тогда с этой схемы можно убрать D1, D2.
Детали и конструкция.
Детали могут быть любыми, плата двухсторонняя, делается по лазерной технологии. В данном случае был использован разъем USB от старого кабеля, поэтому плата сделана с учетом этого. Его можно очень надежно припаять (надежнее, чем тот, который предназначен к установку на платы).
a_up a_down
Вот так выглядит эта готовая платка:
DSCN9515sm
Программирование микроконтроллера программатора должно быть внешним. Т.е. сам программатор не может себя запрограммировать, поэтому для первого программмирования был использован легендарный stk200 программатор, представляющий собой устройство из 4 резисторов, которые подключаются к параллельному порты персонального компьютера. Более подробно читайте вот в этой статье. Значения FUSE в данном случае такие: Hfuse=0xс9, Lfuse=0xef. Последняя версия прошивки доступна или на сайте, упомянутом в начале статьи или по этой ссылке usbasp.2009-02-28.tar.
В итоге, что должно получится можно увидеть ниже.
DSCN9518sm
Правда во всем этом есть некоторая неприятность или наоборот радость для тех, кто работает под Linux. USBASP хорошо работает под Linux (он даже автоматически определяется в нем), отлично работает с AVRDUDE (ссылка для ОС Linux!). Для работы в Windows нужно ставить драйверы — usbasp-windriver.2009-02-28. Плюс я очень рекомендовал бы поставить  WINAVR (бесплатную среду для разработки программ для микроконтроллеров AVR), официальный сайт программы http://winavr.sourceforge.net/. В ней содержится адаптированный вариант AVRDUDE для Windows и адаптированный вариант AVR-GCC (бесплатного компилятора для AVR для среды Linux). Фактически после установке WINAVR вы сможете работать в командном окне, пользоваться make файлами точно также, как если бы вы это делали в среде Linux.
При этом Linux-ориентированную программу AVRDUDE, которая хорошо работает с этим программатором в Linux, можно не использоваться, а можно применить другие именно Windows-ориентированные приложения, например, KhazamaAVRProgrammer (на мой взгляд очень удобный, более продуманно построенный, чем Ponyprog, хотя и не такой универсальный).

апрель, 2010 г
Чубаров И.Ю. (Krolik) (ivder99@bmstu.ru)

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>