Вы находитесь на странице: 1из 5

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

FACULTAD DE CIENCIAS E INGENIERÍA

1IEE06 – ARQUITECTURA DE COMPUTADORAS

GUÍA TEÓRICA – LABORATORIO Nro. 4

TEMA: Acceso y gestión de periféricos mediante el PROTOCOLO


DE COMUNICACIÓN USB

2018-2
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
CIENCIAS E INGENIERÍA

LABORATORIO 4

PROTOCOLO DE COMUNICACIÓN USB

Introducción

En 1994 una alianza de cuatro industrias (Compaq, Intel, Microsoft y NEC) empezo el diseño del Bus
Universal en Serie (USB). Dicho bus fue originalmente diseñado bajo el marco de 3 puntos claves:

✔ Conectar el teléfono a la computadora

✔ Fácil de usar.

✔ Expandible

La primera implementación (versión 1.0) fue anunciada en enero de 1996 y la versión oficial (1.1) fue
lanzada en setiembre del 1998. Una versión mejorada (2.0) fue lanzada en 2000. El USB tiene un
funcionamiento jerárquico y es controlada por un host. El host usa el protocolo Maestro/Esclavo para
comunicarse con los dispositivos USB conectados, lo que significa que toda clase de conexión es
establecida por el host y los dispositivos no pueden establecer conexión directa con otros dispositivos.
La actual implementación del USB permite hasta 127 dispositivos conectados al mismo tiempo y una
velocidad total de comunicación de 480Mbits/s (versión 2.0). Sin embargo, el uso de dispositivos de
baja velocidad, la gestión de las interrupciones del USB, así como también otros procesos indirectos
reducen considerablemente en la practica la velocidad de uso.

Controladores del Host

La mayoría de los chipsets de placas modernas provee el controlador de Host USB. Sin embargo,
placas más antiguas (que no poseen controladores Host USB) pueden ser actualizadas utilizando
tarjetas de expansión PCI con el controlador en éstas.

Los controladores USB host son compatibles ya sea con el estándar Open Host Controller Interface
(OHCI, diseñado por Compaq) o el Universal Host Controller Interface (UHCI, por Intel). Ambos tipos
tienen las mismas capacidades y los dispositivos USB trabajan en ambos por igual, las diferencias
radican en que el hardware UHCI es más simple y por lo tanto más barato, pero necesita un driver
más complejo, el cual puede causar mayor carga al CPU.

Dispositivos USB y características de transferencia

Hay una amplia variedad de dispositivos USB para un amplio rango de objetivos, lo que significa que
los detalles de implementación varían en cada uno de ellos.

1IEE06 ARQUITECTURA DE COMPUTADORAS 2


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
CIENCIAS E INGENIERÍA

Por ejemplo, un dispositivo USB puede tener una fuente de alimentación propia, alimentarse a través
del bus (máximo 500mA) o ambos. En el caso que un dispositivo consuma mayor energía a la
provista , será necesario que cuente con fuente propia.

En otro aspecto, es importante destacar que la máxima velocidad de comunicación puede variar de
dispositivo en dispositivo: el estándar USB menciona que los dispositivos de low-speed (mouse,
teclado, joystick, etc.) se comunican a 1.5Mbits/s y tienen capacidades limitadas., diferente a los
dispositivos full-speed (sistemas de audio, video, etc.) que pueden usar hasta el 90% de la velocidad.

Hubs

Físicamente existen dos o más puertos USB en los paneles de una computadora, los cuales sirven
para conectar algún dispositivo USB o un hub.

Un hub es un dispositivo que extiende el número de puertos para conectar dispositivos USB. El
máximo numero de dispositivos que se pueden conectar al bus se ve reducido por la cantidad de hubs
conectados (por ejemplo, si se conectan 20 hubs, solo se podrán conectar como máximo 127-20 =
107 dispositivos). Estos son siempre dispositivos full-speed, y si tienen fuente de alimentación propia
cualquier dispositivo puede ser conectado a él. Sin embargo, si es energizado por el propio bus solo se
le pueden conectar dispositivos que tengan un consumo energético bajo (100mA máx.).

Normalmente los puertos físicos de los controladores del host son manejados por un hub principal
virtual (virtual root hub).

1IEE06 ARQUITECTURA DE COMPUTADORAS 3


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
CIENCIAS E INGENIERÍA

Tipos de flujos de datos

La comunicación USB se realiza en dos direcciones y usa cuatro diferentes tipos de transferencia:
cuando la información se dirige desde el host hacia el dispositivo es llamado downstream, y cuando
es en otra dirección se denomina upstream. Asimismo, diversos tipos de transferencia pueden ser
usados:

• Control transfer, solicita y envía pequeños paquetes de datos. Es usado para configurar
dispositivos donde cada uno requiere soportar un mínimo de los comandos de control. Los
comandos estándar son:

GET_STATUS

CLEAR _FEATURE

SET_FEATURE

SET_ADDRESS

GET_DESCRIPTOR

SET_DESCRIPTOR

GET_CONFIGURATION

SET_CONFIGURATION

GET_INTERFACE

SET_INTERFACE

SYNCH_FRAME

• Bulk transfers, es usado para pedir o enviar datos hasta la velocidad máxima del bus.
Dispositivos como escáner o adaptadores SCSI utilizan este tipo de transferencia.

• Interrupt transfer, similar a bulk transfer (sondeo periódico). Si una transferencia de


interrupción fue registrada, el controlador del host automáticamente debe responder a este
pedido en un tiempo específico (1ms-127ms).

• Isochronous transfer, envía o recibe flujo de datos en tiempo real sin confiabilidad. En
general, este tipo de transferencia es usada en dispositivos de audio y video.

Descriptores de dispositivos

Un descriptor de dispositivo (device descriptor) es una estructura de datos que contiene información
general acerca de un dispositivo USB, sus propiedades y configuración.

1IEE06 ARQUITECTURA DE COMPUTADORAS 4


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
CIENCIAS E INGENIERÍA

Cada dispositivo USB tiene solo un descriptor de dispositivo, cuya jerarquía queda definida por:

a. El descriptor de configuración (configuration descriptor) brinda información acerca de la


configuración de un dispositivo específico (el cual puede tener uno o más descriptores de
configuración). Cada configuración tiene una o más interfaces y cada interfaz tiene cero o más
endpoints (un endpoint no es compartido entre diferentes interfaces dentro de una única
configuración).

b. El descriptor de interfaz (interface descriptor) describe la cantidad de endpoints usados en la


interfaz. Puede haber más de uno por cada configuración y cada configuración puede tener diferentes
requerimientos. Por ejemplo, una cámara de video puede tener 3 configuraciones distintas (una para
cámara activada, una para micrófono activado y una para ambos elementos activados) con distintos
requerimientos de ancho de banda.

c. Un descriptor de endpoint (endpoint descriptor) describe el tipo de transferencia, así como


también su sentido y otros datos específicos del endpoint. Un dispositivo puede tener varios endpoints
y estos pueden ser compartidos por distintas configuraciones.

d. Un descriptor de caracteres (string descriptor) es opcional y provee información adicional en el


formato unicode para lectura del usuario. Comúnmente es usado para guardar información en un
formato legible para el usuario, como por ejemplo VendorId y DeviceId (valores de 16 bits que
especifican el fabricante y el dispositivo).

1IEE06 ARQUITECTURA DE COMPUTADORAS 5

Вам также может понравиться