Драйвер Хост Контроллера
HCD ответственен за слежение за IRPs в продвижении и обеспечении пропускная способности USB и что максимальный кадр времени никогда не будут превышены.(HCD is responsible for tracking the IRPs in progress and ensuring that USB bandwidth and frame time maximums are never exceeded.) Когда IRPs сделаны(are made for) для канала, HCD добавляет их к списку транзакции. Когда IRP завершен, HCD сообщает запрашивающему клиенту программного обеспечения о состоянии завершения IRP. Если IRP содержал(involved) передачу данных от функции к клиенту программного обеспечения, данные были помещены в обозначенный клиентом буфер данных.(If the IRP involved data transfer from the function to the software client, the data was placed in the client-indicated data buffer.)
IRPs определены в операционной системе зависимым способом.(IRPs are defined in an operating system dependent manner.)
Драйвер Хост Контроллера (HCD- Host Controller Driver) это абстракция аппаратных средств хост контроллера и вида хост контроллера на передачу данных по USB. HCDI сталкивается со следующими требованиями:
- Предоставляет абстракцию аппаратных средств хост контроллера.
- Предоставляет абстракцию для передач данных хост контроллером по USB взаимосвязи.
- Предоставляет абстракцию для распределения (и освобождения) ресурсов хост контроллера, для поддержания гарантируемого обслуживания устройства USB.
- Представляет корневой концентратор и поведение согласно определению класса концентратора. Оно включает такую поддержку корневого концентратора, что драйвер концентратора взаимодействует с корневым концентратором, точно также как с любым другим концентратором. В частности даже при том, что корневой концентратор может быть выполнен в комбинации аппаратных средств и программного обеспечения, корневой концентратор отвечает первоначально на заданный по умолчанию адрес устройства (в зависимости от перспективы клиента), возвращает дескрипторную информацию, поддерживает наличие набора адресов устройств, и поддерживает другие запросы класса концентратора. Однако, транзакции шины могут нуждаться или нет в генерировании выполнения этого поведения возможного в данной закрытой интеграции, между хост контроллером и корневым концентратором.(However, bus transactions may or may not need to be generated to accomplish this behavior given the close integration possible between the host controller and the root hub.)
HCD предоставляет интерфейс программного обеспечения (HCDI), который осуществляет требуемые абстракции. Функция HCD должна предоставить абстракцию, которая скрывает подробности аппаратных средств хост контроллера. Ниже аппаратных средств хост контроллера - физический уровень USB и все присоединенные устройства USB.
HCD - это самый низкий уровень в стеке программного обеспечения USB. HCD имеет только одного клиента: Драйвер Универсальной Последовательной Шины (USBD- Universal Serial Bus Driver). USBD отображает(maps) запросы от многих клиентов к соответствующим HCD. Данный HCD может управлять многими хост контроллерами.
HCDI непосредственно не доступен клиенту.(The HCDI is not directly accessible from a client.) Следовательно, специфические требования интерфейса для HCDI здесь не рассматриваются.