Universal Serial Bus ( USB ) es un estándar industrial que permite el intercambio de datos y la entrega de energía entre muchos tipos de dispositivos electrónicos. Especifica su arquitectura, en particular su interfaz física , y los protocolos de comunicación para la transferencia de datos y la entrega de energía hacia y desde hosts , como computadoras personales , hacia y desde dispositivos periféricos , por ejemplo, pantallas, teclados y dispositivos de almacenamiento masivo, y hacia y desde concentradores intermedios , que multiplican el número de puertos de un host. [2]
Introducido en 1996, el USB fue diseñado originalmente para estandarizar la conexión de periféricos a computadoras, reemplazando varias interfaces como puertos seriales , puertos paralelos , puertos de juegos y puertos ADB . [3] Las primeras versiones de USB se volvieron comunes en una amplia gama de dispositivos, como teclados, ratones, cámaras, impresoras, escáneres, unidades flash, teléfonos inteligentes, consolas de juegos y bancos de energía. [4] Desde entonces, el USB ha evolucionado hasta convertirse en un estándar para reemplazar prácticamente todos los puertos comunes en computadoras, dispositivos móviles, periféricos, fuentes de alimentación y muchos otros dispositivos electrónicos pequeños.
En el estándar actual, el conector USB-C reemplaza a los numerosos conectores de alimentación (hasta 240 W), pantallas (por ejemplo, DisplayPort, HDMI) y muchos otros usos, así como a todos los conectores USB anteriores.
A partir de 2024, [update]USB consta de cuatro generaciones de especificaciones: USB 1.x, USB 2.0, USB 3. x y USB4 . USB4 mejora la transferencia de datos y la funcionalidad de suministro de energía con
... una arquitectura de tunelización orientada a la conexión diseñada para combinar múltiples protocolos en una única interfaz física de modo que la velocidad y el rendimiento totales de USB4 Fabric se puedan compartir de forma dinámica. [2]
USB4 es especialmente compatible con la tunelización de los protocolos Thunderbolt 3 , concretamente PCI Express (PCIe, interfaz de carga/almacenamiento) y DisplayPort (interfaz de visualización). USB4 también añade interfaces de host a host. [2]
Cada subversión de la especificación admite diferentes velocidades de señalización , desde 1,5 y 12 Mbit/s en total en USB 1.0 hasta 80 Gbit/s (en cada dirección) en USB4. [5] [6] [7] [2] USB también proporciona energía a dispositivos periféricos; las últimas versiones del estándar amplían los límites de suministro de energía para la carga de baterías y dispositivos que requieren hasta 240 vatios ( USB Power Delivery (USB-PD) ). [8] A lo largo de los años, USB(-PD) se ha adoptado como el formato de carga y fuente de alimentación estándar para muchos dispositivos móviles, como teléfonos móviles, lo que reduce la necesidad de cargadores propietarios. [9]
El USB fue diseñado para estandarizar la conexión de periféricos a las computadoras personales, tanto para intercambiar datos como para suministrar energía eléctrica. Ha reemplazado en gran medida a interfaces como los puertos seriales y los puertos paralelos y se ha vuelto común en varios dispositivos. Los periféricos conectados a través de USB incluyen teclados y ratones de computadora, cámaras de video, impresoras, reproductores multimedia portátiles, teléfonos digitales móviles (portátiles), unidades de disco y adaptadores de red.
Los conectores USB han ido sustituyendo cada vez más a otros tipos de cables de carga para dispositivos portátiles.
Las interfaces del conector USB se clasifican en tres tipos: los numerosos conectores heredados Tipo A (ascendente) y Tipo B (descendente) que se encuentran en hosts , concentradores y dispositivos periféricos , y el moderno conector Tipo C ( USB-C ), que reemplaza a los numerosos conectores heredados como el único conector aplicable para USB4.
Los conectores Tipo-A y Tipo-B se comercializaban en tamaños Estándar, Mini y Micro. El formato estándar era el más grande y se utilizaba principalmente para equipos periféricos de escritorio y de mayor tamaño. Los conectores Mini-USB (Mini-A, Mini-B, Mini-AB) se introdujeron para dispositivos móviles. Aun así, fueron rápidamente reemplazados por los conectores Micro-USB más delgados (Micro-A, Micro-B, Micro-AB). El conector Tipo-C, también conocido como USB-C, no es exclusivo de USB, es el único estándar actual para USB, es necesario para USB4 y es requerido por otros estándares, incluidos los modernos DisplayPort y Thunderbolt. Es reversible y puede admitir varias funcionalidades y protocolos, incluido USB; algunos son obligatorios y muchos son opcionales, según el tipo de hardware: host, dispositivo periférico o concentrador. [10] [11]
Las especificaciones USB proporcionan compatibilidad con versiones anteriores, lo que generalmente da como resultado velocidades de señalización reducidas, potencia máxima ofrecida y otras capacidades. La especificación USB 1.1 reemplaza a USB 1.0. La especificación USB 2.0 es compatible con versiones anteriores de USB 1.0/1.1. La especificación USB 3.2 reemplaza a USB 3.1 (y USB 3.0) al tiempo que incluye la especificación USB 2.0. USB4 "reemplaza funcionalmente" a USB 3.2 al tiempo que conserva el bus USB 2.0 que funciona en paralelo. [5] [6] [7] [2]
La especificación USB 3.0 definió una nueva arquitectura y protocolo llamado SuperSpeed (también conocido como SuperSpeed USB , comercializado como SS ), que incluía un nuevo carril para un nuevo esquema de codificación de señales (símbolos 8b/10b, 5 Gbit/s; más tarde también conocido como Gen 1 ) que proporcionaba transferencias de datos full-duplex que requerían físicamente cinco cables y pines adicionales, al tiempo que conservaba la arquitectura y los protocolos USB 2.0 y, por lo tanto, mantenía los cuatro pines/cables originales para la compatibilidad con versiones anteriores de USB 2.0, lo que daba como resultado 9 cables (con 9 o 10 pines en las interfaces del conector; el pin ID no está cableado) en total.
La especificación USB 3.1 introdujo un sistema SuperSpeed mejorado , al tiempo que conservaba la arquitectura y el protocolo SuperSpeed ( SuperSpeed USB ), con una arquitectura y un protocolo SuperSpeedPlus adicionales (también conocido como SuperSpeedPlus USB ) que añadían un nuevo esquema de codificación (símbolos 128b/132b, 10 Gbit/s; también conocido como Gen 2 ); durante algún tiempo comercializado como SuperSpeed+ ( SS+ ).
La especificación USB 3.2 [7] agregó un segundo carril al sistema SuperSpeed mejorado además de otras mejoras para que la parte del sistema USB SuperSpeedPlus implemente los modos de operación Gen 1×2 , Gen 2×1 y Gen 2×2 . Sin embargo, la parte USB SuperSpeed del sistema aún implementa el modo de operación Gen 1×1 de un carril . Por lo tanto, las operaciones de dos carriles, a saber, USB 3.2 Gen 1× 2 (10 Gbit/s) y Gen 2× 2 (20 Gbit/s), solo son posibles con USB-C con todas las funciones. A partir de 2023, se implementan con poca frecuencia; Intel, sin embargo, comenzó a incluirlos en sus modelos de procesadores SoC de 11.ª generación, pero Apple nunca los proporcionó. Por otro lado, USB 3.2 Gen 1(×1) (5 Gbit/s) y Gen 2(×1) (10 Gbit/s) han sido bastante comunes durante algunos años.
Cada conexión USB se realiza mediante dos conectores: un receptáculo y un enchufe . Las imágenes muestran solo los receptáculos:
El bus serie universal se desarrolló para simplificar y mejorar la interfaz entre computadoras personales y dispositivos periféricos, como teléfonos celulares, accesorios de computadora y monitores, en comparación con interfaces estándar o propietarias ad hoc existentes anteriormente. [12]
Desde la perspectiva del usuario de la computadora, la interfaz USB mejora la facilidad de uso de varias maneras:
El estándar USB también ofrece múltiples beneficios para los fabricantes de hardware y los desarrolladores de software, específicamente en la relativa facilidad de implementación:
Como ocurre con todos los estándares, el USB posee múltiples limitaciones en su diseño:
Para un desarrollador de productos, el uso de USB requiere la implementación de un protocolo complejo e implica un controlador "inteligente" en el dispositivo periférico. Los desarrolladores de dispositivos USB destinados a la venta al público generalmente deben obtener un ID USB, lo que requiere que paguen una tarifa al USB Implementers Forum (USB-IF). Los desarrolladores de productos que utilizan la especificación USB deben firmar un acuerdo con el USB-IF. El uso de los logotipos USB en el producto requiere tarifas anuales y membresía en la organización. [12]
Un grupo de siete empresas comenzó el desarrollo de USB en 1995: [16] Compaq , DEC , IBM , Intel , Microsoft , NEC y Nortel . El objetivo era hacer que fuera fundamentalmente más fácil conectar dispositivos externos a las PC mediante la sustitución de la multitud de conectores en la parte posterior de las PC, abordando los problemas de usabilidad de las interfaces existentes y simplificando la configuración del software de todos los dispositivos conectados a USB, así como permitiendo mayores tasas de transferencia de datos para dispositivos externos y funciones plug and play . [17] Ajay Bhatt y su equipo trabajaron en el estándar en Intel; [18] [19] los primeros circuitos integrados compatibles con USB fueron producidos por Intel en 1995. [20]
Lanzado en enero de 1996, USB 1.0 especificó velocidades de señalización de 1,5 Mbit/s ( ancho de banda bajo o baja velocidad ) y 12 Mbit/s ( velocidad máxima ). [21] No permitía cables de extensión, debido a limitaciones de tiempo y potencia. Pocos dispositivos USB llegaron al mercado hasta que se lanzó USB 1.1 en agosto de 1998. USB 1.1 fue la primera revisión que se adoptó ampliamente y condujo a lo que Microsoft denominó " PC sin legado ". [22] [23] [24]
Ni USB 1.0 ni 1.1 especificaron un diseño para ningún conector más pequeño que el tipo estándar A o tipo B. Aunque aparecieron muchos diseños para un conector tipo B miniaturizado en muchos periféricos, la conformidad con el estándar USB 1. x se vio obstaculizada por el tratamiento de los periféricos que tenían conectores miniatura como si tuvieran una conexión atada (es decir: sin enchufe ni receptáculo en el extremo periférico). No se conocía ningún conector tipo A miniatura hasta que se introdujo uno en USB 2.0 (revisión 1.01).
USB 2.0 se lanzó en abril de 2000, agregando una tasa de señalización máxima más alta de 480 Mbit/s (rendimiento máximo de datos teórico 53 MByte/s [25] ) denominada Alta Velocidad o Alto Ancho de Banda , además de la tasa de señalización USB 1.x Full Speed de 12 Mbit/s (rendimiento máximo de datos teórico 1,2 MByte/s). [ 26 ]
Se han realizado modificaciones a la especificación USB mediante avisos de cambios de ingeniería (ECN). Los más importantes de estos ECN están incluidos en el paquete de especificaciones USB 2.0 disponible en USB.org: [27]
La especificación USB 3.0 se publicó el 12 de noviembre de 2008, y su gestión se transfirió del USB 3.0 Promoter Group al USB Implementers Forum (USB-IF) y se anunció el 17 de noviembre de 2008 en la SuperSpeed USB Developers Conference. [29]
USB 3.0 agrega una nueva arquitectura y protocolo denominado SuperSpeed , con conectores, receptáculos y cables compatibles con versiones anteriores . Los conectores y receptáculos SuperSpeed se identifican con un logotipo distintivo e insertos azules en los receptáculos de formato estándar.
La arquitectura SuperSpeed permite un modo de funcionamiento a una velocidad de 5,0 Gbit/s, además de los tres modos de funcionamiento existentes. Su eficiencia depende de una serie de factores, entre los que se incluyen la codificación de símbolos físicos y la sobrecarga a nivel de enlace. A una velocidad de señalización de 5 Gbit/s con codificación 8b/10b , cada byte necesita 10 bits para transmitirse, por lo que el rendimiento bruto es de 500 MB/s. Cuando se consideran el control de flujo, el enmarcado de paquetes y la sobrecarga del protocolo, es realista que se transmitan a una aplicación aproximadamente dos tercios del rendimiento bruto, o 330 MB/s. [30] : 4–19 La arquitectura de SuperSpeed es full-duplex ; todas las implementaciones anteriores, USB 1.0-2.0, son semidúplex, arbitradas por el host. [31]
Los dispositivos de baja y alta potencia siguen funcionando con este estándar, pero los dispositivos que implementan SuperSpeed pueden proporcionar una corriente aumentada de entre 150 mA y 900 mA, en pasos discretos de 150 mA. [30] : 9–9
USB 3.0 también introdujo el protocolo USB Attached SCSI (UASP) , que proporciona velocidades de transferencia generalmente más rápidas que el protocolo BOT (Bulk-Only-Transfer).
USB 3.1 , lanzado en julio de 2013, tiene dos variantes. La primera conserva la arquitectura y el protocolo SuperSpeed de USB 3.0 y su modo de funcionamiento se denomina recientemente USB 3.1 Gen 1 , [32] [33] y la segunda versión introduce una arquitectura y un protocolo SuperSpeedPlus distintivamente nuevos con un segundo modo de funcionamiento denominado USB 3.1 Gen 2 (comercializado como SuperSpeed+ USB ). SuperSpeed+ duplica la velocidad máxima de señalización a 10 Gbit/s (posteriormente comercializado como SuperSpeed USB 10 Gbps por la especificación USB 3.2), al tiempo que reduce la sobrecarga de codificación de línea a solo el 3% al cambiar el esquema de codificación a 128b/132b . [32] [34]
USB 3.2 , lanzado en septiembre de 2017, [35] conserva las arquitecturas y protocolos USB 3.1 SuperSpeed y SuperSpeedPlus existentes y sus respectivos modos de operación, pero introduce dos modos de operación SuperSpeedPlus adicionales ( USB 3.2 Gen 1×2 y USB 3.2 Gen 2×2 ) con la nueva estructura USB-C con tasas de señalización de 10 y 20 Gbit/s (tasas de datos sin procesar de 1212 y 2424 MB/s). El aumento en el ancho de banda es el resultado de la operación de dos carriles sobre cables existentes que originalmente estaban destinados a las capacidades flip-flop del conector USB-C. [36]
A partir de la especificación USB 3.2, USB-IF introdujo un nuevo esquema de nombres. [37] Para ayudar a las empresas con la marca de los diferentes modos de operación, USB-IF recomendó marcar las capacidades de 5, 10 y 20 Gbit/s como SuperSpeed USB 5Gbps , SuperSpeed USB 10 Gbps y SuperSpeed USB 20 Gbps , respectivamente. [38]
En 2023, fueron reemplazados nuevamente, [39] eliminando "SuperSpeed" , con USB 5Gbps , USB 10Gbps y USB 20Gbps . Con nuevos logotipos de empaque y puerto . [40]
La especificación USB4 fue publicada el 29 de agosto de 2019 por el USB Implementers Forum. [41]
La especificación USB4 2.0 fue publicada el 1 de septiembre de 2022 por el USB Implementers Forum. [42]
USB4 se basa en el protocolo Thunderbolt 3. [43] Admite un rendimiento de 40 Gbit/s, es compatible con Thunderbolt 3 y compatible con versiones anteriores de USB 3.2 y USB 2.0. [44] [45] La arquitectura define un método para compartir un único enlace de alta velocidad con múltiples tipos de dispositivos finales de forma dinámica que sirva mejor a la transferencia de datos por tipo y aplicación.
Durante el CES 2020 , USB-IF e Intel declararon su intención de permitir productos USB4 que admitan todas las funciones opcionales como los productos Thunderbolt 4 .
El USB4 2.0 con velocidades de 80 Gbit/s se presentará en noviembre de 2024. [46] [47] Se darán a conocer más detalles técnicos en dos días para desarrolladores USB programados para noviembre de 2024. [48]
La especificación USB4 establece que las siguientes tecnologías serán compatibles con USB4: [41]
Debido a los confusos esquemas de nombres anteriores, USB-IF decidió cambiarlos una vez más. A partir del 2 de septiembre de 2022, los nombres comerciales siguen la sintaxis "USB x Gbps", donde x es la velocidad de transferencia en Gbit/s. [49] Se puede ver una descripción general de los nombres y logotipos actualizados en la tabla adyacente.
Los modos de funcionamiento USB 3.2 Gen 2×2 y USB4 Gen 2×2 – o: USB 3.2 Gen 2×1 y USB4 Gen 2×1 – no son intercambiables ni compatibles; todos los controladores participantes deben funcionar con el mismo modo.
Un sistema USB consta de un host con uno o más puertos orientados hacia abajo (DFP), [57] y múltiples periféricos, formando una topología en estrella escalonada. Se pueden incluir concentradores USB adicionales , lo que permite hasta cinco niveles. Un host USB puede tener múltiples controladores, cada uno con uno o más puertos. Se pueden conectar hasta 127 dispositivos a un solo controlador de host. [58] [30] : 8–29 Los dispositivos USB se vinculan en serie a través de concentradores. El concentrador integrado en el controlador de host se denomina concentrador raíz .
Un dispositivo USB puede estar formado por varios subdispositivos lógicos a los que se denomina funciones de dispositivo . Un dispositivo compuesto puede proporcionar varias funciones, por ejemplo, una cámara web (función de dispositivo de vídeo) con un micrófono integrado (función de dispositivo de audio). Una alternativa a esto es un dispositivo compuesto , en el que el host asigna a cada dispositivo lógico una dirección distinta y todos los dispositivos lógicos se conectan a un concentrador integrado que se conecta al cable USB físico.
La comunicación entre dispositivos USB se basa en canales lógicos ( tuberías ). Una tubería es una conexión desde el controlador del host a una entidad lógica dentro de un dispositivo, llamada punto final . Debido a que las tuberías corresponden a los puntos finales, los términos a veces se usan indistintamente. Cada dispositivo USB puede tener hasta 32 puntos finales (16 de entrada y 16 de salida ), aunque es raro tener tantos. Los puntos finales son definidos y numerados por el dispositivo durante la inicialización (el período posterior a la conexión física llamado "enumeración") y, por lo tanto, son relativamente permanentes, mientras que las tuberías pueden abrirse y cerrarse.
Hay dos tipos de canalización: flujo y mensaje.
Cuando un host inicia una transferencia de datos, envía un paquete TOKEN que contiene un punto final especificado con una tupla de (dirección_dispositivo, número_punto_final) . Si la transferencia es desde el host al punto final, el host envía un paquete OUT (una especialización de un paquete TOKEN) con la dirección del dispositivo y el número de punto final deseados. Si la transferencia de datos es desde el dispositivo al host, el host envía un paquete IN en su lugar. Si el punto final de destino es un punto final unidireccional cuya dirección designada por el fabricante no coincide con el paquete TOKEN (por ejemplo, la dirección designada por el fabricante es IN mientras que el paquete TOKEN es un paquete OUT), el paquete TOKEN se ignora. De lo contrario, se acepta y la transacción de datos puede comenzar. Un punto final bidireccional, por otro lado, acepta paquetes IN y OUT.
Los puntos finales se agrupan en interfaces y cada interfaz está asociada con una única función del dispositivo. Una excepción a esto es el punto final cero, que se utiliza para la configuración del dispositivo y no está asociado con ninguna interfaz. Una única función del dispositivo compuesta por interfaces controladas de forma independiente se denomina dispositivo compuesto . Un dispositivo compuesto solo tiene una única dirección de dispositivo porque el host solo asigna una dirección de dispositivo a una función.
Cuando un dispositivo USB se conecta por primera vez a un host USB, se inicia el proceso de enumeración de dispositivos USB. La enumeración comienza enviando una señal de reinicio al dispositivo USB. La velocidad de señalización del dispositivo USB se determina durante la señalización de reinicio. Después del reinicio, el host lee la información del dispositivo USB y se le asigna una dirección única de 7 bits. Si el host admite el dispositivo, se cargan los controladores de dispositivo necesarios para comunicarse con el dispositivo y el dispositivo se configura en un estado configurado. Si se reinicia el host USB, el proceso de enumeración se repite para todos los dispositivos conectados.
El controlador del host dirige el flujo de tráfico a los dispositivos, por lo que ningún dispositivo USB puede transferir datos en el bus sin una solicitud explícita del controlador del host. En USB 2.0, el controlador del host sondea el bus en busca de tráfico, generalmente de forma rotatoria . El rendimiento de cada puerto USB está determinado por la velocidad más lenta del puerto USB o del dispositivo USB conectado al puerto.
Los concentradores USB 2.0 de alta velocidad contienen dispositivos denominados traductores de transacciones que realizan la conversión entre buses USB 2.0 de alta velocidad y buses de velocidad completa y baja. Puede haber un traductor por concentrador o por puerto.
Dado que hay dos controladores independientes en cada host USB 3.0, los dispositivos USB 3.0 transmiten y reciben a velocidades de señalización USB 3.0 independientemente de los dispositivos USB 2.0 o anteriores conectados a ese host. Las velocidades de señalización operativas para dispositivos anteriores se configuran de la manera tradicional.
La funcionalidad de un dispositivo USB se define mediante un código de clase enviado a un host USB. Esto permite que el host cargue módulos de software para el dispositivo y admita nuevos dispositivos de distintos fabricantes.
Las clases de dispositivos incluyen: [60]
La clase de dispositivo de almacenamiento masivo USB (MSC o UMS) estandariza las conexiones a los dispositivos de almacenamiento. En un principio, estaba pensada para unidades magnéticas y ópticas, pero se ha ampliado para admitir unidades flash y lectores de tarjetas SD . La capacidad de arrancar una tarjeta SD bloqueada contra escritura con un adaptador USB es especialmente ventajosa para mantener la integridad y el estado inalterable e inalterable del medio de arranque.
Aunque la mayoría de las computadoras personales desde principios de 2005 pueden arrancar desde dispositivos de almacenamiento masivo USB, el USB no está pensado como bus principal para el almacenamiento interno de una computadora. Sin embargo, el USB tiene la ventaja de permitir el intercambio en caliente , lo que lo hace útil para periféricos móviles, incluidas unidades de varios tipos.
Varios fabricantes ofrecen unidades de disco duro USB portátiles externas o carcasas vacías para unidades de disco. Estas ofrecen un rendimiento comparable al de las unidades internas, limitado por la cantidad y los tipos de dispositivos USB conectados y por el límite superior de la interfaz USB. Otros estándares que compiten para la conectividad de unidades externas incluyen eSATA , ExpressCard , FireWire (IEEE 1394) y, más recientemente, Thunderbolt .
Otro uso de los dispositivos de almacenamiento masivo USB es la ejecución portátil de aplicaciones de software (como navegadores web y clientes VoIP) sin necesidad de instalarlos en el ordenador host. [64] [65]
El Protocolo de Transferencia de Medios (MTP) fue diseñado por Microsoft para dar un acceso de nivel superior al sistema de archivos de un dispositivo que el almacenamiento masivo USB, a nivel de archivos en lugar de bloques de disco. También tiene características DRM opcionales . MTP fue diseñado para su uso con reproductores multimedia portátiles , pero desde entonces se ha adoptado como el protocolo de acceso de almacenamiento principal del sistema operativo Android a partir de la versión 4.1 Jelly Bean, así como Windows Phone 8 (los dispositivos Windows Phone 7 habían utilizado el protocolo Zune, una evolución de MTP). La razón principal de esto es que MTP no requiere acceso exclusivo al dispositivo de almacenamiento de la forma en que lo hace UMS, aliviando posibles problemas si un programa Android solicita el almacenamiento mientras está conectado a una computadora. El principal inconveniente es que MTP no es tan compatible fuera de los sistemas operativos Windows.
Un ratón o teclado USB se puede utilizar normalmente con ordenadores antiguos que tienen puertos PS/2 con la ayuda de un pequeño adaptador USB a PS/2. Para ratones y teclados con soporte de protocolo dual, se puede utilizar un adaptador pasivo que no contiene circuitos lógicos : el hardware USB del teclado o ratón está diseñado para detectar si está conectado a un puerto USB o PS/2 y comunicarse utilizando el protocolo adecuado. [ cita requerida ] También existen convertidores activos que conectan teclados y ratones USB (normalmente uno de cada uno) a puertos PS/2. [66]
La actualización del firmware del dispositivo (DFU) es un mecanismo genérico para actualizar el firmware de los dispositivos USB con versiones mejoradas proporcionadas por sus fabricantes, ofreciendo (por ejemplo) una forma de implementar correcciones de errores de firmware. Durante la operación de actualización del firmware, los dispositivos USB cambian su modo operativo y se convierten en programadores PROM . Cualquier clase de dispositivo USB puede implementar esta capacidad siguiendo las especificaciones oficiales de DFU. Al hacerlo, se permite el uso de herramientas de host compatibles con DFU para actualizar el dispositivo. [63] [67] [68]
DFU se utiliza a veces como un protocolo de programación de memoria flash en microcontroladores con funcionalidad de cargador de arranque USB incorporada. [69]
El grupo de trabajo de dispositivos USB ha establecido especificaciones para la transmisión de audio y se han desarrollado e implementado estándares específicos para usos de clase de audio, como micrófonos, altavoces, auriculares, teléfonos, instrumentos musicales, etc. El grupo de trabajo ha publicado tres versiones de especificaciones de dispositivos de audio: [70] [71] USB Audio 1.0, 2.0 y 3.0, conocidas como "UAC" [72] o "ADC". [73]
UAC 3.0 introduce principalmente mejoras para dispositivos portátiles, como un menor consumo de energía al saturar los datos y permanecer en modo de bajo consumo con mayor frecuencia, y dominios de energía para diferentes componentes del dispositivo, lo que permite apagarlos cuando no están en uso. [74]
UAC 2.0 introdujo soporte para USB de alta velocidad (además de Full Speed), lo que permite un mayor ancho de banda para interfaces multicanal, frecuencias de muestreo más altas, [75] menor latencia inherente, [76] [72] y una mejora de 8x en la resolución de tiempo en modos sincrónicos y adaptativos. [72] UAC2 también introdujo el concepto de dominios de reloj, que proporciona información al host sobre qué terminales de entrada y salida derivan sus relojes de la misma fuente, así como un soporte mejorado para codificaciones de audio como DSD , efectos de audio, agrupamiento de canales, controles de usuario y descripciones de dispositivos. [72] [77]
Los dispositivos UAC 1.0 siguen siendo comunes, sin embargo, debido a su compatibilidad sin controladores entre plataformas, [75] y también en parte debido a la falla de Microsoft en implementar UAC 2.0 durante más de una década después de su publicación, habiendo finalmente agregado soporte para Windows 10 a través de Creators Update el 20 de marzo de 2017. [78] [79] [77] UAC 2.0 también es compatible con macOS , iOS y Linux , [72] sin embargo, Android solo implementa un subconjunto de la especificación UAC 1.0. [80]
USB proporciona tres tipos de sincronización isócrona (de ancho de banda fijo), [81] todos ellos utilizados por dispositivos de audio: [82]
Aunque la especificación USB describía originalmente el modo asincrónico como utilizado en "altavoces de bajo coste" y el modo adaptativo en "altavoces digitales de alta gama", [86] existe la percepción opuesta en el mundo de la alta fidelidad , donde el modo asincrónico se publicita como una característica y los modos adaptativos/sincrónicos tienen mala reputación. [87] [88] [80] En realidad, todos los tipos pueden ser de alta o baja calidad, dependiendo de la calidad de su ingeniería y de la aplicación. [84] [72] [89] El modo asincrónico tiene la ventaja de no estar ligado al reloj de la computadora, pero la desventaja de requerir una conversión de frecuencia de muestreo al combinar varias fuentes.
Los conectores que especifica el comité USB respaldan una serie de objetivos subyacentes del USB y reflejan las lecciones aprendidas de los muchos conectores que ha utilizado la industria informática. El conector hembra montado en el host o dispositivo se denomina receptáculo y el conector macho conectado al cable se denomina enchufe . [30] : 2-5–2-6 Los documentos oficiales de especificación USB también definen periódicamente el término macho para representar el enchufe y hembra para representar el receptáculo. [90]
El diseño tiene como objetivo dificultar la inserción incorrecta de un enchufe USB en su receptáculo. La especificación USB requiere que el enchufe del cable y el receptáculo estén marcados para que el usuario pueda reconocer la orientación adecuada. [30] Sin embargo, el enchufe USB-C es reversible. Los cables USB y los dispositivos USB pequeños se mantienen en su lugar mediante la fuerza de sujeción del receptáculo, sin tornillos, clips ni tornillos giratorios como utilizan algunos conectores.
Los conectores A y B diferentes evitan que se conecten dos fuentes de alimentación por accidente. Sin embargo, parte de esta topología dirigida se pierde con la llegada de las conexiones USB multipropósito (como USB On-The-Go en los teléfonos inteligentes y los enrutadores Wi-Fi alimentados por USB), que requieren cables A a A, B a B y, a veces, cables divisores en Y.
Los tipos de conectores USB se multiplicaron a medida que avanzaba la especificación. La especificación USB original detallaba enchufes y receptáculos estándar A y estándar B. Los conectores eran diferentes para que los usuarios no pudieran conectar un receptáculo de computadora a otro. Los pines de datos en los enchufes estándar están empotrados en comparación con los pines de alimentación, de modo que el dispositivo puede encenderse antes de establecer una conexión de datos. Algunos dispositivos funcionan en modos diferentes según se realice o no la conexión de datos. Las bases de carga suministran energía y no incluyen un dispositivo host ni pines de datos, lo que permite que cualquier dispositivo USB compatible se cargue o funcione desde un cable USB estándar. Los cables de carga proporcionan conexiones de alimentación, pero no de datos. En un cable solo de carga, los cables de datos se cortocircuitan en el extremo del dispositivo; de lo contrario, el dispositivo puede rechazar el cargador por no ser adecuado.
El estándar USB 1.1 especifica que un cable estándar puede tener una longitud máxima de 5 metros (16 pies 5 pulgadas) con dispositivos que funcionan a máxima velocidad (12 Mbit/s), y una longitud máxima de 3 metros (9 pies 10 pulgadas) con dispositivos que funcionan a baja velocidad (1,5 Mbit/s). [91] [92] [93]
USB 2.0 permite una longitud máxima de cable de 5 metros (16 pies 5 pulgadas) para dispositivos que funcionan a alta velocidad (480 Mbit/s). [93]
El estándar USB 3.0 no especifica directamente una longitud máxima de cable, y solo requiere que todos los cables cumplan con una especificación eléctrica: para el cableado de cobre con cables AWG 26, la longitud práctica máxima es de 3 metros (9 pies 10 pulgadas). [94]
En el mercado se pueden encontrar cables puente USB o cables de transferencia de datos que ofrecen conexiones directas de PC a PC. Un cable puente es un cable especial con un chip y componentes electrónicos activos en el medio del cable. El chip en el medio del cable actúa como un periférico para ambos ordenadores y permite la comunicación punto a punto entre ellos. Los cables puente USB se utilizan para transferir archivos entre dos ordenadores a través de sus puertos USB.
Popularizada por Microsoft como Windows Easy Transfer , la utilidad de Microsoft utilizaba un cable puente USB especial para transferir archivos y configuraciones personales desde un ordenador con una versión anterior de Windows a un ordenador con una versión más reciente. En el contexto del uso del software Windows Easy Transfer , el cable puente a veces se conoce como cable Easy Transfer .
Muchos cables de transferencia de datos o puentes USB siguen siendo USB 2.0, pero también hay una serie de cables de transferencia USB 3.0. A pesar de que el USB 3.0 es 10 veces más rápido que el USB 2.0, los cables de transferencia USB 3.0 son solo entre 2 y 3 veces más rápidos dado su diseño. [ Aclaración necesaria ]
La especificación USB 3.0 introdujo un cable cruzado A-A sin alimentación para conectar dos PC. Estos no están pensados para la transferencia de datos, sino para usos de diagnóstico.
Los cables puente USB han perdido importancia con las capacidades de dispositivo de doble función USB introducidas con la especificación USB 3.1. Según las especificaciones más recientes, USB admite la mayoría de los escenarios que conectan sistemas directamente con un cable tipo C. Sin embargo, para que la capacidad funcione, los sistemas conectados deben admitir el cambio de funciones. Las capacidades de doble función requieren que haya dos controladores dentro del sistema, así como un controlador de función . Si bien esto se puede esperar en una plataforma móvil como una tableta o un teléfono, las PC de escritorio y las portátiles a menudo no admiten funciones duales. [95]
Los conectores USB ascendentes suministran energía a un voltaje nominal de 5 V CC a través del pin V_BUS a los dispositivos USB descendentes.
En esta sección se describe el modelo de distribución de energía de USB que existía antes de Power-Delivery (USB-PD). En los dispositivos que no utilizan PD, USB proporciona hasta 7,5 W a través de conectores tipo A y tipo B, y hasta 15 W a través de USB-C. Toda la energía USB anterior a PD se proporciona a 5 V.
Para un host que proporciona energía a los dispositivos, USB tiene un concepto de carga unitaria . Cualquier dispositivo puede consumir energía de una unidad y los dispositivos pueden solicitar más energía en estos pasos discretos. No es necesario que el host proporcione la energía solicitada y un dispositivo no puede consumir más energía que la negociada.
Los dispositivos que no consumen más de una unidad se denominan dispositivos de bajo consumo . Todos los dispositivos deben actuar como dispositivos de bajo consumo cuando comienzan sin configurar. Para dispositivos USB hasta USB 2.0, una carga unitaria es de 100 mA (o 500 mW), mientras que USB 3.0 define una carga unitaria como 150 mA (750 mW). El USB-C con todas las funciones puede admitir dispositivos de bajo consumo con una carga unitaria de 250 mA (o 1250 mW).
Los dispositivos que consumen más de una unidad son dispositivos de alta potencia (como las típicas unidades de disco duro de 2,5 pulgadas). USB hasta 2.0 permite que un host o concentrador proporcione hasta 2,5 W a cada dispositivo, en cinco pasos discretos de 100 mA, y los dispositivos SuperSpeed (USB 3.0 y superiores) permiten que un host o un concentrador proporcione hasta 4,5 W en seis pasos de 150 mA. USB-C admite dispositivos de alta potencia con hasta 7,5 W, en seis pasos de 250 mA. USB-C con todas las funciones puede admitir hasta 15 W.
Para reconocer el modo de carga de batería, un puerto de carga dedicado coloca una resistencia que no supera los 200 Ω entre los terminales D+ y D−. Los carriles de datos en cortocircuito o casi en cortocircuito con menos de 200 Ω de resistencia entre los terminales D+ y D− significan un puerto de carga dedicado (DCP) con velocidades de carga indefinidas. [96] [97]
Además del USB estándar, existe un sistema propietario de alta potencia conocido como PoweredUSB , desarrollado en la década de 1990 y utilizado principalmente en terminales de puntos de venta como cajas registradoras.
Las señales USB se transmiten utilizando señalización diferencial en cables de datos de par trenzado con una impedancia característica de 90 Ω ± 15% . [98] USB 2.0 y las especificaciones anteriores definen un solo par en half-duplex (HDx). USB 3.0 y las especificaciones posteriores definen un par dedicado para la compatibilidad con USB 2.0 y dos o cuatro pares para la transferencia de datos: dos pares en full-duplex (FDx) para variantes de un solo carril requieren al menos conectores SuperSpeed (SS); cuatro pares en full-duplex para variantes de dos carriles ( ×2 ) requieren conectores USB-C. USB4 Gen 4 requiere el uso de los cuatro pares, pero permite la configuración de pares asimétricos. [99] En este caso, se utiliza un carril para los datos ascendentes y los otros tres para los datos descendentes o viceversa. USB4 Gen 4 utiliza modulación de amplitud de pulso en 3 niveles, lo que proporciona un trit de información por cada baudio transmitido, la frecuencia de transmisión de 12,8 GHz se traduce a una velocidad de transmisión de 25,6 GBd [100] y la traducción de 11 bits a 7 trit proporciona una velocidad de transmisión máxima teórica de poco más de 40,2 Gbit/s. [101]
Una conexión USB siempre se realiza entre un extremo A , ya sea un host o un puerto de bajada de un concentrador, y un extremo B , ya sea un dispositivo periférico o el puerto de subida de un concentrador. Históricamente, esto se hizo evidente por el hecho de que los hosts solo tenían puertos Tipo A y los dispositivos periféricos solo tenían Tipo B, y cada cable (válido) tenía un enchufe Tipo A y un enchufe Tipo B. USB-C (Tipo C) es un conector único que reemplaza todos los conectores Tipo A y Tipo B ( conectores heredados ), por lo que cuando ambos lados son equipos modernos con puertos USB-C, negocian cuál es el host (A) y cuál es el dispositivo (B).
Durante la comunicación USB, los datos se transmiten como paquetes . Inicialmente, todos los paquetes se envían desde el host a través del concentrador raíz y posiblemente más concentradores a los dispositivos. Algunos de esos paquetes indican a un dispositivo que envíe algunos paquetes en respuesta.
Las transacciones básicas de USB son:
El USB Implementers Forum presentó el estándar de comunicación inalámbrica Media Agnostic USB (MA-USB) v.1.0 basado en el protocolo USB el 29 de julio de 2015. El USB inalámbrico es una tecnología de reemplazo de cable y utiliza tecnología inalámbrica de banda ultra ancha para velocidades de datos de hasta 480 Mbit/s. [103]
El USB-IF utilizó la especificación WiGig Serial Extension v1.2 como base inicial para la especificación MA-USB y es compatible con SuperSpeed USB (3.0 y 3.1) y Hi-Speed USB (USB 2.0). Los dispositivos que utilizan MA-USB tendrán la marca "Powered by MA-USB", siempre que el producto cumpla con los requisitos de su programa de certificación. [104]
InterChip USB is a chip-to-chip variant that eliminates the conventional transceivers found in normal USB. The HSIC physical layer uses about 50% less power and 75% less board area compared to USB 2.0.[105] It is an alternative standard to SPI and I2C.
USB-C (officially USB Type-C) is a standard that defines a new connector, and several new connection features. Among them it supports Alternate Mode, which allows transporting other protocols via the USB-C connector and cable. This is commonly used to support the DisplayPort or HDMI protocols, which allows connecting a display, such as a computer monitor or television set, via USB-C.
All other connectors are not capable of two-lane operations (Gen 1×2 and Gen 2×2) in USB 3.2, but can be used for one-lane operations (Gen 1×1 and Gen 2×1).[106]
DisplayLink is a technology which allows multiple displays to be connected to a computer via USB. It was introduced around 2006, and before the advent of Alternate Mode over USB-C it was the only way to connect displays via USB. It is a proprietary technology, not standardized by the USB Implementers Forum and typically requires a separate device driver on the computer.
At first, USB was considered a complement to FireWire (IEEE 1394) technology, which was designed as a high-bandwidth serial bus that efficiently interconnects peripherals such as disk drives, audio interfaces, and video equipment. In the initial design, USB operated at a far lower data rate and used less sophisticated hardware. It was suitable for small peripherals such as keyboards and pointing devices.
The most significant technical differences between FireWire and USB include:
These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video. Although similar in theoretical maximum signaling rate, FireWire 400 is faster than USB 2.0 high-bandwidth in real-use,[107] especially in high-bandwidth use such as external hard drives.[108][109][110][111] The newer FireWire 800 standard is twice as fast as FireWire 400 and faster than USB 2.0 high-bandwidth both theoretically and practically.[112] However, FireWire's speed advantages rely on low-level techniques such as direct memory access (DMA), which in turn have created opportunities for security exploits such as the DMA attack.
The chipset and drivers used to implement USB and FireWire have a crucial impact on how much of the bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals.[113]
The IEEE 802.3af, 802.3at, and 802.3bt Power over Ethernet (PoE) standards specify more elaborate power negotiation schemes than powered USB. They operate at 48 V DC and can supply more power (up to 12.95 W for 802.3af, 25.5 W for 802.3at, a.k.a. PoE+, 71 W for 802.3bt, a.k.a. 4PPoE) over a cable up to 100 meters compared to USB 2.0, which provides 2.5 W with a maximum cable length of 5 meters. This has made PoE popular for Voice over IP telephones, Closed-circuit television camerasecurity cameras, wireless access points, and other networked devices within buildings. However, USB is cheaper than PoE provided that the distance is short and power demand is low.
Ethernet standards require electrical isolation between the networked device (computer, phone, etc.) and the network cable up to 1500 V AC or 2250 V DC for 60 seconds.[114] USB has no such requirement as it was designed for peripherals closely associated with a host computer, and in fact it connects the peripheral and host grounds. This gives Ethernet a significant safety advantage over USB with peripherals such as cable and DSL modems connected to external wiring that can assume hazardous voltages under certain fault conditions.[115][116]
The USB Device Class Definition for MIDI Devices transmits Music Instrument Digital Interface (MIDI) music data over USB.[117] The MIDI capability is extended to allow up to sixteen simultaneous virtual MIDI cables, each of which can carry the usual MIDI sixteen channels and clocks.
USB is competitive for low-cost and physically adjacent devices. However, Power over Ethernet and the MIDI plug standard have an advantage in high-end devices that may have long cables. USB can cause ground loop problems between equipment, because it connects ground references on both transceivers. By contrast, the MIDI plug standard and Ethernet have built-in isolation to 500V or more.
The eSATA connector is a more robust SATA connector, intended for connection to external hard drives and SSDs. eSATA's transfer rate (up to 6 Gbit/s) is similar to that of USB 3.0 (up to 5 Gbit/s) and USB 3.1 (up to 10 Gbit/s). A device connected by eSATA appears as an ordinary SATA device, giving both full performance and full compatibility associated with internal drives.
eSATA does not supply power to external devices. This is an increasing disadvantage compared to USB. Even though USB 3.0's 4.5 W is sometimes insufficient to power external hard drives, technology is advancing, and external drives gradually need less power, diminishing the eSATA advantage. eSATAp (power over eSATA, a.k.a. ESATA/USB) is a connector introduced in 2009 that supplies power to attached devices using a new, backward compatible, connector. On a notebook eSATAp usually supplies only 5 V to power a 2.5-inch HDD/SSD; on a desktop workstation it can additionally supply 12 V to power larger devices including 3.5-inch HDD/SSD and 5.25-inch optical drives.
eSATAp support can be added to a desktop machine in the form of a bracket connecting the motherboard SATA, power, and USB resources.
eSATA, like USB, supports hot plugging, although this might be limited by OS drivers and device firmware.
Thunderbolt combines PCI Express and Mini DisplayPort into a new serial data interface. Original Thunderbolt implementations have two channels, each with a transfer speed of 10 Gbit/s, resulting in an aggregate unidirectional bandwidth of 20 Gbit/s.[118]
Thunderbolt 2 uses link aggregation to combine the two 10 Gbit/s channels into one bidirectional 20 Gbit/s channel.[119]
Thunderbolt 3 and Thunderbolt 4 use USB-C.[120][121][122] Thunderbolt 3 has two physical 20 Gbit/s bi-directional channels, aggregated to appear as a single logical 40 Gbit/s bi-directional channel. Thunderbolt 3 controllers can incorporate a USB 3.1 Gen 2 controller to provide compatibility with USB devices. They are also capable of providing DisplayPort Alternate Mode as well as DisplayPort over USB4 Fabric, making the function of a Thunderbolt 3 port a superset of that of a USB 3.1 Gen 2 port.
DisplayPort Alternate Mode 2.0: USB4 (requiring USB-C) requires that hubs support DisplayPort 2.0 over a USB-C Alternate Mode. DisplayPort 2.0 can support 8K resolution at 60 Hz with HDR10 color.[123] DisplayPort 2.0 can use up to 80 Gbit/s, which is double the amount available to USB data, because it sends all the data in one direction (to the monitor) and can thus use all eight data wires at once.[123]
After the specification was made royalty-free and custodianship of the Thunderbolt protocol was transferred from Intel to the USB Implementers Forum, Thunderbolt 3 has been effectively implemented in the USB4 specification – with compatibility with Thunderbolt 3 optional but encouraged for USB4 products.[124]
Various protocol converters are available that convert USB data signals to and from other communications standards.
Due to the prevalency of the USB standard, there are many exploits using the USB standard. One of the biggest instances of this today is known as the USB killer, a device that damages USB devices by sending high voltage pulses across the data lines.
In versions of Microsoft Windows before Windows XP, Windows would automatically run a script (if present) on certain devices via AutoRun, one of which are USB mass storage devices, which may contain malicious software.[125]
In applications where streaming latency is important, UAC2 offers up to an 8x reduction over UAC1. ... Each clocking method has pros and cons and best-fit applications.
ADC-2 refers to the USB Device Class Definition for Audio Devices, Release 2.0.
All operating systems (Win, OSX, and Linux) support USB Audio Class 1 natively. This means you don't need to install drivers, it is plug&play.
Note that Full Speed USB has a much higher intrinsic latency of 2ms
Class 2 support enables much higher sample rates such as PCM 24 bit / 384 kHz and DSD (DoP) up through DSD256.
We now have native support for USB Audio 2.0 devices with an inbox class driver! This is an early version of the driver that does not have all features enabled
Synchronous sub-mode is not commonly used with audio because both host and peripheral are at the mercy of the USB clock.
The PCM2906C employs SpAct architecture, TI's unique system that recovers the audio clock from USB packet data.
Early USB replay interfaces used synchronous mode but acquired a reputation for poor quality of the recovered clock (and resultant poor replay quality). This was primarily due to deficiencies of clocking implementation rather than inherent shortcomings of the approach.
The fact that there is no clock line within the USB cable leads to a thinner cable, which is an advantage. But, no matter how good the crystal oscillators are at the send and receive ends, there will always be some difference between the two...
Synchronous USB DAC is the lowest quality of the three ... Adaptive ... means that there is no continuous, accurate master clock in the DAC, which causes jitter in the audio stream. ... Asynchronous – this is the most complex to implement but it is a huge improvement on the other types.
Synchronous is not used in a quality DAC as it is very jittery. ... asynchronous is the better of these modes.
Some manufacturers may lead you to believe that Asynchronous USB transfers are superior to Adaptive USB transfers and that therefore you must believe in the asynchronous solution. This no more true than saying that you "must" hold the fork in your left hand. In fact, if you know what you are doing, you will feed yourself with either hand. The issue is really about good engineering practices.