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

       

Транзакции Прерывания


Транзакции прерывания состоят исключительно из IN транзакций, как показано на

Рисунок 8-13. После получения маркера IN, функция может возвратить данные, NAK или STALL. Если конечная точка не имеет никакой новой информации прерывания, для возврата, то есть нет отложенных прерывания, функция возвращает квитирование NAK в течение фазы данных. Остановленная конечная точка прерывания заставляет функцию возвращать квитирование STALL, если она постоянно остановлена и требует вмешательства программного обеспечения хоста. Если прерывание отложено, функция возвращает информацию прерывания, как пакет данных. Хост, в ответ на получение пакета данных выдает или квитирование ACK, если данные были получены без ошибок или не возвращает квитирование, если пакет данных был получен разрушенным.

Рисунок 8-13.  Формат Транзакции Прерывания

Когда конечная точка использует механизм передачи прерывания для получения фактических данных прерывания, то необходимо придерживаться протокола переключения данных.(When an endpoint is using the interrupt transfer mechanism for actual interrupt data, the data toggle protocol must be followed.) Он позволяет функции определить, какие данные были получены хостом и условие события могут быть очищены.(This allows the function to know that the data has been received by the host and the event condition may be cleared.) Такая “гарантируемая” доставка состояний позволяет функции только посылать информацию прерывания, пока она не была получена хостом скорее чем необходимость послать данные прерывания, каждый раз при опросе функции и пока программное обеспечение хоста выявляет условие прерывания.(This “guaranteed" delivery of events allows the function to only send the interrupt information until it has been received by the host rather than having to send the interrupt data every time the function is polled and until host software clears the interrupt condition.) При использовании в режиме переключения, конечная точка прерывания инициализируется к PID DATA0 и ведет себя также как bulk IN транзакция , показанная на Рисунок 8-10.

Конечная точка прерывания может также использоваться, чтобы сообщить информацию о скорости обратной связи для некоторых типов изохронных функций. При использовании в этом режиме, биты переключения данных должны быть изменены после каждой посылки хостом пакета данных без учета наличия пакета квитирования или его типа.



Содержание раздела