предоставляет системе дополнительные функциональные возможности "функция" - это логически законченное устройств, выполняющее какую-либо специфическую функцию
устройство – функция принимает участие в следующих пересылках:
Потоковые пересылки - характеризуются гарантированной безошибочной передачей данных между хостом и функцией посредством обнаружения ошибок при передаче и повторного запроса информации.
Когда хост становится готовым принимать данные от функции, он в фазе передачи пакета-признака посылает функции IN-пакет. В ответ на это функция в фазе передачи данных передает хосту пакет с данными или, если она не может сделать этого, передает NAK- или STALL-пакет. NAK-пакет сообщает о временной неготовности функции передавать данные, а STALL-пакет сообщает о необходимости вмешательства хоста. Если хост успешно получил данные, то он в фазе согласования посылает функции ACK-пакет. В противном случае транзакция завершается.
Когда хост становится готовым передавать данные, он посылает функции OUT-пакет, сопровождаемый пакетом с данными. Если функция успешно получила данные, он отсылает хосту ACK-пакет, в противном случае отсылается NAK- или STALL-пакет.
Пересылки с прерыванием - могут содержать IN- или OUT-пересылки. При получении IN-пакета функция может вернуть пакет с данными, NAK-пакет или STALL-пакет. Если у функции нет информации, для которой требуется прерывание, то в фазе передачи данных функция возвращает NAK-пакет. Если работа КТ с прерыванием приостановлена, то функция возвращает STALL-пакет. При необходимости прерывания функция возвращает необходимую информацию в фазе передачи данных. Если хост успешно получил данные, то он посылает ACK-пакет. В противном случае согласующий пакет хостом не посылается.