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

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

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

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

Устройство не успело подгрузить/выгрузить кусок данных в/из буфера. Для USB2 это обычное дело, больно интерфейс шустр. Устр-во при этом сначала отвечает NYET, хост начинает его пинговать, а устр-во NAKает пока не будет готово (это для USB2, в USB1 пингов не было, там запрoс шел по полной программе).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.