Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.71/68: Рейтинг темы: голосов - 68, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 27.03.2012
Сообщений: 57
1

программный USB host

27.08.2013, 15:19. Просмотров 12899. Ответов 21
Метки нет (Все метки)

Решил повторить конструкцию отсюда http://www.asahi-net.or.jp/~qx5k-iskw/r ... #usbhost01,
но на atmega8. Связь с мышкой есть, могу прочитать vid-pid, но энумерация не проходит. Когда меняю адрес USB устройства с 0, например на 1, оно бодро отвечает, что все в порядке, но по новому адресу не откликается, совсем.
Может есть какие-то "подводные камни" которые я не учел?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2013, 15:19
Ответы с готовыми решениями:

Создание USB host для USB кейлоггера
В общем, я тут уже писал и мне "мягко" намекнули что мне нужен USB host для создания usb...

Поддержка USB Host
Добрый день. Передо мной стал вопрос: как определить наличие USB Host в том или ином...

F429+RTOS+HAL+USB Host
Всем доброго дня. Вопрос знатокам ртос. Уже долгое время не могу понять нескольких вещей. Значит у...

STM32 Использование 3G USB модемов (USB Host)
Никому не случалось использовать 3G модемы с библиотекой USB от STM ? С этими модемами такая...

21
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
27.08.2013, 16:17 2
Цитата Сообщение от imox
энумерация не проходит. Когда меняю адрес USB устройства с 0, например на 1, оно бодро отвечает, что все в порядке, но по новому адресу не откликается, совсем.
Вы не можете сами дать девайсу адрес, если не прошла энумерация. Пока сам хост этот адрес устройству не даст, оно по этому адресу и не будет откликаться. Всё правильно.
0
0 / 0 / 0
Регистрация: 27.03.2012
Сообщений: 57
27.08.2013, 16:35 3
Я сам хост и сам делаю энумерацию.
0
0 / 0 / 0
Регистрация: 27.03.2012
Сообщений: 57
27.08.2013, 16:53 4
Все, вопрос снимается, нашел мышь как на картинке и энумерация пошла.
0
0 / 0 / 0
Регистрация: 23.03.2012
Сообщений: 1,017
27.08.2013, 17:03 5
Ждем статью с кодом
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
27.08.2013, 17:56 6
Цитата Сообщение от imox
Я сам хост и сам делаю энумерацию.
Поясните, каким это образом Вы - хост.
По Вашей ссылке на японский сайт - проекты USB-девайсов, не хостов.
И на ATmega8 можно только девайс сделать (и то low-speed). Хост - ни за что не получится.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,515
27.08.2013, 18:07 7
Цитата Сообщение от OtyxPM
Цитата Сообщение от imox
Я сам хост и сам делаю энумерацию.
Поясните, каким это образом Вы - хост.
По Вашей ссылке на японский сайт - проекты USB-девайсов, не хостов.
И на ATmega8 можно только девайс сделать (и то low-speed). Хост - ни за что не получится.
если получается сделать софтовый физический уровень usb low speed, почему хост-то не получится, чем так принципиально от девайса отличается?
и по ссылке - таки хост.
вот еще
https://instruct1.cit.cornell.edu/cours ... index.html
0
MCSD: APP BUILDER
8786 / 1064 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
27.08.2013, 18:23 8
>>если получается сделать софтовый физический уровень usb low speed, почему хост-то не получится, чем так принципиально от девайса отличается?

В устройстве только-только обработка успевает проходить в обрез, хост-то гораздо сложнее. Неужели и это впихнули?
если это с мышкой работает - то там хост, безусловно, не устройство
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,515
27.08.2013, 18:41 9
Цитата Сообщение от Johmmy0007
В устройстве только-только обработка успевает проходить в обрез, хост-то гораздо сложнее. Неужели и это впихнули?
хосту наоборот проще, его никто когда-попало не дёргает, на то он и хост, соответственно если успеваешь ногодрыганием сделать физ уровень, (что там эти несчастные 1.5МБита, софтварный 10МБитный езернет есть, правда только на передачу, гуглить igorPlugUdp) то уж разгрести на более высоком уровне пакеты уже не проблема.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
27.08.2013, 18:48 10
Посмотрел реализацию... Да, формально это можно назвать хостом. Но, в силу аппаратных ограничений AVR - управление только одним девайсом, только low-speed, только Control или Ymtirrupt endpoint, и даже под конкретный класс устройства заточено. Фактически, реализовано управление мышкой (девайсом с очень низким трафиком), и только. Никаких Bulk-устройств, даже медленно, поддержать не получится.

В таком виде, конечно, можно реализовать специфический хост - сделать физический уровень просто как выдачу сигналов из константной таблицы.
Чудес не бывает :-(

Зато теперь понятно, почему у ТС оказались "не все мышки одинаково полезны": ;-)
Все, вопрос снимается, нашел мышь такого же цветакак на картинке и энумерация пошла.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,515
27.08.2013, 20:45 11
Цитата Сообщение от OtyxPM
Посмотрел реализацию... Да, формально это можно назвать хостом. Но, в силу аппаратных ограничений AVR - управление только одним девайсом, только low-speed, только Control или Ymtirrupt endpoint, и даже под конкретный класс устройства заточено. Фактически, реализовано управление мышкой (девайсом с очень низким трафиком), и только. Никаких Bulk-устройств, даже медленно, поддержать не получится.
а программно, ногодрыганием full speed на avr никак не сделать, хоть девайс хоть хост.
а isochronous и bulk вроде как на low speed и не должны вообще работать, согласно спецификации.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
27.08.2013, 21:05 12
Цитата Сообщение от _pv
а isochronous и bulk вроде как на low speed и не должны вообще работать, согласно спецификации.
Про bulk - это я к тому сказал, что никаких card-readerов не построить на таком """хосте""". Мышка - предел возможностей. Ну, ещё на клавиатуру можно замахнуться :-)
0
MCSD: APP BUILDER
8786 / 1064 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
27.08.2013, 21:26 13
А вообще интересно, чем нибудь ещё такая штука успевает заниматься - она ж должна постоянно пакеты слать, чтоб за мышкой следить. Какую -нибудь полезную работу мк ещё успеет сделать?
0
0 / 0 / 0
Регистрация: 08.05.2010
Сообщений: 298
29.08.2013, 19:22 14
Bulk-устройство тоже сделано уже
и USB микрофон тоже

вот USB флешка на AVR
http://we.iosyitistromyss.ru/AVR/usb-fl ... ystvu.html

микрофон USB
http://we.iosyitistromyss.ru/AVR/usb-mi ... lezka.html
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
29.08.2013, 19:29 15
Цитата Сообщение от sitivo
Bulk-устройство тоже сделано уже
Ключевое слово - устройство (divice). А мы про host говорим. О том, что программный хост на AVR получается настолько ограниченным, что bulk-транзакции поддерживать не сможет.

Цитата Сообщение от sitivo
и USB микрофон тоже
вот USB флешка на AVR
микрофон USB
И это всё - тоже USB-divices, а не hosts.
0
0 / 0 / 0
Регистрация: 08.05.2010
Сообщений: 298
29.08.2013, 19:32 16
главное bulk :)
0
MCSD: APP BUILDER
8786 / 1064 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
29.08.2013, 20:05 17
нет не главное, вы даже не поняли о чём речь
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,515
29.08.2013, 20:28 18
Цитата Сообщение от OtyxPM
О том, что программный хост на AVR получается настолько ограниченным, что bulk-транзакции поддерживать не сможет.
То что у того японца сделан физический уровень в виде тупого цикла
lpm
out PORTx, r0
то есть тупо перекладываем приготовленный пакет из флэша в порт и на приёме так же по байту на бит а потом разбираем, совсем не значит что нельзя сделать нормально, в vusb сделан же по-человечески физический уровень, какая разница что поверх него делать, bulk или control/interrupt? ну пакеты там до 64 байтов могут быть а не 8, не сильно большая разница, памяти поди хватит.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
29.08.2013, 21:01 19
Цитата Сообщение от _pv
... совсем не значит что нельзя сделать нормально, в vusb сделан же по-человечески физический уровень, какая разница что поверх него делать, bulk или control/interrupt? ну пакеты там до 64 байтов могут быть а не 8, не сильно большая разница, памяти поди хватит.
Даже если каким-то образом и получится поддерживать bulk-транзакции софтовым хостом (я просто предполагаю, со словом "даже если") - с кем такой хост будет общаться-то? Все реально существующие сегодня bulk-устройства будут вызывать в нём ступор. Можно, конечно, сделать специальный хост и специальный девайс - и вот в такой паре они наконец полюбят друг друга, даже на low-speed... Причём им даже точная тактовая частота не понадобится. А смысл в такой реализации?

Когда люди делают soft-divice, то расчитывают работать с настоящими хостами. А когда делается soft-host, то очевидно для работы с настоящим устройством, пусть не с любым, хоть с каким-нибудь. Ограниченный soft-host + ограниченный soft-divice - не вариант.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,515
29.08.2013, 22:33 20
Цитата Сообщение от OtyxPM
с кем такой хост будет общаться-то? Все реально существующие сегодня bulk-устройства будут вызывать в нём ступор. Можно, конечно, сделать специальный хост и специальный девайс - и вот в такой паре они наконец полюбят друг друга, даже на low-speed... Причём им даже точная тактовая частота не понадобится. А смысл в такой реализации?
ну если говорить о усбхосте в АВР, то единственное ради чего он вообще может быть интересен это mass storage. Мышки и клавиатуры и пс/пополамные найти можно.
А больше у меня фантазии не хватает, чего такого усб-специфичного можно еще к 8-ми битным контроллерам цеплять.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2013, 22:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Можно ли использовать USB мама-мама для получения USB-host?
В моем планшете не предусматривался разъем micro USB, однако есть функция поддержки OTG Есть...

usb 3.0 host controller
ноутбук Packard Bell Easynote LE69KB ос 7 х64 нужны оба PCI\VEN_1022&DEV_7814...

STM32F427 USB Host
Доброго времени суток. Пытаюсь сделать usb host, использую библиотеку STM32F4xx_HAL_Dryver,...

USB-host <-> Ethernet
Всем доброго вечера! Коллеги, подскажите, на чем можно собрать конструкцию следующего вида:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.