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

Сообщение Результатов Состояния(Reporting Status Results)


Стадия Состояние сообщает на хост результат предыдущих стадий передачи Установки и Данных. Возможно возвратить следующие три результата:

  • Последовательность команд, завершена успешно.
  • Последовательность команд не может завершиться из-за ошибки.
  • Функция все еще занята завершением команд.
  • Сообщение о Состоянии всегда имеет направление от функции к хосту. В таблице приведены типы ответов, требуемых для каждого результата. Передача управляющей записи возвращает информацию о Состоянии фазы данных передачи.( Control write transfers return status information on the data phase of the transfer.) Передача управляющего чтения возвращает информацию о Состоянии передач в фазе квитирования после того, как хост выдал пакет данных нулевой длины в течение предыдущей фазы данных.

    Таблица 8-5.  Ответы Фазы Состояние

    Ответ Состояние

    Передача Управляющей Записи (посылается в течение фазы данных)

    Передача Управляющего Чтения (посылается в течение фазы квитирования)



    Функция завершена

    Пакет данных нулевой длины

    квитирование ACK

    В функции ошибка

    квитирование STALL

    квитирование STALL

    Функция занята

    квитирование NAK

    квитирование NAK

    Для управляющего чтения, хост посылает пакет данных нулевой длины управляющей конечной точке.(For control reads, the host sends a zero length data packet to the control endpoint.) Ответное квитирование от конечной точки говорит о состоянии при завершении. NAK указывает, что функция все еще обрабатывает команду и что хост должен продолжить фазу состояние. ACK указывает, что функция завершила команду и готова принять новую команду, и STALL указывает, что произошла ошибка в функции, которая мешает завершить команду.

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

    Если, в течение стадии Данных или Состояние, командная конечная точка посылает или запрашивает большее количество данных, чем было указано в стадии Установка, то она (???ей) должна возвратить STALL.( If, during a Data or Status stage, a command endpoint is sent more data or is requested to return more data than was indicated in the Setup stage, it should return a STALL.) Если управляющая конечная точка возвращает STALL в течение стадии Данных, то стадия Установка будет отсутствовать в этой передачи управления .



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