Спецификация USB.Rev1.0




Каналы - часть 3


IRP может требовать, чтобы несколько полезных нагрузок данных чтобы переместить данные клиента по шины (An IRP may require multiple data payloads to move the client data over the bus). Все данные заказанные IRP разбиваются на пакеты, все кроме последнего будут иметь максимально возможный размер пакета, последний содержит остаток от полного IRP. Рассмотрим описание каждого специфического типа передачи более подробно. Для такого IRP, короткие входные пакеты (то есть, меньшие, чем максимально установленый размер полезной нагрузки данных) полностью не заполняются,  IRP буфер данных может иметь одно из двух возможных значений в зависимости от того что ожидает клиент(For such an IRP, short packets (i.e., less than maximum sized data payloads) on input that do not completely fill an IRP data buffer can have one of two possible meanings depending upon the expectations of a client).

  • Клиент может ожидать переменную с размером данных в IRP(A client can expect a variable sized amount of data in an IRP). В этом случае, короткий пакет, который не заполнит буфер данных IRP может использоваться просто как межзонный(inband) разделитель, чтобы указать “ конец модуля данных”.(In this case, a short packet that does not fill an IRP data buffer can be used simply as an inband delimiter to indicate “end of unit of data.” ) IRP нужно удалить без ошибки, и хост контроллер должен перейти к следующему IRP.
  • Клиент может ожидать определенное по размеру количество данных. В этом случае, короткий пакет, который не заполнит буфер данных IRP - индицирует ошибку. IRP нужно удалить, канал должен быть остановлен, и любые задержанные IRPs связанные с каналом должны также удаляться.
  • Так как хост контроллер должен вести себя по-разному в двух случаях и он не может знать сам какой способ поведения выбрать для данного IRP, поэтому возможно указать в IRP желаемое поведение клиента.

    Конечная точка может сообщать хосту, что она занята, отвечая NAK. NAKs не используются как условие удаления при возврате IRP клиентскому программному обеспечению.(NAKs are not used as a retire condition for returning an IRP to a software client.) Можно столкнуться с любом числом NAKs в течении обработки данного IRP. Ответ NAK не означает ошибку в транзакции и не считается одной из трех ошибок, описанных выше.




    Содержание  Назад  Вперед