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

 
 
> Общение по USB
Kruftin
сообщение Jul 25 2013, 05:12
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Здравствуйте!

Не подскажете как должно происходить подтверждение данных отправленных device устройством на хост.
Т.е. хост прислал запрос на дескриптор устройства, далее необходимо послать этот дескриптор. Так вот вопрос: хост отвечает ACK на каждый байт принятый от устройства или только на весь дескриптор?

Т.е. получил я от хоста 00 00 80 06 00 01 00 00 40, что по байтам мне ему послать, т.е. сразу начать посылку элементов дескриптора?

Сообщение отредактировал Kruftin - Jul 25 2013, 05:52
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kruftin
сообщение Jul 26 2013, 10:44
Сообщение #2


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

Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365



Т.е. получил я от хоста 00 00 80 06 00 01 00 00 40 этим хост запрашивает GET_DESCRIPTOR_DEVICE и указывает что хост хочет увидеть 0x40, т.е. 64 байта дескриптора. Дескриптор устройства + Дескриптор Конфигурации + Дескриптор строки не дадут 64 байта, хотя может это максимальный размер.
Ну т.е по логике после запроса хоста я просто сразу же кидаю ему все дескрипторы и после этого анализирую завершение транзакции и всё жду когда он определит моё устройство как флешку. Аппаратный анализатор наверно дорого стоит.
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jul 31 2013, 05:59
Сообщение #3


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

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Цитата(Kruftin @ Jul 26 2013, 14:44) *
Т.е. получил я от хоста 00 00 80 06 00 01 00 00 40 этим хост запрашивает GET_DESCRIPTOR_DEVICE и указывает что хост хочет увидеть 0x40, т.е. 64 байта дескриптора. Дескриптор устройства + Дескриптор Конфигурации + Дескриптор строки не дадут 64 байта, хотя может это максимальный размер.
Ну т.е по логике после запроса хоста я просто сразу же кидаю ему все дескрипторы и после этого анализирую завершение транзакции и всё жду когда он определит моё устройство как флешку. Аппаратный анализатор наверно дорого стоит.

Скорее хост передает 80 06 00 01 00 00 40 00. Он запрашивает только дескриптор устройства. Если control endpoint поддерживает 64-байтные пакеты, то устройство передает полностью пакет DESCRIPTOR_DEVICE (лишние байты в "0"). Если поддерживаются только 8-байтные пакеты, то после приема первых 8 байт хост знает размер дескриптора, рвет прием и заново запрашивает дескриптор уже нужного размера.
На каждый дескриптор хост будет посылать запрос.

Аппаратные анализаторы стоят от нескольких сотен до десятков тысяч $.

PS: Советую посмотреть примеры обмена по USB - многие вопросы отпадут. Либо поискать описание обмена так, либо скачать прогу для аппаратного анализатора и посмотреть примеры (для этого железка не нужна). Например тут.
Go to the top of the page
 
+Quote Post



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

 


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


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