Durante 25 años, el puerto USB ha sido un viejo amigo fiel, que conecta y alimenta nuestros dispositivos y periféricos cotidianos. Todo lo que tuvimos que hacer fue enchufarlos y ver cómo funcionaba todo mágicamente. Los enchufes han cambiado con el tiempo, pero no importa lo que conecte, la computadora host siempre parece saber cuál es el dispositivo.
Pero, ¿cómo sucede exactamente eso? ¿Cómo sabe cuando se ha conectado un mouse y no una impresora? ¿Cuál es la diferencia entre USB 2.0 y USB 3.2 SuperSpeed?
Enchufar y rezar
Para comenzar nuestra historia, debemos remontarnos a principios de la década de 1990, justo antes de que apareciera USB. Esta fue una época en la que Pentium era la palabra de moda, Windows era 3.1 y las computadoras personales eran aburridas cajas beige. Las conexiones inalámbricas y los servicios en la nube aún no estaban disponibles, por lo que imprimir, copiar fotos o usar un almacenamiento externo requería estar físicamente conectado a una computadora.
A diferencia de las PC actuales, las máquinas de hace 30 años tenían un exceso de enchufes y sistemas de comunicación muy diferentes. La conexión de periféricos y dispositivos a tales computadoras era a menudo una experiencia frustrante, gracias a las rarezas y limitaciones de cada interfaz.
Un enchufe DE-15 VGA, dos puertos seriales DE-9 y uno paralelo DB-25 y dos conectores PS / 2. Fuente: Productos reciclados
Los ratones y teclados casi siempre usaban el puerto serie PS / 2 , y cada uno tenía un enchufe dedicado de 6 pines. Impresoras y escáneres conectados a un puerto paralelo , a través de un conector de 25 pines, y todo lo demás a través del puerto serie clásico .
¿Qué pasa si inserta accidentalmente un mouse en el zócalo del teclado? Simplemente no funcionaría, ya que la PC no sabría que se había conectado el dispositivo incorrecto. De hecho, ninguna de estas interfaces podría identificar qué dispositivo era: esencialmente, le habría dicho a la computadora qué era y instale manualmente los controladores adecuados para ello.
Si todo salió bien, con un poco de suerte y un reinicio rápido después de la instalación del controlador, eso era todo lo que necesitaba para que todo funcionara. Sin embargo, la mayoría de las veces, los usuarios de PC debían profundizar en el Panel de control de Windows o en el BIOS de la placa base para que todo funcionara sin problemas.
Una visión familiar para los usuarios de PC de los años 90 que intentan conectar un periférico. Fuente: WinWorld
Naturalmente, los consumidores querían algo mejor: 'un puerto para gobernarlos a todos', por así decirlo. Un enchufe en el que puede conectar y desconectar dispositivos sin tener que reiniciar la máquina, y los dispositivos pueden ser reconocidos y configurados instantáneamente por usted.
Los proveedores de sistemas también querían algo más universal, para reemplazar la necesidad de muchos enchufes diferentes y ser más barato de producir. También necesitaría tener el alcance para ser desarrollado y mejorado a lo largo de los años, todo mientras conserva la compatibilidad con versiones anteriores.
Un raro momento de unidad
De vez en cuando, en el mundo de la informática, los planetas se alinean y ponen en marcha un período de productividad armoniosa, en beneficio de todos. En 1994, tal evento tuvo lugar cuando Intel, Microsoft, IBM, Compaq, DEC y Nortel formaron un consorcio, y acordaron que era el momento adecuado para crear un nuevo sistema de conexión, que satisfaría los deseos y necesidades de todos.
Fue Intel quien tomó la iniciativa con el desarrollo técnico, y Ajay Bhatt se convirtió en el arquitecto principal del proyecto; continuaría haciendo lo mismo para AGP (Puerto de gráficos acelerado) y PCI Express . En tan solo dos años, se publicó una especificación completa, junto con los chips para controlarlo todo.
Y así nació el bus serie universal , un reemplazo para los puertos serie, paralelo y PS / 2. Tenía un diseño limpio y simple y ofrecía mucho rendimiento. Sin embargo, la adopción del nuevo sistema fue lenta al principio, y no fue hasta que se lanzó la versión 1.1 en 1998 que las cosas realmente despegaron.
Era esto o el baile . No contestar. Fuente: Microsoft
Los cambios en la revisión fueron bastante menores, principalmente relacionados con la administración de energía y la compatibilidad del dispositivo, pero eso no fue lo que impulsó la adopción de USB. En cambio, fue Microsoft quien agregó compatibilidad con USB 1.1 en Windows 95, a través de una actualización en el otoño de 1997.
También hubo un fuerte marketing de Microsoft de la frase " Plug and Play ", una filosofía de diseño y requisitos del sistema para PC que tenía el objetivo de eliminar la complejidad de configurar computadoras y periféricos. Aunque no es el sistema más robusto, el USB fue un modelo perfecto para él.
Pero el mayor anuncio de USB surgió a través de la decisión de Apple de incorporarse de todo corazón, con el lanzamiento de un producto que sacudiría a toda la industria de las PC.
Adiós al beige y a los puertos antiguos: el primer iMac de Apple. Fuente: Wikipedia
Lanzado en agosto de 1998, el iMac original era brillante y audaz, y uno de los primeros PC llamados 'sin legado' . Este término se usó para indicar que la máquina evitó todos los puertos y dispositivos antiguos: todo lo que contenga sería el último hardware. Aunque para empezar no fue un éxito entre los críticos, se vendió en grandes cantidades: su popularidad puso al USB bien y realmente en el mapa, aunque pasarían bastantes años antes de que se vendieran las computadoras con Windows. sin concesiones a los puertos del pasado.
La especificación USB pasó a tener varias revisiones, siendo las principales 2.0 en 2001, 3.0 en 2008 y la última especificación (4.0) lanzada el año pasado. Pero volveremos a eso más adelante. Por ahora, echemos un vistazo a cómo funciona realmente el bus serie universal y qué lo hace mucho mejor que los sistemas que reemplazó.
Es solo simple por fuera
Comencemos por echar un vistazo al diseño general de las conexiones en una PC típica.
La siguiente imagen muestra cómo se comunican entre sí varios dispositivos en un sistema Intel X299 Skylake-X:
Puede ver los enchufes USB en la sección inferior izquierda del diagrama, y están conectados directamente a lo que Intel llama PCH: el concentrador del controlador de plataforma. En los días en que apareció el USB por primera vez, este chip se llamaba normalmente Southbridge y administraba el flujo de instrucciones y datos a componentes como discos duros, adaptadores de red, chips de audio, etc.
El PCH sigue desempeñando el mismo papel, aunque ahora tiene más cosas de las que ocuparse. Como comentario rápido, las CPU AMD Ryzen realmente manejan estas tareas directamente: no necesitan un PCH / Southbridge, aunque la mayoría de las placas base Zen vienen con un controlador adicional para ofrecer más puertos y sockets.
En el fondo de las entrañas de silicio del chip X299 hay una sección llamada host USB y contiene dos elementos clave: un controlador USB y un concentrador raíz . El primero es un pequeño procesador que emite todas las instrucciones, administra la entrega de energía, etc. Como todos estos circuitos integrados, necesita controladores para funcionar, pero casi siempre están integrados en el sistema operativo.
El concentrador raíz es la etapa principal para conectar dispositivos USB a la computadora, pero no todos los sistemas están configurados de esta manera. A veces, los dispositivos están conectados a otros concentradores, que a su vez se conectan en cadena hasta el host USB (el cuadro verde en la parte superior de la imagen).
La última especificación permite hasta 5 cadenas de concentradores y, si bien esto puede no parecer mucho, los mismos estándares también establecen que un solo controlador USB debe admitir hasta 127 dispositivos. ¿Necesitar más? Luego, simplemente agregue otro controlador, algo que en realidad es un requisito predeterminado en el estándar USB 3.0.
Los concentradores y dispositivos se comunican entre sí a través de un conjunto de conductos lógicos , y cada periférico conectado tiene un máximo de 32 canales de comunicación (16 ascendentes, 16 descendentes). Sin embargo, la mayoría solo usa un puñado y se habilitan cuando se requieren.
Un dispositivo multifunción como este necesita mover una gran cantidad de datos de un lado a otro.
Las tuberías se pueden clasificar simplemente por lo que hacen: enviar / recibir instrucciones o transmitir datos. En el caso de este último, el sistema lógico utilizado solo envía en una dirección, mientras que las instrucciones son siempre bidireccionales.
Un escáner USB, por ejemplo, solo enviaría datos a un concentrador, mientras que una impresora solo los recibiría. Los discos duros, las cámaras web y otros dispositivos multifunción hacen ambas cosas, por lo que habrá más tuberías activas funcionando.
Entonces, ¿cómo se transmite toda esta información?
En el caso de USB 1.0 a 2.0, se hace usando solo 2 cables, que es notablemente menos que los del antiguo puerto paralelo.
Pines USB 2.0: tierra, par de datos, alimentación
Los conectores de esta especificación contienen 4 pines: uno para alimentación de 5 voltios, dos para datos y uno a tierra. El pin de 5 V suministra toda la corriente necesaria para operar la electrónica en el conector y el dispositivo en sí, hasta los siguientes límites:
- USB 2.0 = 2,5 W
- USB 3.0 / 3.1 = 4.5 W
- USB 3.2 / 4 = 7.5 W
Estos límites se pueden eludir con USB 2.0 o superior, a través de los modos Carga de batería o Suministro de energía. Cuando se usa así, no se pueden transferir datos, pero se puede suministrar mucha más energía, algo que los puertos antiguos nunca podrían hacer.
Las líneas de datos funcionan como un par diferencial : el patrón de voltajes entre ellas proporciona al controlador del host el flujo de bits. Cuando un dispositivo se conecta a una toma USB, el controlador detecta un cambio de voltaje en uno de los pines de datos y esto inicia un proceso llamado enumeración de dispositivos . Esto comienza reiniciando el periférico, para evitar que esté en un estado incorrecto, luego el controlador lee toda la información relevante (tipo de dispositivo y velocidad máxima de datos, por ejemplo).
Dispositivos USB caer en una de muchas categorías, y cada uno tiene un conjunto de códigos - adaptadores Bluetooth, por ejemplo, caer en el W ireless adaptador categoría, mientras que un volante con retroalimentación de fuerza es un dispositivo de interfaz física .
Un grupo muy importante es la clase de almacenamiento masivo. Configurado inicialmente para discos duros externos y grabadoras de CD, se ha ampliado a lo largo de los años para incluir dispositivos de memoria flash, cámaras digitales y teléfonos inteligentes; este último ha experimentado un gran crecimiento en la capacidad de almacenamiento y, por lo general, utiliza una conexión USB. para transferir archivos a una computadora.
Solo se puede administrar un dispositivo a la vez (por eso es un bus en serie ), pero los controladores pueden cambiar entre ellos muy rápidamente, dando la impresión de que se manejan todos al mismo tiempo. Y aunque el bus no es tan rápido como la interfaz SATA, por ejemplo, las computadoras que usan unidades USB pueden arrancar desde ellas, así como ejecutar aplicaciones portátiles desde el dispositivo, sin la necesidad de instalarlas nunca.
Siempre en evolución, cada vez más confuso
En los primeros borradores de la especificación USB 1.0, las líneas de datos en la interfaz estaban diseñadas para funcionar a una sola velocidad: 5 MHz. Dado que las líneas funcionan como un par, el bus en sí tiene 1 bit de ancho, lo que da un ancho de banda máximo de 5 Mbits por segundo (o 640 kB / s).
Esta fue una gran mejora en el venerable puerto serie, pero menos de lo que se podría lograr con el puerto paralelo, cuando se configura en modo ECP (20 Mbits / s). Sin embargo, en ese momento, esta velocidad habría excluido muchos dispositivos muy simples, como ratones y teclados, por lo que la especificación se amplió para funcionar a dos velocidades de reloj, dando velocidades de datos de 1,5 Mbits / so 2 Mbits / s. Sin escatimar en licencias artísticas, los diseñadores las etiquetaron como Baja velocidad y Velocidad máxima .
Cuando se finalizó el USB 2.0 en 2001, el bus ofrecía una frecuencia de reloj más alta que tanto necesitaba, dando un pico de 480 Mbits por segundo de ancho de banda, y ¿qué es más rápido que la 'velocidad completa'? Alta velocidad , por supuesto. Esta confusión de nombres alcanzó su cenit cuando apareció la versión 3.0 7 años después.
4 pines para 1.1 / 2.0 y 5 pines de datos (en la parte posterior) para 3.0
Las dos líneas de datos de antes habían alcanzado su capacidad máxima y la única forma de continuar mejorando el ancho de banda era agregar más pines. El diseño original del USB tenía estos cambios en mente, por lo que el enchufe es relativamente espacioso y no está desordenado.
Estos pines adicionales permitieron que los datos fluyeran en ambos sentidos al mismo tiempo (es decir, en modo dúplex ) y proporcionaron un ancho de banda máximo teórico de 5 Gbits por segundo, más de 400 veces más que la especificación original. Y dado que estos carriles se ubicaron en el espacio encima de los anteriores, USB 3.0 conservó la compatibilidad total con versiones anteriores.
Entonces las cosas empezaron a ponerse bastante tontas ...
La versión 3.1 se lanzó en 2013, con líneas de datos más rápidas (10 Gbits / s), pero por alguna razón, esta revisión se denominó USB 3.1 Gen 2 . ¿Por qué segunda generación? Porque se cambió el nombre de 3.0 a 3.1 Gen 1 .
Cuando llegó la especificación USB 3.2 5 años después, la organización que ayudó a establecer y acordar los estándares USB, decidió que la capacidad aún mayor de 3.2 (hasta 20 Gbits / s) requería otro cambio de nombre:
- USB 3.1 Gen 1 -> USB Gen 3.2 1x1
- USB 3.1 Gen 2 -> USB Gen 3.2 2x1
Y el nuevo sistema tenía dos versiones además de todo esto: Gen 3.2 1x2 y 2x2, donde se utilizan dos conjuntos de líneas de datos en paralelo. Con tantas especificaciones y velocidades diferentes disponibles, uno pensaría que habría un estándar fijo para ayudar a identificar las cosas. Pero pensaría mal, eche un vistazo a esta placa posterior en una placa base Gigabyte:
Hay un total de 10 puertos USB, que cubren dos versiones diferentes de la especificación 3.2 y dos tipos de conectores (más sobre esto en breve). Ni la codificación de colores ni el sitio web de Gigabyte le dicen exactamente qué revisión es; todos están marcados como USB 3.2, pero ¿por qué algunos son azules y otros rojos?
Hay logotipos oficiales que los fabricantes pueden usar para indicar qué versión es, pero dado que su uso no se aplica de ninguna manera, rara vez se usan. Y otro ejercicio de cambio de nombre el año pasado (en el que se recomendó a los fabricantes que usaran SuperSpeed USB 5 Gbps, SuperSpeed USB 10 Gbps, etc.) solo destacó lo confuso que se había vuelto USB.
Cuando se lanzó USB4 (eso no es un error tipográfico, sinceramente, no es USB 4.0) en 2019, había la esperanza de que las cosas se aclararan mucho más. Lamentablemente, este no es el caso, y aunque los dispositivos USB4 prácticamente no se ven por ningún lado, es probable que la multitud de diferentes velocidades admitidas genere una confusión continua.
¿Tan fácil como A, B, C?
Cuando se estaba diseñando el USB, los ingenieros querían que el sistema fuera lo más infalible posible, eliminando la necesidad de perder tiempo intentando configurar todo. Esta noción se trasladó al formato de los enchufes: una forma era para el host USB y otra para el dispositivo a conectar. Finalmente, se hicieron conocidos como conectores de Tipo A y Tipo B.
Tipo A (izquierda) y Tipo B (derecha). Fuente: Lindy
La idea detrás de esto es que el usuario tenga claro qué extremo de un cable va a dónde. Desafortunadamente, los diseñadores también querían que el sistema fuera lo más barato posible de implementar, y el diseño del Tipo A puede hacer que en ocasiones sea notoriamente difícil de conectar.
Otro problema con la primera generación de USB es que el conector Tipo B era demasiado voluminoso para dispositivos pequeños, como reproductores multimedia y teléfonos móviles. Entonces, cuando se lanzó la versión 1.1 en 1998, se introdujeron versiones reducidas, conocidas como Mini-A y Mini-B . Estos fueron adoptados rápidamente por teléfonos y tabletas, aunque también se ganaron la reputación de ser bastante endebles.
Pero incluso estos eran demasiado grandes, una vez que los fabricantes de teléfonos inteligentes comenzaron su búsqueda de dispositivos cada vez más delgados. USB 2.0 resolvió esto no solo ofreciendo velocidades más rápidas, sino también dándonos los conectores Micro- A y B
Baby micro-B junto a Big Daddy Type A. Fuente: Lindy
USB 2.0 también ofrecía la toma Micro-AB (que acepta enchufes micro-A y micro-B) y luego, mientras que el tipo A de USB 3.0 era compatible con USB 2.0, el tipo B no lo era, físicamente no podía encajar en un enchufe 2.0 Tipo B.
Y en buena medida, la misma especificación también tenía el conector Micro-B SuperSpeed algo voluminoso , frustrando todo el propósito de ser 'micro'.
La familia disfuncional de conectores USB más antiguos. Fuente: Wikipedia
Todos estos cambios se produjeron en la búsqueda de un rendimiento cada vez mayor (puede ver claramente los pines de datos adicionales en USB 3.0) y para apaciguar a la creciente familia de miembros en el grupo de dirección, conocido como USB Implementers Forum ( USB-IF ) .
La necesidad de algo mejor era obvia ...
Tanto los fabricantes como los consumidores querían un conector que fuera pequeño, igual para el host y el dispositivo, y que ofreciera la posibilidad de un rendimiento cada vez mejor. Y así, junto con USB 3.1 (que se desarrolló por separado), nació el conector USB-C .
No solo reemplazó el requisito de distintos enchufes A / B, sino que también se puede insertar en cualquier orientación y se puede utilizar para sistemas de conexión distintos de USB (como DisplayPort, HDMI y Thunderbolt).
Padre e hijo: el tipo A y el USB-C originales
El conector USB-C tiene considerablemente más líneas de datos que el USB 3.0 Tipo A (lo siento, USB 3.2 SuperSpeed): dos están dedicados por completo a la compatibilidad con USB 2.0 y otros cuatro conjuntos de pares diferenciales proporcionan comunicación bidireccional. Estos cambios proporcionan hasta 40 Gbits / s de ancho de banda en la especificación más actual.
Con USB4, los vínculos con los enchufes antiguos se abandonaron para siempre, es USB-C o nada, pero pasarán muchos años más antes de que digamos adiós a los enchufes tipo A en PC y otros dispositivos.