Эта отладочная плата позволяет разрабатывать маленькие устройства USB. Чип AT90USB162, который установлен на плате, имеет встроенный аппаратный интерфейс, позволяющий изготавливать full-speed USB 2.0 устройства, соответствующие современным требованиям.
С помощью макетной платы AVR-USB162 и библиотеки LUFA Вы легко можете разработать собственные устройства HID (клавиатуры, джойстики, мыши, устройства ввода/вывода и т. д.) или сделать последовательный порт на классе CDC (виртуальный COM-порт), причем разрабатывать драйвер для устройств HID и CDC не нужно - они работают на всех современных компьютерных платформах. Программное обеспечение для разработки также присутствует на всех современных операционных системах - включая Linux, Windows, и Macintosh (Mac OS).
На макетной плате AVR-USB162 установлены:
- miniUSB коннектор J1, через который питается плата.
- кнопка SW2 HWB, управляющая работой bootloader-а, и кнопка SW1 RESET.
- коннектор ISP/debugWIRE J4, через который можно запрограммировать плату с помощью стандартного программатора (avrdude, JTAGICE-mkII, PonyPROG и проч.), а также отлаживать программу через аппаратный отладчик, поддерживающий шину debugWIRE (например, JTAGICE-mkII). Программирование и отладка работают в широко известных IDE AVRStudio и IAR Embedded Workbench.
- перемычка J3, управляющая напряжением питания ядра микроконтроллера (иногда это может понадобиться).
- индикационный светодиод VD1.
- контактные площадки P1..P22, на которые разведены порты микроконтроллера и питание.
- макетное поле с шагом 2.54 мм (100 mil), которое можно при необходимости отпилить, уменьшив тем самым размер USB-устройства.
Размеры платы с макетным полем 64.8 x 30.7 мм, без макетного поля 45.4 x 30.7 мм (для уменьшения размеров макетное поле можно отрезать). Толщина платы вместе с монтажом 11.5 мм (определяется самым высоким элементом на плате - ISP коннектором, он выступает над поверхностью TOP платы на 9 мм). USB-коннектор выступает за край платы на 2 мм.
В микроконтроллер прошито заводское программное обеспечение (bootloader, называемое также DFU - Device Firmware Uploader или Device Firmware Upgrade), позволяющее загрузить программу пользователя в память микроконтроллера через интерфейс USB и запустить её на выполнение. Это позволяет писать и отлаживать программы, не имея вообще никакого отладчика и программатора. Конечно, не те удобства, что предоставляет аппаратный отладчик JTAGICE-mkII, но зато дешево и сердито, затраты для быстрого старта минимальные. Программа и технология, предоставляющая такие возможности, называется Flip (FLexible In-system Programmer), программа бесплатна и доступна для скачивания на сайте atmel.com. Подробная документация, как все это делается, также доступна, правда на английском языке.
Прошивку-bootloader, записанную на фабрике Atmel (она обеспечивает работу Flip), нельзя считать ISP-программатором, поскольку она защищена lock-битами. Для того, чтобы можно было воспользоваться ISP-программатором или debugWIRE-отладчиком, чип придется стереть, что полностью уничтожит Flip-bootloader. Но особо печалиться по этому поводу не стОит, так как на сайте atmel.com доступен для свободного скачивания бинарник bootloader-a (bl_usb_162v105.zip [7]), и его всегда можно восстановить. Как я понял, использование Flip исключает применение для отладки обычного ISP-программатора и отладчика debugWIRE, и наоборот.
Установка программы, интерфейс Flip и работа с ним под Windows до предела упрощены - скачайте по ссылке [6] и установите. При подключении макетки AVR-USB162 по USB система запросит драйвера, подсуньте ей путь до c:\Program Files\Atmel\Flip 3.3.2\usb\ (это драйвер для bootloadera и Flip), после этого в системе появится устройство AT90USB162:
Запускаем программу Flip, выбираем в меню Device -> Select... -> AT90USB162, жмем вторую кнопочку со шнурком на картинке (Select a Communication Medium), выбираем USB, в появившемся маленьком окошке жмем Open. Вуаля! Появился нехитрый интерфейс программатора Flip:
Как видно на скриншоте, доступно для использованием пользователем только 12 килобайт памяти (4 килобайта съел Flip-bootloader).
[Если bootloader не работает, программа Flip не видит чип AT90USB162]
При исправной и правильной схеме может быть два варианта - у Вас стерт bootloader, либо записана пользовательская программа, которая получает управления вместо bootloader.
Если стерт bootloader - его надо восстановить с помощью ISP-программатора. Скачайте бинарник bootloader (bl_usb_162v105.zip [7]) и прошейте в чип AT90USB162.
Если запускается пользовательская программа, то bootloader можно запустить стандартной процедурой, описанной в документации:
- подключаем плату через USB
- нажимаем кнопку SW1 RESET
- удерживая кнопку SW1 RESET, нажимаем кнопку SW2 HWB
- удерживая кнопку SW2 HWB, отпускаем кнопку SW1 RESET
- отпускаем SW2 HWB
После этой процедуры у нас в системе должно появиться устройство LibUSB-Win32 Devices\AT90USB162 (см. в Диспетчере Устройств), и теперь снова будет работать программирование через USB с помощью программы DFU Flip. Если устройство LibUSB-Win32 Devices\AT90USB162 в Диспетчере Устройств не появилось, значит надо перепрошить bootloader (Вы его каким-то образом стерли).
[Как заказать]
Если хотите приобрести макетную плату AVR-USB162, отправьте мне email (адрес см. на страничке Контакты), или оставьте комментарий ниже, указав контакты для связи с Вами (email, ICQ или телефон). Если Вы находитесь не в Москве, возможна пересылка наложенным платежом. Внимание: в таблице указана цена без учета стоимости пересылки (180 руб. - это мои расходы на отправку бандероли, плюс еще около 60 рублей Вы заплатите на почте за почтовый перевод. Таким образом, например, готовая плата Вам обойдется 500+180+60=740 рублей). Возможна предоплата, тогда 60 рублей съэкономите.
Стоимость готовой макетной платы AVR-USB162
(ничего паять не надо, плата полностью готовая
и рабочая) |
500 руб. |
Стоимость пустой печатной платы (только пустая,
голая печатная плата, и больше ничего)
|
100 руб. |
[Аналоги]
AVRopendous
Teensy USB Development Board
AVR-USB-162 от Olimex
Benito
DorkBoard
Bumble-B
[Проблемы и способы их решения]
См. FAQ по ссылке [8].
[Ссылки]
1. Общее описание библиотеки LUFA и документация по библиотеке LUFA на русском языке.
2. Как из макетки AVR-USB162 сделать ISP программатор, совместимый с avrdude.
3. Примеры с сайта Olimex - для AVRStudio+WinAVR (gcc version 3.4.6).
- мигание светодиодом
- опрос кнопки
- генератор частоты
- демонстрационный код USB-мыши
- демонстрационный код виртуального COM-порта.
4. AVR-USB162: где найти рабочие примеры кода firmware и ПО хоста
5. USB DFU Bootloader Datasheet - описание bootloader (технология Flip) при работе через USB.
6. FLIP - программа Atmel, с помощью которой Вы можете прошить плату через USB без программатора (используется USB DFU Bootloader, встроенный в микросхему AT90USB162). По этой же ссылке доступно для закачки firmware бутлоадеров DFU Flip (см. также [7]). Старая версия Flip 3.3.2 здесь.
7. Прошивка bootloader.
8. FAQ по макетной плате AVR-USB162 (чип AT90USB162).
|
Комментарии
2013-08-1823:50:55 Понравилась Ваша реализация платки. Пока сильно не вникал в подробности, поэтому прошу прощения за вопрос. Меня интересует возможность изготовления на базе данной платы usb-реле, причем в качестве hid-device, а не cdc. Я посмотрел doxygen по LUFA и увидел там в примерах LEDNotifier - почти то что мне надо, но как я понял устройство видется в системе как виртуальный com-порт.
И еще вопрос: подскажите, пожалуста, сколько будет стоить данная плата с доставкой в Санкт-петербург?
microsin: привет, Дмитрий. Нет проблем. Напишите мне пожалуйста на email (см. раздел Контакты).
2013-06-1512:27:46 В какой-то момент плата перестала вообще видеться по USB.
помог резистор в 1 кОм между сигналом D- (30 pin AT90USB162) и общим проводом GND. Может кому пригодится.
2013-02-2222:33:33 1) подскажите, можно подключить к плате через spi
ОЗУ N256S0830 + параллельно цап DAC8800 ?
2) примерно какая будет скорость записи из компьютера в озу N256S0830 через usb интерфейс ?
microsin: можно подключить эти микросхемы параллельно на шину SPI, но для них нужно делать раздельные выборки и обращаться к ним по отдельности. Максимальная скорость передачи по USB может составлять приблизительно не больше 10 мегабит/сек, для этого нужен на стороне хоста драйвер для Вашего USB устройства.
2013-01-1806:42:57 Подскажите пожалуйста, как можно программно определить в каком положении находится джампер J3?
microsin: без доработки схемы нельзя никак, по крайней мере мне такой способ неизвестен. Аппаратная доработка заключается либо в добавлении внешнего АЦП/компаратора, либо простейшего порогового элемента на диоде или стабилитроне, подключенного на порт GPIO, настроенного на вход.
2012-12-0307:34:12 В примерах LUFA, чтобы заработало, нужно поменять параметры, вот пример с клавиатурой: http://emalliab.wordpress.com/2012/05/21/minimus-usb-and-lufa/ кроме всего перечисленного нужно еще изменить параметр BOARD = MICROSIN162 и получим однокнопочную клавиатуру, теперь осталось сделать расшифровку Морзе-кода, и из отладочной платы получим полноценную клавиатуру вообще ничего не паяя :)
Отлично, что в LUFA добавлен драйвер для этой платы, так гораздо проще стартовать. Вообще идея этой платы просто изумительная, ничего лишнего, и при этом максимальные возможности.
2012-12-0108:27:30 Разобрался с компиляцией Си программ в Linux, и загрузки их в микроконтроллер (http://ibnteo.klava.org/avr/at90usb162). Почему-то FLIP не видит плату в линуксе, да он и не нужен, из консоли удобнее заливать программу, к тому же весь софт ставится из репозитория, а не не пойми откуда.
microsin: насчет "невидимости" платы под Linux это вопрос в службу поддержки Atmel. Все должно работать, Вы просто не разобрались.
2012-12-0102:52:38 В линуксе (Xubuntu 11.10) FLIP так и не увидел микроконтроллер , зато его прекрасно видит консольная программа dfu-programmer.
У Вас есть опыт работы с таким микроконтроллер ом в линуксе? В частности меня интересует где взять .h файлы для avr-gcc, чтобы примеры компилировались . Или лучше не мучиться, и ставить под эмулятором AVR Studio?
microsin: под Linux опыта работы нет. Все проекты, исходники и хедеры, которые компилируются на Windows XP под avr-gcc (WinAVR) будут точно так же легко компилироваться и под Linux, просто проверьте правильность установленных путей в makefile. Насчет работы в Linux под эмулятором Windows - это полный изврат. Зачем?.. Есть нормальные среды разработки для AVR под Linux, научитесь работать с ними и живите долго и счастливо.
2012-11-2116:07:02 Какой прошивающий софт умеет работать именно AT90USB162 по ISP? Может быть уже знаете подходящие программы?
microsin: наверняка будет прошивать оболочка программатора из AVR Studio с соответствующим программатором. Чтобы узнать, какие бывают программаторы для AVR, прогуглите запрос "Программаторы для AVR".
2012-11-2110:34:19 У меня похоже стерт bootloader - его надо восстановить с помощью ISP-программатора. Где можно почитать как именно прошивать AT90USB162 по ISP?
microsin: по прошивке по ISP микроконтроллер AT90USB162 ничем не отличается от других микроконтроллер ов AVR, поэтому см. документацию на Ваш ISP-программатор, и даташит на AT90USB162.
2011-12-2617:37:44 Где в Украине можно купить макетную плату AVR-USB162?
microsin: к сожалению, в Украине никто эту плату не продает. Возможна доставка Почтой России, по предоплате. Предлагаю общаться по email, см. Контакты.