El Bus USB

Enviado por Javi y clasificado en Electrónica

Escrito el en español con un tamaño de 25,9 KB

 

1 Introducción

USB (Universal Serial Bus) es una interfaz de transmisión de datos y distribución de energía que fue introducida en el mercado de PC´s y periféricos para mejorar las antiguas y tediosas interfaces serie (RS-232) y paralelo. La interfaz está compuesta de 4 hilos, varias velocidades de trabajo y es “plug and play”, no requiere alimentación externa en la mayoría de los casos.

El Universal Serial Bus, es un bus serie que hace posible la conexión de hasta 127 periféricos a una única puerta de un PC, con detección y configuración automáticas, tan pronto como sea conectado físicamente y sin tener que instalar ningún hardware ni software adicionales, y sin tener que reiniciar el ordenador. Fue desarrollado por empresas líderes del sector de las telecomunicaciones y de la informática: Compaq, DEC, IBM, Intel, Microsoft, NEC y Northern Telecom.

2 Características

El bus USB soporta intercambio simultáneo de datos entre un ordenador anfitrión y un amplio conjunto de periféricos. Todos los periféricos comparten el ancho de banda del bus por medio de un protocolo de paso de testigo (Token), el ordenador proporciona el testigo al periférico seleccionado y seguidamente, éste le devuelve el testigo en su respuesta. Esto permite que los dispositivos puedan ser conectados/desconectados del bus sin afectar al resto de dispositivos.

Puesto que todos los periféricos comparten el bus y la información puede ser enviada en cualquier momento, y de forma simultanea, esta se divide en paquetes. Cada paquete contiene en la cabecera un identificador que indica a quién va dirigido. En los paquetes se utiliza un sistema de detección y corrección de errores bastante robusto, basado en un CRC.

      2.1 Velocidades

Los dispositivos USB se clasifican en cuatro tipos según su velocidad de transferencia de datos:

  • Baja velocidad (USB 1.0): Poseen una tasa de transferencia de hasta 1.5Mbit/s (192KB/s). Utilizado en su mayor parte por dispositivos de interfaz humana como los teclados, los ratones y los joysticks (aún en uso por ser más baratos).
  • Velocidad completa (USB 1.1): Tasa de transferencia de hasta 12Mbit/s (1.5MB/s).Ésta fue la más rápida antes de la especificación USB 2.0. Estos dispositivos dividen el ancho de banda de la conexión USB entre ellos, basados en un algoritmo de búferes FIFO.
  • Alta velocidad (USB 2.0): Tasa de transferencia de hasta 480Mbit/s (60MB/s).
  • Super velocidad (USB 3.0): Actualmente en fase final de desarrollo y con una tasa de transferencia de hasta 4.8Gbit/s (600MB/s). La velocidad del bus será diez veces más rápida que la del USB 2.0, debido a la sustitución del enlace tradicional por uno de fibra óptica que trabaja con conectores tradicionales de cobre, para hacerlo compatible con los estándares anteriores.

2.2 Interfaz física.

El USB define 2 líneas para transmitir datos ( D+ y D- ) y otras 2 para transmitir potencia (VBus y GND), así se evita el uso de alimentación externa. Para la transmisión de los datos se utiliza un algoritmo NRZI (No Return to Zero Inverted).

USB transfiere señales y energía a los periféricos utilizando un cable de 4 hilos, apantallado para transmisiones a 12 Mbps o superiores y no apantallado para transmisiones a 1.5 Mbps.

En el cable apantallado, el par de hilos de la señal va trenzado, y los de tierra y alimentación son rectos. En el caso de los cables sin apantallar, todos los hilos son rectos.

A nivel eléctrico, el cable USB transfiere la señal y la alimentación sobre 4 hilos.

Z

A nivel de alimentación, el cable proporciona la tensión nominal de 5 V. Es necesario definir correctamente el diámetro del hilo con el fin de que no se produzca una caída de tensión demasiado importante en el cable. Una resistencia de terminación instalada en la línea de datos permite detectar el puerto y conocer su configuración y velocidad.

A nivel de señal, se trata de una impedancia característica de 90 ?. La sensibilidad del receptor puede ser de, al menos, 200mV y debe poder admitir un buen factor de rechazo de tensión en modo común. El reloj se transmite en el flow de datos, la codificación es de tipo NRZI, existiendo un dispositivo que genera un bit de relleno (bit stuffing) que garantiza que la frecuencia de reloj permanezca constante. Cada paquete va precedido por un campo de sincronismo.

2.3 Tipos de conectores.

En lo que respecta a los conectores se pueden encontrar de 2 tipos                   diferentes en función de la plataforma del dispositivo: A y B.

-Los conectores tipo A, de forma rectangular, se utilizan, generalmente, para dispositivos que no requieren demasiado ancho de banda (como el teclado, el ratón, las cámaras Web, etc.).

-Los conectores conocidos como tipo B poseen una forma cuadrada y se utilizan principalmente para dispositivos de alta velocidad (discos duros externos, etc.).

emV1NuK+OcbEz9uze6e6v5UpqnrdcbJVIeVNVKYWiul4wdTHVbWSGFqrZSOH0x1WFkjham1Ujp+MNVhZY0UptZK6fjBVIeVNVKYWiul4wdTHVbWSGFqrZSOH0x1WFkjham1Ujp+MNVhZY0UptZK6fjBVIeVNVKYWiul4wdTHVbWSGFqrZSOH0x1WFkjham1Ujp+MNVhZY0UptZK6fjBVIeVNVKYWiul47cnpoe92Df9h9SsrpQ8TwAAAABJRU5ErkJggg==y3bA+IL8y5CcqAKSi2LopA2yqRU6sDCAVxdZNGWBTLXJiZQCpKLZuJ2DgcnD5B1wtrgqJniN6AAAAAElFTkSuQmCC

Tipo A                                           Tipo B

3 Protocolo de Transferencia de USB

Todos los dispositivos USB están compuestos por una serie de endpoints y una dirección única asignada por el sistema. Un endpoint es un buffer que almacena datos dentro del dispositivo. Cada endpoint dispone de un identificador único que viene asignado de fábrica y una determinada orientación del flujo de datos. Todos los dispositivos deben soportar el endpoint 0, que se usa para la configuración.

Las asociaciones entre los distintos endpoints de un dispositivo y el host se llaman Pipes (tuberías). Las Pipes permiten mover datos entre el software del host y el endpoint del dispositivo. Cada Pipe esta determinado por su tipo de servicio, numero de endpoint, tamaño de paquetes, dirección, etc.

Existen 4 tipos de endpointsdistintos (Control, Bulk, Isócronas e Interrupciones), cada uno se utiliza en un tipo de transferencia, y las asociaciones (Pipes) que se producen entre estos endpoints son:

  • Pipe de Control o Mensaje: Es una vía de comunicación entre dos endpoints de control, uno de Entrada y otro de Salida, de manera que se puede establecer una comunicación bidireccional. Todos los dispositivos poseen dos endpoints de Control en la dirección 0, que se puede establecer antes de configurar el dispositivo. A través de este endpoint el host puede leer información sobre el dispositivo USB antes de iniciar la transferencia.
  • Pipe Stream: Es una vía de comunicación unidireccional entre el sistema y los endpoints de tipo Bulk, Isócrono e Interrupciones.

Las transferenciaspueden ser, según el tipo de endpoint, de tipo:

- Transferencias de Control: Modo utilizado para realizar configuraciones: existe siempre sobre el endpoint 0. Todos los dispositivos USB deben soportar estetipo de transferencia.

Los datos de control sirven para configurar el periférico en el momento de conectarse al USB. Algunos drivers específicos pueden utilizar este enlace para transmitir su propia información de control.

Este enlace no tiene pérdida de datos, puesto que los dispositivos de detección de recuperación de errores están activos a nivel USB.

- Transferencias Isócronas: modo utilizado para la transmisión de audio o video comprimido. Este tipo de transmisión funciona en tiempo real. Este es el modo de mayor prioridad.

Solo los dispositivos high y full-speed pueden incorporar endpoints isócronos.

La transmisión de la voz es un ejemplo de esta aplicación. Si ésta no se transmite correctamente, pueden llegar a oírse parásitos (glich) y la aplicación puede detectar ciertos errores de los llamados underruns.

- Transferencias de Interrupción: modo utilizado para transmisiones de pequeños paquetes, rápidos, orientados a percepciones humanas (ratón, punteros).

Este tipo de transferencia es para dispositivos que deben recibir atención periódicamente y lo utilizan los dispositivos de baja velocidad

Este tipo de transmisión garantiza la transferencia de pequeñas cantidades de datos. El tiempo de respuesta no puede ser inferior al valor especificado por la interfaz. El ratón o cualquier otro dispositivo apuntador es una aplicación típica de este modo de transmisión.

- Transferencias Bulk: Este modo se utiliza para la transmisión de importantes cantidades de información. Como el tipo control, este enlace no tiene pérdida de datos. Este tipo de transferencia es útil cuando la razón de transferencia no es critica como por ejemplo, el envió de un archivo a imprimir o la recepción de datos desde un escáner.

En estas aplicaciones, la transferencia es rápida, pero puede esperar si fuera necesario.Solo los dispositivos de media y alta velocidad utilizan este tipo de transferencia.

Enumeración

Cuando se conecta un dispositivo USB al PC se produce el Proceso de

Enumeración, el cual consiste en que el host le dice al dispositivo que se presente y le diga cuales son sus parámetros, tales como:

  • Consumo de energía expresada en unidades de Carga
  • Numero y tipos de Puntos terminales
  • Clase del producto.
  • Tipo de transferencia
  • Razón de escrutinio, etc.

El proceso de enumeración es inicializado por el host cuando detecta que un nuevo dispositivo se ha unido al Bus. El host le asigna una dirección a dicho dispositivo y habilita su configuración permitiendo la transferencia de datos.

Entradas relacionadas: