| Artículos | 01 JUN 1996

Bus serie universal (USB)

Tags: Histórico
Susana Galán.

Con la implantación de los sistemas operativos gráficos, como Windows 95, se han introducido mejoras en los sistemas de configuración del hardware del PC. Sin embargo, no se ha definido un estándar que mejore la conectividad proporcionada por los puertos serie y paralelo. La especificación Universal Serial Bus (Bus Serie Universal) soluciona esta carencia.

Hace ya algunos meses un grupo de importantes compañías del sector informático, entre las que cabe destacar a Intel, IBM y Compaq, publicaron la primera versión de la especificación del bus serie universal. El objetivo de estas empresas es que todos los ordenadores personales que se vendan en el futuro dispongan de esta interfaz, de forma que sea posible realizar la conexión de múltiples periféricos al ordenador sin necesidad de usar ranuras de expansión, y evitando los problemas de configuración que tradicionalmente han debido afrontar los usuarios del PC.

Tecnologías similares al USB

El grupo de empresas anteriormente mencionado no ha sido el pionero en este tipo de soluciones para la conexión de periféricos, ya que actualmente existen en el mercado otros sistemas que compiten con la especificación USB.

Apple Desktop Bus (ADB). Se trata de un protocolo desarrollado por Apple que proporciona un esquema simple de lectura/escritura capaz de controlar un máximo de 16 dispositivos. La velocidad máxima de transferencia que se puede llegar a obtener es de 90 Kb por segundo.

Access bus. Este sistema se compone de dos partes: la especificación I2C, desarrollada por Philips, y una serie de especificaciones de software creadas por DEC. I2C define un bus serie para la interconexión de circuitos integrados, estando a su vez integrada esta tecnología en multitud de chips diseñados por Philips y otros fabricantes como, por ejemplo, en algunos circuitos para la digitalización de vídeo de este fabricante holandés.

Esta tecnología es capaz de controlar un máximo de 127 dispositivos conectados al bus, si bien este número se ve limitado por la longitud de los cables.

La revisión 2.2 de Access bus soporta una velocidad de transferencia de 100 Kb por segundo, si bien esta tecnología tiene la suficiente capacidad de crecimiento como para llegar a alcanzar los 400 Kb por segundo.

IEEE P1394. Es un bus serie de alto rendimiento, cuyo mercado principal son los fabricantes de discos duros y de periféricos de vídeo. Esto es así ya que se trata de un estándar capaz de proporcionar velocidades de transferencia de 100 Mb por segundo.

CHI. Se trata de un bus serie diseñado para la transmisión de voz digitalizada. El protocolo está formado por una serie de paquetes de duración fija en los que se transmiten datos de voz e información de control. La especificación actual soporta velocidades de transmisión de hasta 4.096 Mb por segundo.

GeoPort. Diseñado originalmente por Apple Computer, su objetivo era permitir la creación de aplicaciones de telefonía sobre los ordenadores Apple Macintosh. La velocidad de transmisión que se puede alcanzar con este bus serie es de 2 Mb por segundo.

Arquitectura del bus serie universal

El bus USB es un bus de cable, similar en este aspecto a la especificación SCSI, que soporta el intercambio de información entre un host, el PC, y un amplio rango de periféricos a los que se puede acceder simultáneamente. Los periféricos conectados comparten el ancho de banda del bus serie universal mediante un protocolo basado en tokens que son enviados al bus por el host.

La especificación USB define una topología en forma de estrella, en la que unas estrellas están unidas con otras. Como elemento central de cada una de las estrellas encontramos un hub. Cada segmento de cable es una conexión punto a punto entre el host y un hub o una función, o entre un hub y otro o una función.

En un bus USB existe sólo un host. La interfaz entre el bus USB y el ordenador se define como el controlador host. En el sistema host se integra, además, un hub raíz para proporcionar uno o más puntos de conexión.

Por otra parte, en el bus USB existen dos tipos de dispositivos:

- Hubs, los cuales proporcionan puntos de conexión adicionales al bus serie universal.

- Funciones, que proporcionan al sistema determinadas capacidades: conexiones RDSI, joysticks digitales, conexión a un escáner, ya sea de mano o de sobremesa, etc.

Los dispositivos o funciones USB presentan una interfaz estándar en términos de su comprensión del protocolo USB, su respuesta a operaciones USB estándar (como el reset y la configuración), y su capacidad para proporcionar información descriptiva acerca de sí mismos.

Desde un punto de vista meramente eléctrico, el bus USB transmite la información, junto con la alimentación eléctrica para los dispositivos conectados, mediante cuatro hilos. Los datos se transmiten mediante dos hilos que sirven para realizar una conexión punto a punto.

La especificación USB define dos modos de transmisión: uno de baja velocidad (1,5 Mb por segundo, adecuado para ratones y otros dispositivos lentos) y otro de alta velocidad (12 Mb por segundo).

La alimentación eléctrica que se proporciona a los dispositivos conectados es de +5 voltios nominales. En cada extremo del cable es necesario conectar terminadores, lo cual permite detectar la conexión y desconexión de dispositivos, así como diferenciar entre periféricos de alta y baja velocidad.

Protocolo del bus

Todas las transacciones que se realizan en el bus USB implican la transmisión de, al menos, tres paquetes. Cada transacción se inicia cuando el controlador host envía un paquete USB describiendo el tipo y dirección de la transacción, la dirección del dispositivo USB y un número de punto final. El dispositivo USB que es direccionado por este paquete se selecciona a sí mismo decodificando los campos de dirección adecuados.

En una transacción se envía información desde el host a un dispositivo o al revés. La dirección de la transferencia viene determinada por el paquete USB. Luego, el origen de la transacción envía un paquete de datos o, si es el caso, indica que no tiene datos que transferir. El destino de la transferencia, normalmente, responde con otro paquete indicando si la transmisión de los datos se ha realizado correctamente.

El modelo de transferencia de datos entre un origen y un destino, o el host y un dispositivo, se define como un pipe. Existen dos tipos de pipes:

- Pipes de datos. No tienen una estructura USB definida, ya que suelen ser propias de cada tipo de dispositivo conectado al bus.

- Pipes de mensajes. Tienen una estructura USB definida en la especificación.

Corrección de errores

En los paquetes de datos que se transmiten en el bus USB se han definido una serie de campos para realizar la corrección de posibles errores. Se debe tener en cuenta que con algunos tipos de datos, como por ejemplo aquellos que usan compresión sin pérdida, es fundamental conseguir una transmisión correcta.

Para lograr este objetivo, cuando se detecta un error, se ejecuta un procedimiento de corrección que puede estar implementado mediante hardware o software. El protocolo de transmisión incluye CRC separados para los campos de control y de datos de cada paquete transmitido, de forma que un CRC erróneo indica la presencia de un paquete incorrecto. El CRC proporciona la detección de errores que afectan a uno o a dos bits.

Si el procedimiento de corrección de errores está implementado mediante hardware, se realizará una notificación del error y se intentará el reenvío del paquete erróneo. El controlador host intentará realizar tres veces la transmisión o recepción del paquete antes de comunicar el error al software del sistema.

Configuración del sistema

USB

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información