реклама на сайте
подробности

 
 
> Хаб на AT90USB
stalko
сообщение Sep 27 2011, 14:45
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



Всем приятнейшего времени суток (хотя до пятницы еще и далеко).
Надоело пользовать для USB всякие так FTDI-ки да CP2102... Захотелось чего-то чистого и светлого, например, ЧИСТОГО USB. По привычке взглянул на AT90USB. Документацию сейчас читаю, так что, может, найду ответы на свои вопросы и сам, но чуть позже, а сейчас хочу услышать мнение профессионалов. Итак, к делу. Задача... Есть устройство, объединяющее в себе:
- Клавиатуру стандартную PC
- Трекбол стандартный
- Клавиатуру НЕстандартную, с дополнительными клавишами, НИКАК не вписывающимися в виндовое понимание задач клавиатуры
- Набор датчиков
Все это хочется объединить в HID-овое устройство.
Как это видится: AT90USB прикидывается USB-хабом, собирает данные с этих четырех устройств, и скидывает так, чтоб винда считала, что они висят на этом самом хабе и никаким образом не эмулируются. Скорости везде Low Speed, мощностей контроллера должно хватить. Но... что-то меня подсознательно смущает. Потому хочу быть либо поддержанным и обсоветованным, как это проще и правильнее реализовать, либо искритикованным вдрызг. Одна оговорка: хотелось бы все таки слышать мнение от людей, которые хорошо знакомы с кристаллом, USB и HID. laughing.gif
P.S. Есть мысль запихать нестандартную клаву в стандартную, расширив набор сканкодов. Но пока не совсем представляю, сможет ли прикладная программа на компе их тогда выковырять... Не получится ли так, что Win не поняв сканов, просто их выкинет на помойку?
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 18)
stalko
сообщение Sep 27 2011, 19:56
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



Цитата(galjoen @ Sep 27 2011, 22:54) *
Если делать через HID, то можно вообще обойтись только одной EP - 0-й. Все InterruptIn и InterruptOut репорты от всех HID интерфейсов этого составного устройства автоматически перетранслируются в запросы к 0-й EP. Я когда то экспериментировал - составной HID вообще только с одной 0-й EP работать может.

Таки HID и нужен... только мысль не осознал... Как это используется 0-й, тем более для всех?
Go to the top of the page
 
+Quote Post
galjoen
сообщение Sep 27 2011, 20:15
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(stalko @ Sep 27 2011, 23:56) *
Таки HID и нужен... только мысль не осознал... Как это используется 0-й, тем более для всех?

Если у HID объявить Get(Set)Report, а ни одной InterruptIn(Out) EP не объявлять, то там запросы с определёнными SETUP пакетами в EP0 начинают приходить. В этих SETUP пакетах в поле bmRequestType - тип Класс получатель Интерфейс, в поле wIndex - N интерфейса, а в поле bRequest - числа 1 и 9 соответственно, кажется (цифры точно не помню - давно было). Вот эти то запросы обрабатывать нужно и всё. Т.е. принимать и отправлять данные через 0-ю EP при приходе соотв-х SETUP пакетов.
Да проще проэкспериментировать и сниффером посмотреть что там к EP0 появится.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 28 2011, 08:26
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(stalko @ Sep 27 2011, 21:18) *
Ага... это я уже осознал... Но, спасибо, что откликнулись! Осталось понять хватит ли мне 6 EP на три устройства... Что-то я окончательно затупил wacko.gif
Устройства такие: клава HID, трекбол HID, данные с датчиков (один из них - допклава) HID.


По точке на интерфейс. Должно хватить ...
Go to the top of the page
 
+Quote Post
stalko
сообщение Nov 1 2011, 09:31
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



Цитата(kovigor @ Sep 28 2011, 11:26) *
По точке на интерфейс. Должно хватить ...

Ну это, предположим, для трекбола. Там только IN-ы. Ну, для датчиков - то же самое. А у обеих клав (включая стандартную) есть еще OUT-ы (ну, хотя бы для зажигания светодиодов, Num Lock и остальные Lock-и)...
А вот насчет передачи/приема ВСЕГО через нулевой ендпойнт - это мысль интересная... Уже месяц прошел, начальник торопил с началом темы, а сам все меня же затягивает... бумагами завалил...
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 01:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01306 секунд с 7
ELECTRONIX ©2004-2016