Перейти к содержанию
    

Два вопроса по USB

1. Драйвер формирует запрос GetDescriptor (тип дескриптора - string) и отводит под этот дескриптор буфер в 255 байт! Однако по спецификации максимальный размер пакета для Control транзакций 64 байта. Должен ли драйвер разбивать дескриптор на несколько пакетов?

2. По какой причине устройство может отвечать NAK при Control IN транзакции (размер отведённого буфера - 255 байт)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Драйвер формирует запрос GetDescriptor (тип дескриптора - string) и отводит под этот дескриптор буфер в 255 байт! Однако по спецификации максимальный размер пакета для Control транзакций 64 байта. Должен ли драйвер разбивать дескриптор на несколько пакетов?

2. По какой причине устройство может отвечать NAK при Control IN транзакции (размер отведённого буфера - 255 байт)?

1. Не ясно драйвер отводит 255 байт или запрашивает у устройства?

2. Пока не будет готов пакет может быть NAK.

 

примечание: многое зависит от драйвера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Драйвер формирует Transfer Descriptor с буфером на 255 байт (так как считает, что максимальная длина stringдескриптора - 255 байт)

2. По какой причине может быть не готов пакет? (устройство несколько раз отвечает NAK)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Драйвер формирует Transfer Descriptor с буфером на 255 байт (так как считает, что максимальная длина stringдескриптора - 255 байт)

2. По какой причине может быть не готов пакет? (устройство несколько раз отвечает NAK)

1. максимальная длина stringдескриптора - 255 байт. Драйвер готовит буфер заранее и по max.

2. пакет нужно загрузить в FIFO, а затем переслать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2. По какой причине может быть не готов пакет? (устройство несколько раз отвечает NAK)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...