Макетная плата AVR-USB-TINY45 позволяет разрабатывать на основе микроконтроллера ATtiny45 (или ATtiny85) и открытой библиотеки V-USB (старое название AVR-USB, см. Википедию) простые и маленькие USB-устройства.
Размеры платы с макетным полем 42.4 x 12.3 мм, без макетного
поля 23.4 x 12.3 мм (для уменьшения размеров макетное поле можно
отрезать). Толщина платы вместе с монтажом 11.5 мм (определяется самым
высоким элементом на плате - ISP коннектором, он выступает
над поверхностью TOP платы на 9 мм).
На плате есть необходимый минимум для макетирования и отладки - разведено макетное поле и разъем ISP для программирования микроконтроллера ATtiny45. Плата спроектирована таким образом, что по окончании разработки ненужные части платы (USB-коннектор, коннектор ISP, и даже макетное поле) можно обрезать, уменьшив тем самым габариты устройства.
Хороший пример использования макетной платы AVR-USB-TINY45 - USB-устройство, которое работает как USB-HID клавиатура и посылает время от времени случайные нажатия. Незаметно вставив такое устройство в порт USB, можно неплохо над кем-нибудь подшутить (если что, я этого Вам не советовал =).
Код и схема взяты отсюда - Haunted USB Cable, http://imakeprojects.com/Projects/haunted-usb-cable/, идея здесь - http://macetech.com/blog/?q=node/46. Исходный код и прошивку, слегка подправленную мной (я увеличил скорость выдачи случайных нажатий) можно также скачать здесь - http://microsin.ru/Download.cnt/avr/081220haunted-usb-1.0-tiny45-public.rar.
[Как заказать]
Если хотите приобрести пустую макетную плату AVR-USB-TINY45, отправьте мне email (адрес см. на страничке Контакты), или оставьте комментарий ниже, указав контакты для связи с Вами (email, ICQ или телефон). Если Вы находитесь не в Москве, возможна пересылка наложенным платежом. Стоимость одной пустой макетной платы без пересылки составляет 100 руб. (внимание: это только пустая плата, без монтажа и деталей), готовая полностью собранная плата стоит 250 руб. Стоимость почтовой пересылки около 180 руб. (точная цена пересылки может колебаться в зависимости от места проживания). При пересылке её стоимость складывается со стоимостью платы. Например, пустая макетная плата AVR-USB-TINY45 вместе с пересылкой Вам обойдется примерно 280 руб.
[Ссылки]
1. Макетная плата AVR-USB-MEGA16.
2. http://www.obdev.at/products/avrusb/projects.html - здесь можно найти много интересного, связанного с разработкой USB-устройств на основе библиотеки AVR-USB.
3. Автокликер (устройство, которое эмулирует мышь). В автокликере используется другой микроконтроллер - ATtiny2313, фьюзы для него FUSE_L = 0xEF, FUSE_H = 0xDB.
4. Код и схема Haunted USB Cable. Моя версия - http://microsin.ru/Download.cnt/avr/081220haunted-usb-1.0-tiny45-public.rar. Используется микроконтроллер - ATtiny45 (можно использовать ATtiny85), фьюзы для него FUSE_L = 0xD1, FUSE_H = 0xDD.
5. Keyboard Scan Code Specification (скан-коды обычных и USB-клавиатур).
6. Как портировать проекты V-USB с ATmega16 (ATmega32) на ATtiny45 (ATtiny85).
|
Комментарии
2014-03-1018:35:33 Столкнулся также с проблемой сброса микроконтроллер а после перезагрузки компа. После перезагрузки устройство не определяется.
microsin: эта тема уже поднималась. Для поддержки перезагрузки нужно дорабатывать как прошивку, так и аппаратуру устройства USB.
2013-02-1305:41:24 У Вас еще можно заказать плату? А то я Вам на ICQ писал, так ответа и не дождался.
microsin: лучше пишите на email, это надежнее (см. Контакты).
2012-12-1902:10:28 Заработал software UART, но лишь при F_CPU=8000000. Возможно ли при такой частоте использовать библиотеки V-USB на attiny85? По сути мне нужно связать две платы AVR-USB-TINY85, воткнутые в USB порты разных компов.
microsin: то, что у Вас код software UART заработал при F_CPU=8000000, ничего удивительного - код software UART жестко привязан к частоте процессора. Библиотека V-USB на такой частоте работать не будет. Чтобы выполнить Вашу задачу, используйте готовый проект AVR CDC, про который я уже упоминал. Не забывайте про необходимость оптронной развязки, так как межу шасси компьютеров может быть очень высокое напряжение.
2012-12-1800:59:43 А кому-нибудь доводилось поднимать программный UART на Attiny85? Мучаюсь с этим кодом (гуглить: "Программный UART для любого микроконтроллер а"), но без толку. Ресивер показывает, что отправляются лишь 0xFF вместо каждого байта. Выставил F_CPU=16500000, остальное не трогал, только перекомпилирова л под attiny85.
microsin: для программного UART важен выбор тактовой частоты. Идеальный вариант - подключение внешнего кварца, либо синхронизация (автоподстройка частоты по внешнему сигналу). Если выставить частоту неточно, или неправильно, то программный UART либо вообще не будет работать, либо будет глючить, либо будет (кое-как) работать только на малых скоростях приема и передачи. Надежность работы также будет зависеть от настроек оптимизации и версии компилятора (!), потому что это влияет на время обработки кода. Так что не удивляйтесь, что у Вас ничего не получается - очень легко ошибиться с настройкой или программной реализацией. Для кристалла ATtiny45 (или ATtiny85) намного интересней в плане связи с компьютером и/или отладки может оказаться виртуальный USB COM-порт, который работает надежно и стабильно (гуглить: "AVR-CDC: виртуальный COM-порт"). Все потому, что тактовая частота в этом проекте сверяется с высокоточной частотой следования импульсов начала фрейма USB (SOF, Start Of Frame), следующих с частотой 1000 Гц. Поэтому с помощью ФАПЧ и подстройки частоты значение тактовой 16.5 МГц получается очень точным. То, что Вы там что-то и как-то нахаляву выставили, еще не говорит о том, что оно будет работать так, как Вы хотите. Пока не позаботитесь об этом - либо не сделаете синхронизацию/автоподстройку ФАПЧ, либо не подберете тактовую частоту под нужную скорость UART, либо пока не подберете компилятор или его настройки, либо пока не настроите точно время выполнения кода, либо пока не ограничитесь малой скоростью UART. Сплошные либо Пока не поработаете руками и головой, ничего не добьетесь.
2012-02-2313:18:34 Столкнулся также с проблемой сброса микроконтроллер а после перезагрузки компа. Т.к. устройство не определяется. Придумал такое решение http://obruboff.ru/no-detect-usb-tiny-device-after-reboot-problem/
2011-12-1220:45:11 Получается что микросхема пустая с завода приходит, а потом прошивка нужная заливается? Хочется на базе этих микросхем дом автоматизироват ь. А что за порт ISP а что за порт ISP и как его собрать?
microsin: некоторые микросхемы (например AT90USB162, AT90USB647, которые стоят на макетных платах AVR-USB162, USERIAL) приходят с завода Atmel прямо с прописанным USB-загрузчиком. В некоторые, которые приходят без загрузчика, я прописываю загрузчик сам (например, ATmega32A, ATmega328 которые стоят на макетных платах AVR-USB-MEGA16, METABOARD). Загрузчик (бутлоадер) записывается в верхние (старшие) адреса памяти чипа, и при записи программы пользователя через загрузчик сам загрузчик не стирается, и доступен для многократного использования. ISP расшифровываетс я In System Programming, т. е. "программировани е в собранной системе". Порт ISP нужен для программировани е памяти и фьюзов чипа с помощью внешнего программатора. Подробности по поводу ISP можете получить в даташите на нужный микроконтроллер .
2011-10-2701:35:06 Возможна ли прошивка контроллера по USB?
microsin: можно прошивать только по ISP и debugWire (оба способа через коннектор ISP). Через USB прошивать нельзя, так как готового загрузчика (bootloader) для чипа ATtiny нет, и архитектура этого чипа вообще загрузчик не предусматривает (нет секции бутлоадера, в отличие от чипов ATmega16 и ATmega32, например). Теоретически такой USB бутлоадер сделать все равно можно, однако программа пользователя (которая работает в памяти и будет загружена по USB) должна поддерживать его наличие.
2011-09-0709:04:42 Подскажите пожалуйста как адаптировать программу Haunted USB Cable под ATTiny85, просто изменить в проекте? При таком варианте компилируется с предупреждением .
microsin: нужно в makefile проекта поменять DEVICE = attiny45 на DEVICE = attiny85, сделать make clean и make hex.
2011-08-1216:04:37 А хватит ли памяти в ATtiny25?
microsin: для USB-приложений памяти ATtiny25 недостаточно. Используйте ATtiny45 и ATtiny85.
2011-03-0415:07:53 Классная штука!!! А как добавить эмуляцию нажатия русских и латинских букв?
microsin: нужно передавать сканкоды клавиш нажатия переключения раскладки, например Alt + Shift. Само собой, какие сканкоды передавать, зависит от того, какие кнопки для переключения раскладки назначены в Windows.