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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Хаб на 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
aaarrr
сообщение Sep 27 2011, 14:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(stalko @ Sep 27 2011, 18:45) *
AT90USB прикидывается USB-хабом...

AT90USB хабом ни быть ни "прикидываться" не может. Да и зачем это нужно, если есть нормальные хабы?
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 27 2011, 14:59
Сообщение #3


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

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



Цитата(aaarrr @ Sep 27 2011, 17:50) *
AT90USB хабом ни быть ни "прикидываться" не может. Да и зачем это нужно, если есть нормальные хабы?

Кто сказал, что не может? Хаб такое же USB-устройство. как и все, имеет свой тип устройства (боюсь соврать 09h)
Только вчера видел реализацию хаба на контроллере (правда, cypress-е)...
Нужно это для уменьшения стоимости платы. Для возможности "подписать" все устройства вендорами фирмы. Для более гибкой реализации. Для того, чтоб не покупать HID-овый трекбол.
Плюс, найти LS-хаб, не снятый с производства не представилось возможным.
P.S. Кажется, я Вас понял. Не совсем корректно выразил мысль, вероятно. Мне НЕ нужно собирать данные с 4-х USB устройств и прикидываться хабом. Я просто сканирую клавиатуру, обрабатываю трекбол и датчики... и ЭМУЛИРУЮ, якобы это 4 устройства. А реально USB-устройство одно (ХАБ), который сам себе создает пакеты от этих виртуальных устройств.
P.P.S. Был бы класс устройств, который позволял "запихать" все в один класс устройств USB, да так, чтоб все как HID-ы понимались... Не надо бы было никем прикидываться... Было б одно чудное мегаустройство... Но, это из области фантазий.

Сообщение отредактировал stalko - Sep 27 2011, 15:09
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 27 2011, 15:23
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(stalko @ Sep 27 2011, 18:59) *
Хаб такое же USB-устройство. как и все, имеет свой тип устройства (боюсь соврать 09h)

Нет, не такое же. Из обычного (как в меге) device сделать hub не получится никак. Можно сделать устройство, которое будет определяться как хаб, но работать при этом оно не будет.

Цитата(stalko @ Sep 27 2011, 18:59) *
Только вчера видел реализацию хаба на контроллере (правда, cypress-е)...

Ссылку можно?

Цитата(stalko @ Sep 27 2011, 18:59) *
Нужно это для уменьшения стоимости платы. Для возможности "подписать" все устройства вендорами фирмы. Для более гибкой реализации. Для того, чтоб не покупать HID-овый трекбол.

Так опишите подробно, что и как нужно подключить. Из первого сообщения можно сделать вывод, что есть два стандартных USB-устройства + нестандартная клавиатура и некий набор датчиков, про интерфейс которых ничего не сказано. Тут уж просто напрашивается использование готового хаба, к которому подключены клавиатура, трекбол и какой-нибудь МК со всем остальным.

Цитата(stalko @ Sep 27 2011, 18:59) *
Плюс, найти LS-хаб, не снятый с производства не представилось возможным.

А зачем именно LS, если можно FS?

Цитата(stalko @ Sep 27 2011, 18:59) *
P.S. Кажется, я Вас понял. Не совсем корректно выразил мысль, вероятно. Мне НЕ нужно собирать данные с 4-х USB устройств и прикидываться хабом. Я просто сканирую клавиатуру, обрабатываю трекбол и датчики... и ЭМУЛИРУЮ, якобы это 4 устройства. А реально USB-устройство одно (ХАБ), который сам себе создает пакеты от этих виртуальных устройств.

Тогда нужен не хаб, а просто составное устройство. Только вот endpoint'ов у меги, боюсь, может не хватить на все это хозяйство.
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 27 2011, 15:30
Сообщение #5


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

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



Цитата(aaarrr @ Sep 27 2011, 18:17) *
Нет, не такое же. Из обычного (как в меге) device сделать hub не получится никак. Можно сделать устройство, которое будет определяться как хаб, но работать при этом оно не будет.

Так, почитаю дальше... как раз сегодня дочитал до хабов.... завтра продолжу, может пойму, почему НЕЛЬЗЯ....
Цитата(aaarrr @ Sep 27 2011, 18:17) *
Ссылку можно?

К моему несчастью нельзя. Я видел железку живьем, произведенную нашими коллегами из дружественной фирмы. Так же видел схему на оное устройство... правда, недолго...
Цитата(aaarrr @ Sep 27 2011, 18:17) *
Так опишите подробно, что и как нужно подключить. Из первого сообщения можно сделать вывод, что есть два стандартных USB-устройства + нестандартная клавиатура и некий набор датчиков, про интерфейс которых ничего не сказано. Тут уж просто напрашивается использование готового хаба, к которому подключены клавиатура, трекбол и какой-нибудь МК со всем остальным.

Как оно сейчас... HID-клава (поставил микруху HID-клавы, которую того гляди с производства снимут)+HID-трекбол (покупной)+клавиатура НЕ стандартная + датчики... Сейчас два последних пункта собираются 325-й мегой, перемолачиваются и засылаются по UART на CP2102, где становятся USB. Естественно VCM-ом... Страшно, медленно и неудобно потом все это собирается воедино одним программистом, который еще и уволился, оставив за собой код, в коем невозможно ничего разобрать...
Что за данные... Ну, с нестандарной клавы можно слать нестандартные скан-коды, кто мешает? А датчики... 8 штук, каждый хочет передавать слово данных... когда спросят... ничего сверхестественного...
Цитата(aaarrr @ Sep 27 2011, 18:17) *
А зачем именно LS, если можно FS?

Таки можно и FS... но и те медленно сползают с производства. На сцену выходят HS... Вот скажите, зачем мне HS на две клавы и мыша? biggrin.gif Которые еще и весьма прожорливы, кстати...
Цитата(aaarrr @ Sep 27 2011, 18:23) *
Тогда нужен не хаб, а просто составное устройство. Только вот endpoint'ов у меги, боюсь, может не хватить на все это хозяйство.

Угу... с составного устройства я и начал свои размышления... не так давно... но... НЕ ХВАТИТ!!

Хотя... Клаве и треку нужны IN и OUT... а... нестандартную клаву... можно впихнуть в пакет данных с датчиками... все равно программисты на PC будут разбирать... ну неудобно, а кому легко? Как раз набирается 6 endpoint-ов!!! Под завязку.
0-й же, как я понимаю, в этих 6 не учитывается, он же особый?

Сообщение отредактировал stalko - Sep 27 2011, 15:37
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 27 2011, 15:36
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(stalko @ Sep 27 2011, 19:30) *
Так, почитаю дальше... как раз сегодня дочитал до хабов.... завтра продолжу, может пойму, почему НЕЛЬЗЯ....

Хотя бы потому, что устройствам, подключенным к хабу, хост дает разные адреса. А "обычное" устройство по определению имеет только один.

Цитата(stalko @ Sep 27 2011, 19:30) *
Как оно сейчас... HID-клава (поставил микруху HID-клавы, которую того гляди с производства снимут)+HID-трекбол (покупной)+клавиатура НЕ стандартная + датчики... Сейчас два последних пункта собираются 325-й мегой, перемолачиваются и засылаются по UART на CP2102, где становятся USB. Естественно VCM-ом... Страшно, медленно и неудобно потом все это собирается воедино одним программистом, который еще и уволился, оставив за собой код, в коем невозможно ничего разобрать...
Что за данные... Ну, с нестандарной клавы можно слать нестандартные скан-коды, кто мешает? А датчики... 8 штук, каждый хочет передавать слово данных... когда спросят... ничего сверхестественного...

Тогда можно выкинуть микруху HID-клавы, найти не-HID трекбол и нагородить составное устройство. Только контроллер выбрать с USB "потолще".

Цитата(stalko @ Sep 27 2011, 19:30) *
Таки можно и FS... но и те медленно сползают с производства.

Ну, пока производятся еще.
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 27 2011, 15:44
Сообщение #7


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

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



Цитата(aaarrr @ Sep 27 2011, 18:36) *
Хотя бы потому, что устройствам, подключенным к хабу, хост дает разные адреса. А "обычное" устройство по определению имеет только один.

Ну, ЭТО то понятно... кто мешает разбирать всю эту кашу вручную? rolleyes.gif Когда не выходит нормально, остается только через жо... разные места... Я уже морально подготовился даже к этому... "бешеной собаке километр не крюк" biggrin.gif
Цитата(aaarrr @ Sep 27 2011, 18:36) *
Тогда можно выкинуть микруху HID-клавы, найти не-HID трекбол и нагородить составное устройство. Только контроллер выбрать с USB "потолще".

Микру УЖЕ выкинул, трекбол УЖЕ нашел (на радость начальника, он сразу оценил разницу в цене...) Рядом уже лежит два выцарапанных семпла AT90USB1287.
Цитата(aaarrr @ Sep 27 2011, 18:36) *
Ну, пока производятся еще.

Ну, в том же атмеле они все болтаются в NRND... Вроде бы... А это как красная тряпка для моего начальника... он, вообще считает, что микросхемы старше пяти лет использовать нельзя... Пример с 74-й серией его нисколько не убедил...
Да и некрасиво как-то... неужто мощный зверюга может тока клаву опрашивать, да 8 датчиков? Простой производственных мощностей laughing.gif

P.S.Все, думаю, вопрос можно считать закрытым. Спасибо огромное!! Простая мысль о том, что 20 нестандартных кнопочек можно представить как 9-й "странный" датчик позволяет впихнуть все в 3 устройства и обойтись 6-ю эндпойнтами. Значит, завтра начну творить. Думаю, составное устройство не намного сложнее просто одиночного?
P.P.S. Подметил: стоит задать дурацкий вопрос и обсудить, как тут же понимаешь, что все не так и сложно на самом деле biggrin.gif

Сообщение отредактировал stalko - Sep 27 2011, 16:05
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 27 2011, 16:04
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(stalko @ Sep 27 2011, 19:44) *
Ну, ЭТО то понятно... кто мешает разбирать всю эту кашу вручную? rolleyes.gif Когда не выходит нормально, остается только через жо... разные места... Я уже морально подготовился даже к этому... "бешеной собаке километр не крюк" biggrin.gif

Железо в первую очередь помешает, т.к. пакеты не со своим адресом принять и отправить не получится.

Цитата(stalko @ Sep 27 2011, 19:44) *
Рядом уже лежит два выцарапанных семпла AT90USB1287.

Вот эти сэмплы бы заменить на что-нибудь с большим числом EPs, и было бы счастье.

Цитата(stalko @ Sep 27 2011, 19:44) *
Ну, в том же атмеле они все болтаются в NRND... Вроде бы... А это как красная тряпка для моего начальника... он, вообще считает, что микросхемы старше пяти лет использовать нельзя... Пример с 74-й серией его нисколько не убедил...

Например, TUSB2046B-Q1 от TI вполне себе ACTIVE. А начальник ваш по-своему прав.
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 27 2011, 16:11
Сообщение #9


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

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



Цитата(aaarrr @ Sep 27 2011, 19:04) *
Железо в первую очередь помешает, т.к. пакеты не со своим адресом принять и отправить не получится.

Спорить не стану, ибо не большой спец вопросах USB. Век живи, век учись... а дураком помрешь, как говорила моя бабушка.
Я-то по наивности душевной думал, что все низшие уровни ползут вверх инкапсулированные в пакеты данных... Сейчас подумав, понимаю, что это была странная мысль... На будущее учту... надо все же дочитать про работу хабов завтра...
Цитата(aaarrr @ Sep 27 2011, 19:04) *
Вот эти сэмплы бы заменить на что-нибудь с большим числом EPs, и было бы счастье.

Ну, так я уже высказал идею слияния двух последних устройств в одно. Дальше уже работа программистов на PC их разделить...
Ничего жирнее у Атмела не нашлось crying.gif
Цитата(aaarrr @ Sep 27 2011, 19:04) *
Например, TUSB2046B-Q1 от TI вполне себе ACTIVE. А начальник ваш по-своему прав.

Техас не смотрел... Вещи делают неплохие... но даташиты зачастую отвратные лепят... с годами нелюбовь к ним развилась... А они теперь после покупки Нешнл Семикондакторз вообще много нового думаю представят... под своем маркой...
По своему-то он, конечно, прав... Да не такие уж объемы производства, чтоб запасов на наших складах не хватило лет на 10... А из "старенького" у многих фирм есть замечательные вкусности... аналогов которых не найдешь сейчас...
P.S. У сайлаба есть C8051F380-GDI и C8051T620/621/320/321/322/323 с восьмью эндпойнтами... Надо подумать... Давно под 51-е ядро не писал rolleyes.gif

P.P.S. Первый восторг от своей гениальности прошел... и пришло понимание, что для 3-х устройств 6-ти EP мне хватит только на булки... Ну, без Interrupt с клавиатурой я как-нибедь да переживу, пожалуй... а вот без контролов... Снова нужна консультация со стороны спецов. Получится таки обойтись архитектурой 2EP на устройство?

Сообщение отредактировал stalko - Sep 27 2011, 17:55
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 27 2011, 18:05
Сообщение #10


Гуру
******

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



Цитата(stalko @ Sep 27 2011, 17:45) *
Есть устройство, объединяющее в себе:
- Клавиатуру стандартную PC
- Трекбол стандартный
- Клавиатуру НЕстандартную, с дополнительными клавишами, НИКАК не вписывающимися в виндовое понимание задач клавиатуры
- Набор датчиков
Все это хочется объединить в HID-овое устройство.
Как это видится: AT90USB прикидывается USB-хабом,


Не нужен вам хаб. Реализуйте обычное устройство с несколькими интерфейсами. Хватило бы только вашему МК конечных точек ...
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 27 2011, 18:18
Сообщение #11


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

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



Цитата(kovigor @ Sep 27 2011, 21:05) *
Не нужен вам хаб. Реализуйте обычное устройство с несколькими интерфейсами. Хватило бы только вашему МК конечных точек ...

Ага... это я уже осознал... Но, спасибо, что откликнулись! Осталось понять хватит ли мне 6 EP на три устройства... Что-то я окончательно затупил wacko.gif
Устройства такие: клава HID, трекбол HID, данные с датчиков (один из них - допклава) HID.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 27 2011, 19:24
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(stalko @ Sep 27 2011, 22:18) *
Осталось понять хватит ли мне 6 EP на три устройства... Что-то я окончательно затупил wacko.gif

Поставьте xmega - 32 точки за глаза хватит sm.gif
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 27 2011, 19:42
Сообщение #13


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

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



Цитата(aaarrr @ Sep 27 2011, 22:24) *
Поставьте xmega - 32 точки за глаза хватит sm.gif

"Яка кака намалевана!" (с)перто.
Даже аппаратный декодер квадратурный есть... надо завтра прочитать на свежую голову! Спасибо, я давно на XMEGA краем глаза смотрел, да все не решался... Надеюсь JTAG и AVR Studio менять не придется?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 27 2011, 19:52
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(stalko @ Sep 27 2011, 23:42) *
Надеюсь JTAG и AVR Studio менять не придется?

Вот уж чего не знаю - того не знаю. Еще у microchip'а есть изделия с кучей EPs.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Sep 27 2011, 19:54
Сообщение #15


Знающий
****

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



Цитата(kovigor @ Sep 27 2011, 22:05) *
Не нужен вам хаб. Реализуйте обычное устройство с несколькими интерфейсами. Хватило бы только вашему МК конечных точек ...

Если делать через HID, то можно вообще обойтись только одной EP - 0-й. Все InterruptIn и InterruptOut репорты от всех HID интерфейсов этого составного устройства автоматически перетранслируются в запросы к 0-й EP. Я когда то экспериментировал - составной HID вообще только с одной 0-й EP работать может.
Go to the top of the page
 
+Quote Post

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

 


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


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