¿Cómo funciona la interfaz del USB? En muchas páginas web, incluída Wikipedia habla del funcionamiento y de aspectos eléctricos, pero no mencionan como viaja la información en sí. Si estamos interesados mas en el aspecto de las comunicaciones que en el eléctrico o electrónico, este artículo les será de utilidad. |
Sin hacer ninguna introducción, vamos de lleno a lo que nos ocupa: su funcionamiento.
El USB es un bus de comunicaciones estandarizado en 1996 por seis empresas que hoy conforman el consejo directivo USB.
Clasificación:
Los dispositivos USB se clasifican en cuatro tipos según su velocidad de transferencia de datos:
- Baja Velocidad (1.0): Tasa de transferencia de hasta 1,5Mbps (192 KB/s). Utilizado en mayor medida por los dispositivos de interfaz humana, como los teclados, ratones (mouse) y joysticks.
- Velocidad completa (1.1): Tasa de transferencia de hasta 12 Mbps (1'5 MB/s). Ésta fue la más rápida antes de la especificación USB 2.0, y muchos dispositivos fabricados en la actualidad trabajan a esta velocidad. Estos dispositivos dividen el ancho de banda de la conexión USB entre ellos, basados en un algoritmo de búferesFIFO.
- Alta velocidad (2.0): Tasa de transferencia de hasta 480 Mbps (60 MB/s). Lo usa por ejemplo la consola portátil de Sony PSP
- Super alta velocidad (3.0): Nuevo en el mercado (con chipsets que ya lo soportan comercialmente) y con tasa de transferencia de hasta 4.8 Gbps (600 MB/s). Esta especificación fue lanzada a fines de 2009 por Intel. La velocidad del bus es diez veces mayor que la del USB 2.0, debido a la que han incluido 5 conectores extra (conformando un total de 9 cables), desechando el conector de fibra óptica propuesto incialmente. Es compatible con los estándares anteriores.
Funcionamiento (aspesctos elecrónicos):
Las señales del USB se transmiten en un cable de par trenzado con impedancia de 90 Ω ± 0.015, cuyos hilos se denominan D+ y D-. Estos, colectivamente, utilizan señalización diferencial en half dúplex para combatir los efectos del ruido electromagnético en enlaces largos. Es decir que los cables de par trenzado van -justamente- trenzados (valga la redundancia) para atenuar el efecto del ruido electromagnético. Esto es igual que los cables UTP CAT-5 de red y telefonía.
D+ y D- suelen operar en conjunto. Los niveles de transmisión de la señal varían de 0 a 0.3 V para bajos (ceros) y de 2.8 a 3.6 V para altos (unos) en las versiones 1.0 y 1.1. En los USB de alta velocidad (2.0) los datos binarios (0 y 1) son representados con ±400 mV: -400mV para los ceros y +400mV para los unos binarios .
En las primeras versiones, los alambres de los cables no están conectados a masa, pero en el modo de alta velocidad se tiene una terminación de 45 Ω a tierra o un diferencial de 90 Ω para acoplar la impedancia del cable. Este puerto sólo admite la conexión de dispositivos de bajo consumo, es decir, que tengan un consumo máximo de 100 mA por cada puerto. Sin embargo, en caso de que estuviese conectado un dispositivo que permite 4 puertos por cada salida USB (los conocidos "hub USB" que por cada puerto se obtienen 4 adicionales), entonces el gestor de energía del USB asignará (en unidades de 100 mA) hasta un máximo de 500 mA por puerto.
Entonces, hasta el momento hemos visto que en unidades de alta velocidad las tensiones van en el rango de los ±400 mV, con un máximo de 500 mA. Ante el creciente uso de dispositivos portátiles que utilizan el bus USB para cargar sus baterías, como los teléfonos móviles, cámaras digitales, etc, el comité resolvió dotar al USB 3.0 con una intensidad de 900 mA máximos para cargarlos en menos tiempo.
Como mencionamos también, los cables van de a par trenzado, para reducir el ruido y las interferencias electromagnéticas:
Modos de Transferencia (Telecomunicaciones):
Tras su encendido, el dispositivo anfitrión -el PC- se comunica con todos los dispositivos conectados al bus USB, asignando una dirección única a cada uno de ellos (este proceso recibe el nombre de “enumeración”).
Además, el PC consulta qué modo de transferencia desea emplear cada dispositivo: por interrupciones, por bloques o en modo asíncrono.
Los modos de transferencia disponible en los USB son:
- La transferencia por interrupciones la emplean los dispositivos más lentos, que envían información con poca frecuencia (por ejemplo teclados, ratones, etc.). Cuando se recibe alguna interrupción (es decir, se pulsa una tecla o se mueve el ratón de la PC), se envía esta información al anfitrión.
- La transferencia por bloques se utiliza con dispositivos que mueven grandes paquetes de información en cada transferencia. Un ejemplo son las impresoras, pendrives o placas de red usb.
- La transferencia asíncrona se emplea cuando se requiere un flujo de datos constante y en tiempo real, sin aplicar detección ni corrección de errores. Un ejemplo es el envío de sonido a altavoces USB, una placa digitalizadora o una sintonizadora de TV externa hace uso de este modo de transferencia. Como se puede intuir, el modo isócrono consume un ancho de banda significativo.
Cómo se realiza la transferencia de información:
Estos modos de transferencia se llevan a cabo mediante un bus basado en el paso de un testigo (tokens), semejante a otros buses como los de las redes locales en anillo con paso de testigo y las redes FDDI.Para darse una idea, es como un "turno" que se le da a cada dispositivo para hacer su transferencia de intormación.
El controlador USB distribuye testigos por el bus. El estándar solo admite hasta 127 dispositivos, ya que es el número máximo de tokens o turnos que se pueden asignar. El dispositivo cuya dirección (numeración) coincide con la que porta el testigo, responde aceptando o enviando datos al controlador.
Los tokens funcionan en todos los modos de transferencia, excepto en modo asíncrono, donde sólo hay un token asignado (comunicación entre el dispositivo y el host).