Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
USB System Architecture (USB 2.0).pdf
Скачиваний:
172
Добавлен:
03.05.2015
Размер:
7.03 Mб
Скачать

USB System Architecture

Providing Client Services (The USB Driver Interface)

The USB driver must provide a programming interface (USBDI) that is used by client software to control and access USB devices. Via these mechanisms, USBD provides a variety of client services. A given implementation of a USB driver must provide the following software mechanisms.

Command Mechanisms — Command mechanisms allow clients to configure and control USBD operation and to configure and generically control a USB device. Some of the commands may utilize the pipe mechanisms.

Pipe Mechanisms — Pipe mechanisms allow USBD clients to manage device specific data and control transfers. The pipe mechanism does not permit direct access the device’s default pipe, since it is owned by the USBD.

Pipe Mechanisms

Two basic types of pipes are supported by USB implementations:

Default Pipes (owned by USBD) — Default pipes are used principally to access a device’s configuration information. The USB driver is responsible for setting up and managing accesses via the default pipes, unless the USBD uses the default pipe to fulfill some portion of the request.

Client Pipes (message and stream pipes) — A client pipe is any pipe not owned and managed by the USBD. The client uses pipes to transfer information to and from USB function endpoints. A client is responsible for providing the buffering needed to support the data transfer rate. All four types of pipes (based on the four transfer types) are supported.

Client Pipe Requirements

USBD client pipe mechanisms are required to support the following functions. These functions are intended to provide clients with a high-speed/low-over- head method of data transfer:

Aborting IRPs

Queuing IRPs

Managing pipe policy

430

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]