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




Ограничения на Размер Пакета - часть 2


Конечная точка должна всегда передавать полезные нагрузки данных с полем данных меньшим или равным MaxPacketSize

конечной точки.  Устройство может перемещать данные через канал прерывания, большие по размеру чем MaxPacketSize. Клиент программного обеспечения может принимать эти данные через IRP передачи прерывания, который требует нескольких транзакций шины не требуя полного сообщения о IRP в транзакции.(A software client can accept this data via an IRP for the interrupt transfer that requires multiple bus transactions without requiring an IRP complete notification per transaction.) Это может быть достигнуто, определением буфера, который может содержать требуемый размер данных. (This can be achieved by specifying a buffer that can hold the desired data size.) Размер буфера - несколько MaxPacketSize с некоторым остатком. Конечная точка должна передать каждую транзакцию за исключением последней как MaxPacketSize, а последнюю транзакцию как остаток. Множество транзакций данных перемещаются в шине в период, установленный для канала.

Когда передача прерывания состоит из большего количества данных чем, возможно передать в одной полезной нагрузке данных с текущим установленным максимальным размером, все полезные нагрузки данных требуются установление максимального  размера кроме последней полезной нагрузки данных, которая будет содержать оставшиеся данные. Если конечная точка хочет передавать меньшее количество данных чем ожидает клиентское программное обеспечение, преждевременная, меньшая чем максимально установленная по размеру полезная нагрузка данных будет получена хост контроллером.(If an endpoint wants to transmit less data than expected by the client software, a premature, less than maximum sized data payload will be received by the host controller.) Эта преждевременная, меньшая чем максимально установленный размер полезная нагрузка данных заставляет хост контроллер продвигаться к состоянию транзакции вместо того, чтобы продолжить с другой транзакцией данных или остановить канал как было описано в Разделе 5.3.2.(This premature, less than maximum sized data payload causes the host controller to retire the current IRP and advance to the next IRP or else stall the pipe as outlined in Section 5,3,2.) Если полезная нагрузка данных получена, более чем ожидлось, IRP для прерывания будет прервана/удалена, и канал остановит будущие IRPs, пока условие не будет исправлено и подтверждено ( If a data payload is received that is larger than that expected, the interrupt IRP will be aborted/retired and the pipe will stall future IRPs until the condition is corrected and acknowledged.)




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