|
El USB es un bus registrado. El Host controlador inicializa toda transferencia de datos.
Toda transferencia de datos o transacción que emplee el bus, involucra al menos tres paquetes de
datos. Cada transacción empieza cuando el Host Controlador decide qué dispositivo hará
uso del
bus, con una base fijada, envía un paquete USB describiendo el tipo y dirección de la transacción,
la
dirección del dispositivo USB y el numero del punto final. Cada dispositivo tiene un número
de
identificación, otorgado por el Controlador de Host cuando el computador arranca o bien cuando
un
dispositivo nuevo es conectado al sistema. De esta forma, cada uno de los periféricos puede
determinar si un paquete de datos es o no para sí. Técnicamente este paquete de datos se
denomina Paquete Ficha o Token Packet. Una vez que el periférico afectado recibe el permiso de
transmitir, arranca la comunicación y sus tareas específicas; el mismo informará al Host
con otro
paquete que ya no tiene más datos que enviar y el proceso continuará con el siguiente dispositivo.
Algunas transacciones del bus entre el controlador Host y los Hubs involucran la transmisión de
cuatro paquetes. Se usan estos tipos de transacciones para manejar las transferencias de los datos
entre el Host y los dispositivos de Full/Baja velocidad.
The USB data transfer model between a source or destination on the host and an endpoint on a
device is referred to as a pipe. There are two types of pipes: stream and message. Stream data has
no USB-defined structure, while message data does. Additionally, pipes have associations of data
bandwidth, transfer service type, and endpoint characteristics like directionality and buffer sizes.
Most pipes come into existence when a USB device is configured. One message pipe, the Default
Control Pipe, always exists once a device is powered, in order to provide access to the devices
configuration, status, and control information.
The transaction schedule allows flow control for some stream pipes. At the hardware level, this
prevents buffers from underrun or overrun situations by using a NAK handshake to throttle the
data rate. When NAKed, a transaction is retried when bus time is available. The flow control
mechanism permits the
construction of flexible schedules that accommodate concurrent servicing of a heterogeneous mix
of stream pipes. Thus, multiple stream pipes can be serviced at different intervals and with
packets of different sizes.
|