Страница 1 из 2
USB AVR мышко
Добавлено: Пн сен 01, 2008 22:38:26
ArtemKuchin
Собрал самый простой AVR USB пример - мышь бегающая по кругу.
Оказалось допольно просто, если не забыть пул-ап резистор на 1.5К поставить на D-
вот видео:
http://www.youtube.com/watch?v=8UwtKPbtTWE
там есть сигнал с d- на осциллографе - инетересное зрелище.
Добавлено: Вт сен 02, 2008 10:51:40
regenerator
Пожалуйста, расскажите на словах, что это и зачем это надо.
Ютуб трфф жжот

Добавлено: Вт сен 02, 2008 16:16:06
ArtemKuchin
Есть такой проект USB AVR - он позвояет использовать AVR как USB устройства напрямую, без использования железного USB контроллера. Т.е. по сути просто кидаем D+ и D- с USB на ноги, например, обычной Atmega8, заливает прошивку и получаем какое-то USB устройство.
Минимаьлнйы пример - это мышка. Т.е. просто демка. когда устройства для винды представляется мышкой и двигает курсор по кругу. Просто демка, самая простая, так как не требует писать на винде свое ПО или драйвер.
Добавлено: Вт сен 02, 2008 16:55:34
regenerator
J!
Прикольно!
Щаз ф моде фсяки юэсби примочки.
На чём писал (хоть бы не асемблер

)? Какой МК?
Были планы замутить USB примочку на тини45, но блин побоялса мук с дровами.
А вы без дров! Откройте секрет. КАК? Без спец. микрухи.
Добавлено: Вт сен 02, 2008 17:33:56
Lakshmi
artemm писал(а):Есть такой проект USB AVR - он позвояет использовать AVR как USB устройства напрямую, без использования железного USB контроллера.
Я там видел такие проекты
http://avrusb.narod.ru
Добавлено: Вт сен 02, 2008 18:18:21
regenerator
Апять на иностранщину сцылка

Добавлено: Вт сен 02, 2008 22:18:48
ArtemKuchin
regenerator писал(а):J!
Прикольно!
Щаз ф моде фсяки юэсби примочки.
На чём писал (хоть бы не асемблер

)? Какой МК?
Были планы замутить USB примочку на тини45, но блин побоялса мук с дровами.
А вы без дров! Откройте секрет. КАК? Без спец. микрухи.
Эх, вы невнимательны. И так поехали подробно. В данном проекте моей заслуги ЗЕРО.
1) МК - Atmega8 на 16MHZ
2) ПО - это базовый, самый просто пример из проекта AVRUSB, который бесплатный и открытый и находится по адресу
http://www.obdev.at/products/avrusb/index.html
И, разумеется, это буржйский проект на англиском языце. Без знания языке нынче в электронике никуда.
3) Принцип просто, на ногу INT0 сажается D- и на таймерную, кажись, ногу сажается D+. И делается дравер, который очень быстро и часто снимает показаения с этих ног или отправляет чего на них. Зная протокол ничего хитрого нет, просто надо очень точно тайминги делать. Все это уже сделано в прошивке и остается только изучить API и правильно сконфигугировать при компиляции. Разумеется почти вся мошь МК уходит на работу с УСБ, причем максимальная скорость около 5КБ в сек, на большее скорости МК не хватает, но для HID устройств или если скорость не важна этого хватает.
Добавлено: Ср сен 03, 2008 04:34:42
WildCat
немножко офф:
органиовывал одну примочку, работала она по пс/2, ибо тини usb не тянула, да и не нал толком про это ничего. так вот при подключении к пк она эмуировала нажатме клавиши ф1 с килогерцовой частотой) понятно, что тысячи окон справки ни одна машина не осиливала и наглухо висла. так вот чтобы хоть примерно ощутить этот ужас, попробуйте одновременно нажать клавиши win+E и удерживать хотя бы 5 секунд,особенно красочно это происходит в win98)
Добавлено: Ср сен 03, 2008 10:16:13
BerZerK-ku
artemm писал(а):И делается дравер, который очень быстро и часто снимает показаения
Снимает показания по мере необходимости - по срабатыванию внешнего прерывания.
artemm писал(а):Разумеется почти вся мошь МК уходит на работу с УСБ, причем максимальная скорость около 5КБ в сек, на большее скорости МК не хватает, но для HID устройств или если скорость не важна этого хватает.
А вот тут
http://www.recursion.jp/avrcdc/ говорится что на Меге8 скорость получают до 38400.
Добавлено: Ср сен 03, 2008 13:19:16
ArtemKuchin
какая-то нехорошая схема по укзанной ссылке. В первой ссылке он питает все от 5В - падение напряжения на светодиоде. А это больше, чем 3.3В на D линиях, что нехорошо.
Во второй схеме он питает все от 5В-падение напряжения на последвательных диодах, т.е. примерно 3.4-3.6 получается, но тогда на ком-порте тоже сигналы в этом диапазона, что нехорошо, так как вообще на коме сигнал это 5В.
Лучше на стабилитронах схему использовать.
Добавлено: Ср сен 03, 2008 16:11:50
BerZerK-ku
У меня к вам вопрос есть: компилировали под gcc или IAR?
Просто у меня IAR ругается на эти строки файла usbdrvasm.S, а точнее на usbInterruptHandler, может вы что подсажете:
Код: Выделить всё
COMMON INTVEC
# ifndef USB_INTR_VECTOR
ORG INT0_vect
# else /* USB_INTR_VECTOR */
ORG USB_INTR_VECTOR
# undef USB_INTR_VECTOR
# endif /* USB_INTR_VECTOR */
# define USB_INTR_VECTOR usbInterruptHandler
rjmp USB_INTR_VECTOR
RSEG CODE
Добавлено: Ср сен 03, 2008 18:24:40
ArtemKuchin
IAR вроде как очень платный же? Я хакнутыми инструментами не пользуюсь - себе дороже со временем выходит.
Все под gcc. Там простой make все собирает без затыков.
Причем под виндой!
Добавлено: Ср сен 03, 2008 18:28:30
BerZerK-ku
Ну к IAR пока притензий небыло.
А вот на счет простого make... мне не удалось с полпинка понять как же эта штука работает, непривычно все и странно после IAR.
Добавлено: Ср сен 03, 2008 19:05:36
ФД263 01
Да так можно аппаратный клавиатурный шпион сделать. Или страшный прикол - смотришь, мышка сама ползет к "управлению" - "удалить раздел ?" - "Ок" - и прощайте гигабайты порнухи на диске "D"
На самом деле интересно, заставить работать USB. Вот например с помошью контроллера соединить голубозубый адаптер и WEB- камеру.
Добавлено: Ср сен 03, 2008 19:17:36
Gigavolt
Я вот вчера подключил джойстик соньковский к юсб.Делал по схеме из "Радио",статья С.Рюмика.Нормально пашет!Неплохая альтернатива покупным,особенно если мега 8 и джойстики от сони дома завалялись

Добавлено: Ср сен 03, 2008 19:18:42
ФД263 01
А номер/год можно?
Добавлено: Ср сен 03, 2008 20:21:06
Gigavolt
"Радио" №1 2007г,стр28-31.
Добавлено: Вт сен 09, 2008 21:12:07
MetEl
ктонить могет сказать, как определяется что наступил следующий байт, по USB?
Добавлено: Ср сен 10, 2008 10:45:47
ArtemKuchin
MetEl писал(а):ктонить могет сказать, как определяется что наступил следующий байт, по USB?
Я не понял. Это вопрос по API AVR USB или по протоколу USB?
И в том и в другом случае - см документацию. Если по AVR USB - то там хорошие примеры есть. А в голом протоколе черт ногу сломит, если честно.
Добавлено: Ср сен 10, 2008 11:07:27
MetEl
ну как же так???
ведь не чёрт его придумал.
Пишут и с программной реализацией, на М8(джойстик, адаптер от пульта для радиомоделек) или М32(клава).