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

 
 
 
Reply to this topicStart new topic
> Два вопроса по USB
PAB
сообщение May 3 2006, 08:03
Сообщение #1


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

Группа: Свой
Сообщений: 86
Регистрация: 3-05-06
Пользователь №: 16 717



1. Драйвер формирует запрос GetDescriptor (тип дескриптора - string) и отводит под этот дескриптор буфер в 255 байт! Однако по спецификации максимальный размер пакета для Control транзакций 64 байта. Должен ли драйвер разбивать дескриптор на несколько пакетов?
2. По какой причине устройство может отвечать NAK при Control IN транзакции (размер отведённого буфера - 255 байт)?
Go to the top of the page
 
+Quote Post
al333
сообщение May 3 2006, 12:06
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 27-09-05
Пользователь №: 8 995



Цитата(PAB @ May 3 2006, 12:03) *
1. Драйвер формирует запрос GetDescriptor (тип дескриптора - string) и отводит под этот дескриптор буфер в 255 байт! Однако по спецификации максимальный размер пакета для Control транзакций 64 байта. Должен ли драйвер разбивать дескриптор на несколько пакетов?
2. По какой причине устройство может отвечать NAK при Control IN транзакции (размер отведённого буфера - 255 байт)?

1. Не ясно драйвер отводит 255 байт или запрашивает у устройства?
2. Пока не будет готов пакет может быть NAK.

примечание: многое зависит от драйвера.
Go to the top of the page
 
+Quote Post
PAB
сообщение May 3 2006, 13:48
Сообщение #3


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

Группа: Свой
Сообщений: 86
Регистрация: 3-05-06
Пользователь №: 16 717



1. Драйвер формирует Transfer Descriptor с буфером на 255 байт (так как считает, что максимальная длина stringдескриптора - 255 байт)
2. По какой причине может быть не готов пакет? (устройство несколько раз отвечает NAK)
Go to the top of the page
 
+Quote Post
al333
сообщение May 4 2006, 06:03
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 27-09-05
Пользователь №: 8 995



Цитата(PAB @ May 3 2006, 17:48) *
1. Драйвер формирует Transfer Descriptor с буфером на 255 байт (так как считает, что максимальная длина stringдескриптора - 255 байт)
2. По какой причине может быть не готов пакет? (устройство несколько раз отвечает NAK)

1. максимальная длина stringдескриптора - 255 байт. Драйвер готовит буфер заранее и по max.
2. пакет нужно загрузить в FIFO, а затем переслать.
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 4 2006, 06:36
Сообщение #5


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(PAB @ May 3 2006, 23:18) *
2. По какой причине может быть не готов пакет? (устройство несколько раз отвечает NAK)

Устройство не успело подгрузить/выгрузить кусок данных в/из буфера. Для USB2 это обычное дело, больно интерфейс шустр. Устр-во при этом сначала отвечает NYET, хост начинает его пинговать, а устр-во NAKает пока не будет готово (это для USB2, в USB1 пингов не было, там запрoс шел по полной программе).
Go to the top of the page
 
+Quote Post

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

 


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


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