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

 
 
> Общение по 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 25 2013, 11:38
Сообщение #2


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

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



Я Агурова итак читаю. В процессоре имеется регистр передачи конечной точки, который вмещает один байт и глубиной 64 байта. Т.е. под пакетом как я понимаю и подразумевается посылка одного байта. Все данные передаются через нулевую конечную точку. И ещё вопрос должен ли USB сниффер ловить все передачи с устройства?

Распишу подробнее алгоритм:

1)включил usb контроллер
2)выставил в каждой конечной точке включение и готовность конечной точки к ответу на запрос
3)глобально разрешил работы конечных точек, задал скорость 1,5 Мбит/с
4)дождался выставления бита завершения транзакции, считал последовательно байты от хоста после каждого чтения дожидаясь выставления бита завершения транзакции.
5)после получения запроса - конфигурационного пакета начинаю посылать данные к хосту, пробовал послать и по 1 байту и несколько - безрезультатно.

Подскажите кто пользовался процессорами с USB какой там порядок посылки ответного дескриптора.
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jul 26 2013, 08:29
Сообщение #3


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

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



Цитата(Kruftin @ Jul 25 2013, 15:38) *
Я Агурова итак читаю. В процессоре имеется регистр передачи конечной точки, который вмещает один байт и глубиной 64 байта. Т.е. под пакетом как я понимаю и подразумевается посылка одного байта. Все данные передаются через нулевую конечную точку. И ещё вопрос должен ли USB сниффер ловить все передачи с устройства?

Распишу подробнее алгоритм:

1)включил usb контроллер
2)выставил в каждой конечной точке включение и готовность конечной точки к ответу на запрос
3)глобально разрешил работы конечных точек, задал скорость 1,5 Мбит/с
4)дождался выставления бита завершения транзакции, считал последовательно байты от хоста после каждого чтения дожидаясь выставления бита завершения транзакции.
5)после получения запроса - конфигурационного пакета начинаю посылать данные к хосту, пробовал послать и по 1 байту и несколько - безрезультатно.

Подскажите кто пользовался процессорами с USB какой там порядок посылки ответного дескриптора.

Для начала в каком "процессоре" имеется регистр передачи конечной точки? Нулевой эндпойнт размером от 8/64 байта обычно. Загрузка данных в очередь может происходить последовательно, но вот выдаются они на шину USB все разом.
По снифферу - они разные есть. Обычно ловят далеко не всё. Если много возни с USB устройствами желательно иметь аппаратный анализатор - включается в разрыв шины и ловит всё.

По алгоритму - данные хосту передаются только с запроса самого хоста. Хост всегда мастер (on the go и прочие надстройки не рассматриваем). Сначала, в процеесе энумерации, нужно правильно передать хосту все дескрипторы, а потом уже хостом требовать или посылать данные устройству. Причем посылать устройством нужно определенный размер данных (всё прописывается на этапе энумерации), иначе хост их проигнорирует.
Go to the top of the page
 
+Quote Post



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

 


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


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