Este artículo proporciona información sobre los aspectos de comunicación del bus serie universal ( USB ): señalización , protocolos y transacciones .
USB es un estándar industrial que especifica cables, conectores y protocolos para la comunicación entre dispositivos electrónicos . Los puertos y cables USB se utilizan para conectar hardware como impresoras , escáneres , teclados, ratones, unidades flash , discos duros externos , joysticks , cámaras , monitores y más a ordenadores de todo tipo. USB también admite velocidades de señalización desde 1,5 Mbit/s (baja velocidad) hasta 80 Gbps ( USB 4 Gen 4), según la versión del estándar. Este artículo explica cómo los dispositivos USB transmiten y reciben datos mediante señales eléctricas a través de la capa física , cómo se identifican y negocian parámetros como la velocidad y la potencia con el host u otros dispositivos mediante protocolos estándar como USB Device Framework y USB Power Delivery, y cómo intercambian datos mediante paquetes de diferentes tipos y formatos, como tokens, datos, handshake y paquetes especiales.
Señalización (USB PHY)
Tasa de señalización (tasa de transmisión)
La velocidad máxima de señalización en USB 2.0 es de 480 Mbit/s (60 MB/s) por controlador y se comparte entre todos los dispositivos conectados. Algunos fabricantes de chipsets para ordenadores personales superan este cuello de botella al proporcionar varios controladores USB 2.0 dentro del puente sur .
En la práctica, e incluyendo la sobrecarga del protocolo USB, las velocidades de datos de 320 Mbit/s (38 MB/s) son sostenibles en un punto final de transferencia masiva de alta velocidad. [ 2 ] El rendimiento puede verse afectado por cuellos de botella adicionales, como una unidad de disco duro , como se observa en las pruebas rutinarias realizadas por CNet , donde las operaciones de escritura en unidades de disco duro típicas de alta velocidad mantienen velocidades de 25–30 MB/s, y las operaciones de lectura de 30–42 MB/s; [ 3 ] esto es el 70% del ancho de banda total disponible del bus. Para USB 3.0, la velocidad de escritura típica es de 70–90 MB/s, mientras que la velocidad de lectura es de 90–110 MB/s. [ 3 ] Las pruebas de máscara, también conocidas como pruebas de diagrama de ojo , se utilizan para determinar la calidad de una señal en el dominio del tiempo . Se definen en el documento de referencia como parte de la descripción de la prueba eléctrica para el modo de alta velocidad (HS) a 480 Mbit/s.
Según un presidente de USB-IF, "entre el 10 y el 15 por ciento de la velocidad máxima declarada de 60 MB/s (480 Mbit/s) de USB de alta velocidad se destina a la sobrecarga: el protocolo de comunicación entre la tarjeta y el periférico. La sobrecarga es un componente de todos los estándares de conectividad". [ 1 ] Las tablas que ilustran los límites de transferencia se muestran en el Capítulo 5 de la especificación USB.
En dispositivos isócronos como las transmisiones de audio, el ancho de banda es constante y se reserva exclusivamente para un dispositivo determinado. Por lo tanto, el ancho de banda del bus solo afecta la cantidad de canales que se pueden enviar simultáneamente, no la velocidad ni la latencia de la transmisión.
- La velocidad baja (LS) de 1,5 Mbit/s está definida por USB 1.0. Es muy similar al funcionamiento de ancho de banda completo, con la diferencia de que cada bit tarda ocho veces más en transmitirse. Su objetivo principal es reducir costes en dispositivos de interfaz humana (HID) de bajo ancho de banda, como teclados, ratones y joysticks.
- La velocidad máxima (FS) de 12 Mbit/s es la velocidad de señalización USB básica definida por USB 1.0. Todos los concentradores USB pueden funcionar a esta velocidad.
- La alta velocidad (HS) de 480 Mbit/s se introdujo en 2001 con USB 2.0. Los dispositivos de alta velocidad también deben ser capaces de volver a la velocidad máxima, lo que los hace retrocompatibles con hosts USB 1.1 . Los conectores son idénticos para USB 2.0 y USB 1.x.
- Velocidad SuperSpeed (SS) de 5,0 Gbit/s. La especificación escrita de USB 3.0 fue publicada por Intel y sus socios en agosto de 2008. Los primeros chips controladores USB 3.0 fueron muestreados por NEC en mayo de 2009, [ 4 ] y los primeros productos que utilizaban la especificación USB 3.0 llegaron en enero de 2010. [ 5 ] Los conectores USB 3.0 son generalmente compatibles con versiones anteriores, pero incluyen un nuevo cableado y funcionamiento dúplex completo.
- La velocidad SuperSpeed+ (SS+) de 10 Gbit/s está definida por USB 3.1, y la de 20 Gbit/s mediante dos carriles está definida por USB 3.2.
Enmarcado
El controlador principal divide el tiempo del bus en tramas de 1 ms cuando se utiliza baja velocidad (1,5 Mbit/s) y velocidad máxima (12 Mbit/s), o en microtramas de 125 μs cuando se utiliza alta velocidad (480 Mbit/s), durante las cuales pueden tener lugar varias transacciones.
Especificaciones eléctricas
Las señales USB se transmiten mediante señalización diferencial en un cable de datos de par trenzado con una impedancia característica de 90 Ω ± 15 % . [ 6 ]
- Los modos de baja velocidad (LS) y velocidad máxima (FS) utilizan un único par de datos, etiquetado como D+ y D−, en modo semidúplex . Los niveles de señal transmitida son de 0,0 a 0,3 V para el nivel lógico bajo y de 2,8 a 3,6 V para el nivel lógico alto. Las líneas de señal no están terminadas .
- El modo de alta velocidad (HS) utiliza el mismo par de cables, pero con diferentes convenciones eléctricas. Voltajes de señal más bajos, de -10 a 10 mV para nivel bajo y de 360 a 440 mV para nivel lógico alto, y terminación de 45 Ω a tierra o diferencial de 90 Ω para igualar la impedancia del cable de datos.
- SuperSpeed (SS) incorpora dos pares adicionales de cable trenzado apantallado (y nuevos conectores ampliados, en su mayoría compatibles). Estos están dedicados al funcionamiento SuperSpeed full-duplex. Las líneas half-duplex se siguen utilizando para la configuración. Los niveles lógicos se definen no en términos de niveles de voltaje, sino en términos de transiciones de voltaje. El voltaje varía entre ±500 mV (±20 %) durante una transición en modo normal y entre ±200 y 600 mV (según el transmisor) en modo de baja potencia.
- SuperSpeed+ (SS+) utiliza una mayor velocidad de señalización (modo Gen 2×1) y/o el carril adicional en el conector Tipo-C (modo Gen 1×2 y Gen 2×2).
Una conexión USB siempre se establece entre un host o concentrador en el extremo del conector A y un dispositivo o puerto de entrada del concentrador en el otro extremo.
Estado de señalización
El host incluye resistencias de polarización a tierra de 15 kΩ en cada línea de datos. Cuando no hay ningún dispositivo conectado, esto pone ambas líneas de datos en estado bajo, lo que se conoce como estado cero de terminación simple (SE0 en la documentación USB), e indica un reinicio o una desconexión.
Estado de transición de línea
La siguiente terminología se utiliza para facilitar la discusión técnica sobre la señalización USB PHY.
- El estado de línea inactiva se produce cuando el dispositivo está conectado al host con una resistencia pull-up en D+ (para USB 1.x de velocidad completa) o D− (para USB 1.x de baja velocidad), con la salida del transmisor tanto en el host como en el dispositivo configurada a alta impedancia (hi-Z) (salida desconectada).
- Un dispositivo USB eleva una de las líneas de datos con una resistencia de 1,5 kΩ. Esto anula una de las resistencias de polarización descendente de 15 kΩ en el host y deja las líneas de datos en un estado inactivo llamado J.
- En el caso de USB 1.x, la elección de la línea de datos indica las velocidades de señal que el dispositivo es capaz de manejar:
- Los dispositivos de ancho de banda completo elevan D+ a un nivel alto.
- Los dispositivos de bajo ancho de banda elevan el valor de D−.
- El estado K tiene polaridad opuesta al estado J.
Estado de la línea (que abarca USB 1.x y 2.x)
Transmisión
Los datos USB se transmiten alternando las líneas de datos entre el estado J y el estado K opuesto. USB codifica los datos utilizando la codificación de línea NRZI :
- El bit 0 se transmite alternando las líneas de datos de J a K o viceversa.
- Se transmite 1 bit dejando las líneas de datos tal como están.
Para asegurar que haya suficientes transiciones de señal para que se produzca la recuperación del reloj en el flujo de bits , se aplica una técnica de relleno de bits al flujo de datos: se inserta un bit 0 adicional en el flujo de datos después de cada aparición de seis bits 1 consecutivos. (Esto garantiza que haya un bit 0 que provoque una transición de estado de transmisión). Siete bits 1 recibidos consecutivamente siempre constituyen un error. Para USB 3.0, se utiliza una codificación de transmisión de datos adicional para gestionar las mayores velocidades de señalización requeridas.
Ejemplo de transmisión en un dispositivo de alta velocidad

- Patrón de sincronización
- Un paquete USB comienza con una secuencia de sincronización de 8 bits, 00000001₂. Es decir, después del estado inicial de reposo J, las líneas de datos alternan entre KJKJKJKK. El último bit (estado K repetido ) marca el final del patrón de sincronización y el comienzo de la trama USB. Para USB de alto ancho de banda, el paquete comienza con una secuencia de sincronización de 32 bits.
- Fin de paquete (EOP)
- El EOP se indica cuando el transmisor activa 2 tiempos de bit de SE0 (D+ y D− ambos por debajo del máximo) y 1 tiempo de bit del estado J. Después de esto, el transmisor deja de activar las líneas D+/D− y las resistencias pull-up mencionadas anteriormente lo mantienen en el estado J (inactivo). A veces, la desviación debida a los concentradores puede añadir hasta un tiempo de bit antes del SE0 del final del paquete. Este bit adicional también puede provocar una violación de la asignación de bits si los seis bits anteriores en el CRC son 1. El receptor debe ignorar este bit.
- Reinicio del autobús
- El bus USB se reinicia mediante una señal SE0 prolongada (de 10 a 20 milisegundos).
Negociación a alta velocidad
Durante el reinicio, se utiliza un protocolo especial llamado chirp , para negociar el modo de alta velocidad con un host o concentrador. Un dispositivo compatible con alta velocidad se conecta inicialmente como un dispositivo de velocidad completa (D+ en alto), pero al recibir un reinicio USB (D+ y D− en bajo por parte del host durante 10 a 20 ms), eleva la línea D− a alto, lo que se conoce como chirp K. Esto indica al host que el dispositivo es de alto ancho de banda. Si el host/concentrador también es compatible con HS, emite chirps (devuelve estados J y K alternos en las líneas D− y D+) para informar al dispositivo de que el concentrador opera a alto ancho de banda. El dispositivo debe recibir al menos tres conjuntos de chirps KJ antes de cambiar a terminaciones de alta velocidad y comenzar la señalización de alta velocidad. Dado que SuperSpeed y versiones posteriores utilizan un cableado independiente y adicional al utilizado por los modos anteriores, esta negociación de ancho de banda no es necesaria.
La tolerancia del reloj es de 480,00±0,24 Mbit/s, 12,00±0,03 Mbit/s y 1,50±0,0225 Mbit/s.
USB 3.0
USB 3 utiliza cables trenzados de cobre estañado AWG-28 [ 7 ] conImpedancia de 90 ± 7 Ω para sus pares diferenciales de alta velocidad. La señalización eléctrica utiliza un registro de desplazamiento con retroalimentación lineal y codificación 8b/10b con reloj de espectro ensanchado , enviado a un voltaje nominal de 1 voltio con un umbral de receptor de 100 mV; el receptor utiliza entrenamiento de ecualización. Las cabeceras de los paquetes están protegidas con CRC-16, mientras que la carga útil de datos está protegida con CRC-32. Se puede utilizar una potencia de hasta 3,6 W. Una carga unitaria en modo Super Speed equivale a 150 mA. [ 8 ]
capa de protocolo
Durante la comunicación USB, los datos se transmiten en forma de paquetes . Inicialmente, todos los paquetes se envían desde el host a través del concentrador raíz, y posiblemente otros concentradores, a los dispositivos. Algunos de esos paquetes indican a un dispositivo que envíe paquetes en respuesta.
Tras el campo de sincronización, todos los paquetes se componen de bytes de 8 bits, transmitidos con el bit menos significativo primero . El primer byte es un identificador de paquete (PID). El PID consta de 4 bits; el byte se compone del PID de 4 bits seguido de su complemento bit a bit. Esta redundancia ayuda a detectar errores. (Un byte PID contiene como máximo cuatro bits 1 consecutivos, por lo que nunca necesita relleno de bits , incluso cuando se combina con el último bit 1 del campo de sincronización. Sin embargo, los bits 1 finales del PID pueden requerir relleno de bits en los primeros bits de la carga útil).
Los paquetes se presentan en tres tipos básicos, cada uno con un formato y una verificación de redundancia cíclica (CRC ) diferentes:
Paquetes de apretón de manos
Los paquetes de handshake constan de un único byte PID y generalmente se envían en respuesta a paquetes de datos. La detección de errores se proporciona mediante la transmisión de cuatro bits, que representan el tipo de paquete dos veces, en un único byte PID utilizando la forma complementada . Los tres tipos básicos son ACK , que indica que los datos se recibieron correctamente; NAK , que indica que los datos no se pueden recibir y deben reintentarse; y STALL , que indica que el dispositivo tiene una condición de error y no puede transferir datos hasta que se produzca alguna acción correctiva (como la inicialización del dispositivo). [ 9 ] [ 10 ]
USB 2.0 añadió dos paquetes de protocolo de enlace adicionales: NYET y ERR . NYET indica que una transacción dividida aún no se ha completado, mientras que el protocolo de enlace ERR indica que una transacción dividida ha fallado. Un segundo uso para un paquete NYET es informar al host de que el dispositivo ha aceptado un paquete de datos, pero no puede aceptar más debido a que los búferes están llenos. Esto permite que un host cambie a enviar pequeños tokens PING para consultar sobre la disponibilidad del dispositivo, en lugar de enviar un paquete DATA completo no deseado solo para obtener un NAK. [ 9 ] [ 10 ]
El único paquete de confirmación que puede generar el host USB es el ACK. Si no está listo para recibir datos, no debe indicarle al dispositivo que los envíe.
paquetes de tokens
Los paquetes de token constan de un byte PID seguido de dos bytes de carga útil: 11 bits de dirección y un CRC de cinco bits. Los tokens solo los envía el host, nunca un dispositivo. A continuación se muestran los tokens presentes en USB 1.0:
- Los tokens IN y OUT contienen un número de dispositivo de siete bits y un número de punto final de cuatro bits para indicarle al dispositivo que transmita paquetes DATAx o que reciba los siguientes paquetes DATAx, respectivamente.
- El token IN espera una respuesta del dispositivo. Esta respuesta puede ser NAK, STALL o una trama DATAx . En este último caso, el host envía un mensaje de confirmación (ACK) si procede.
- El token OUT va seguido inmediatamente de una trama DATAx . El dispositivo responde con ACK, NAK, NYET o STALL, según corresponda.
- SETUP funciona de forma muy similar a un token OUT, pero se utiliza para la configuración inicial del dispositivo. Le sigue una trama DATA0 de ocho bytes con un formato estandarizado.
- SOF (Inicio de trama) Cada milisegundo (12 000 tiempos de bit de ancho de banda completo), el host USB transmite un token SOF (inicio de trama) especial, que contiene un número de trama incremental de 11 bits en lugar de una dirección de dispositivo. Esto se utiliza para sincronizar las transferencias de datos isócronas y de interrupción. Los dispositivos USB 2.0 de alta velocidad reciben siete tokens SOF adicionales por trama, cada uno de los cuales introduce una microtrama de 125 μs (60 000 tiempos de bit de alto ancho de banda cada uno).
USB 2.0 también añadió un token PING y un token SPLIT más grande de tres bytes :
- PING pregunta a un dispositivo si está listo para recibir un par de paquetes OUT/DATA. Generalmente, un host envía PING al sondear a un dispositivo que respondió recientemente con NAK o NYET. Esto evita la necesidad de enviar un paquete de datos grande a un dispositivo que el host sospecha que no lo aceptará. [ 11 ] El dispositivo responde con ACK, NAK o STALL, según corresponda.
- SPLIT se utiliza para realizar transacciones divididas. En lugar de saturar el bus USB de alto ancho de banda enviando datos a un dispositivo USB más lento, el concentrador más cercano con capacidad de alto ancho de banda recibe un token SPLIT seguido de uno o dos paquetes USB de alto ancho de banda, realiza la transferencia de datos a ancho de banda completo o bajo, y proporciona la respuesta de alto ancho de banda cuando se le solicita un segundo token SPLIT. Contiene un número de concentrador de siete bits, 12 bits de indicadores de control y un CRC de cinco bits.
Paquetes de tokens OUT, IN, SETUP y PING
- ADDR: Dirección del dispositivo USB (máximo de 127 dispositivos).
- ENDP: Seleccione el búfer de origen/destino del hardware del dispositivo. (Por ejemplo, PID OUT se usaría para enviar datos desde el búfer de origen del host al búfer de destino del dispositivo USB).
- Por defecto, todos los dispositivos USB deben ser compatibles como mínimo con el búfer de punto final 0 (EP0). Esto se debe a que EP0 se utiliza para el control del dispositivo y la información de estado durante la enumeración y el funcionamiento normal.
SOF: Inicio del fotograma
Uso: La primera transacción en cada (micro)fotograma. Un SOF permite a los puntos finales identificar el inicio del (micro)fotograma y sincronizar los relojes internos de los puntos finales con el host.
- Número de trama: Este es un número de trama que el host incrementa periódicamente para permitir que los puntos finales identifiquen el inicio de la trama (o microtrama) y sincronicen los relojes internos de los puntos finales con el reloj del host.
SSPLIT y CSPLIT: Transacción de división inicial y transacción de división completa.
- S/C, Iniciar o completar:
- 0, SSPLIT, Iniciar transacción dividida
- 1, CSPLIT, Transacción dividida completa
- S: 1, Velocidad baja; 0, Velocidad alta
- E, Fin de la carga útil a máxima velocidad
- El bit U está reservado/no se utiliza y debe restablecerse a cero (0 B).
- EP, Punto final: tipo 00, control; 01, isócrono; 10, masivo; y 11, interrupción.
paquetes de datos
Un paquete de datos consta del PID seguido de 0–1024 bytes de carga útil de datos y un CRC de 16 bits. [ 12 ]
- hasta 8 bytes de datos a baja velocidad (LS). [ 12 ]
- hasta 1023 bytes de datos a velocidad máxima (FS). [ 12 ]
- hasta 1024 bytes de datos a alta velocidad (HS). [ 12 ]
Existen dos formas básicas de paquetes de datos: DATA0 y DATA1 . Un paquete de datos siempre debe ir precedido de un token de dirección y, por lo general, seguido de un token de confirmación de la comunicación entre el receptor y el transmisor. Ambos tipos de paquetes proporcionan el número de secuencia de 1 bit requerido por ARQ de parada y espera . Si un host USB no recibe una respuesta (como un ACK) para los datos que ha transmitido, desconoce si los datos se recibieron o no; es posible que los datos se hayan perdido durante la transmisión o que se hayan recibido, pero se haya perdido la respuesta de confirmación de la comunicación.
Para solucionar este problema, el dispositivo registra el tipo de paquete DATAx que aceptó por última vez. Si recibe otro paquete DATAx del mismo tipo, lo reconoce, pero lo ignora por considerarlo duplicado. Solo se recibe realmente un paquete DATAx del tipo opuesto.
Si los datos se corrompen durante la transmisión o la recepción, la verificación CRC falla. Cuando esto sucede, el receptor no genera un ACK, lo que obliga al remitente a reenviar el paquete. [ 13 ]
Cuando un dispositivo se reinicia con un paquete SETUP, espera recibir a continuación un paquete DATA0 de 8 bytes.
USB 2.0 también incorporó los tipos de paquetes DATA2 y MDATA . Estos solo los utilizan dispositivos de alto ancho de banda que realizan transferencias isócronas de alto ancho de banda que deben transferir más de 1024 bytes por microtrama de 125 μs (8192 kB/s).
Paquete PRE (indica a los concentradores que cambien temporalmente al modo de baja velocidad)
Un concentrador USB puede admitir dispositivos de bajo ancho de banda junto con dispositivos de mayor velocidad mediante un valor PID especial, PRE . Esto es necesario, ya que un concentrador USB funciona como un repetidor simple, transmitiendo el mensaje del host a todos los dispositivos conectados, independientemente de si el paquete estaba destinado a ellos o no. Esto significa que, en un entorno de velocidades mixtas, existe el riesgo potencial de que un dispositivo de baja velocidad interprete erróneamente una señal de alta velocidad o de velocidad completa proveniente del host.
Para eliminar este peligro, si un concentrador USB detecta una combinación de dispositivos de alta o velocidad completa y de baja velocidad, desactiva por defecto la comunicación con el dispositivo de baja velocidad a menos que reciba una solicitud para cambiar al modo de baja velocidad. Sin embargo, al recibir un paquete PRE, vuelve a habilitar temporalmente el puerto de salida para todos los dispositivos de baja velocidad, permitiendo que el host envíe un único paquete de baja velocidad a dichos dispositivos. Una vez enviado el paquete de baja velocidad, una señal de fin de paquete (EOP) indica al concentrador que desactive de nuevo todas las salidas a los dispositivos de baja velocidad.
Dado que todos los bytes PID incluyen cuatro bits 0, abandonan el bus en el estado K de ancho de banda completo, que es el mismo que el estado J de ancho de banda reducido. A continuación, se produce una breve pausa durante la cual los concentradores habilitan sus salidas de ancho de banda reducido, que ya se encuentran en estado J inactivo. Posteriormente, se transmite un paquete de ancho de banda reducido, que comienza con una secuencia de sincronización y un byte PID, y finaliza con un breve período de SE0. Los dispositivos de ancho de banda completo, a excepción de los concentradores, pueden simplemente ignorar el paquete PRE y su contenido de ancho de banda reducido, hasta que el SE0 final indique que se transmite un nuevo paquete.
Actas
Los paquetes USB se organizan en transacciones , que constan de un paquete de token, un paquete de datos condicionales y un paquete de protocolo de enlace.
Transacción de SALIDA
Transacción IN
Transacción de CONFIGURACIÓN
Esto se utiliza para la enumeración de dispositivos y la gestión de conexiones, e informa al dispositivo de que el host desea iniciar un intercambio de transferencia de control.
- Dependiendo del paquete de configuración, puede producirse un paquete de datos opcional del dispositivo al host o del host al dispositivo.
Paquete de configuración
Una transacción de configuración transfiere un paquete de configuración de 8 bytes al dispositivo. Este paquete de configuración codifica la dirección y la longitud de los paquetes de datos subsiguientes.
Intercambio de transferencia de control
El intercambio de transferencia de control consta de tres etapas distintas, cada una de las cuales consta de sus propias transacciones:
- Etapa de configuración: Este es el comando de configuración que el host envía al dispositivo. Consta de un token SETUP, un paquete DATA del host que contiene la estructura del "paquete de configuración" descrita anteriormente y un paquete de protocolo de enlace del dispositivo. [ 14 ]
- Etapa de datos (opcional): Contiene la información descrita (en el caso de una transferencia de host a dispositivo) o solicitada (en el caso de una transferencia de dispositivo a host) por la etapa de configuración. Puede constar de varias transacciones y finaliza bajo diversas condiciones: [ 15 ]
- Una transacción que contiene un paquete de DATOS sin carga útil, denominado paquete de longitud cero.
- Una transacción que contiene un paquete de DATOS con una longitud inferior al tamaño máximo de paquete para ese punto final, denominado paquete "corto".
- Cuando se haya transmitido la cantidad exacta de datos especificada por el campo wLength del paquete de configuración.
- Etapa de estado: Una transacción de longitud cero, de dirección opuesta a la etapa de datos, para indicar la finalización de la transferencia y verificar que el dispositivo completó la transferencia sin errores. [ 14 ]
Esto permite al host realizar acciones de gestión del bus, como enumerar nuevos dispositivos USB mediante la recuperación de sus descriptores . La recuperación de los descriptores permite, en particular, determinar la clase USB, el VID y el PID, que se utilizan a menudo para determinar el controlador USB correcto para el dispositivo. Un dispositivo USB se puede localizar mediante la dirección bus:dispositivo o mediante la dirección hub:puerto. [ 16 ]
Además, una vez recuperados los descriptores, el host realiza otro intercambio de transferencia de control, pero en este caso para establecer la dirección del dispositivo USB a un nuevo ADDRx.
Véase también
Referencias
- 1 2 "USB 2.0: Una verdadera joya" . Noticias y tendencias. PC World . 28 de febrero de 2002. Archivado del original el 5 de diciembre de 2010.
- ↑ Zhou, Jing; Qi, Xin; Su, Xin; Yang, Haibin (2012-08-08). "Investigación sobre USB 2.0 en radio definida por software". 7.ª Conferencia Internacional sobre Comunicaciones y Redes en China . págs. 833–837 . doi : 10.1109/ChinaCom.2012.6417600 . ISBN 978-1-4673-2699-5. S2CID 17421546 .
- 1 2 "Seagate FreeAgent GoFlex Ultra-portable" (reseña). CNet. Archivado del original el 14 de abril de 2011. Recuperado el 22 de mayo de 2011 .
- ↑ "NEC lista para probar el 'primer chip controlador USB 3.0 del mundo'" . Archivado del original el 23 de mayo de 2009. Consultado el 15 de junio de 2009 .
- ↑ "¿Cuándo llegarán al mercado los productos USB 3.0?" . Archivado del original el 30 de abril de 2009. Consultado el 11 de mayo de 2009 .
- ↑ "USB en pocas palabras: Capítulo 2: Hardware" . BeyondLogic.org . Archivado del original el 20 de agosto de 2007. Consultado el 25 de agosto de 2007 .
- ↑ "Especificaciones técnicas de los cables USB 3.0 SuperSpeed" . Archivado del original el 14 de abril de 2011.
- ↑ "Especificación del bus serie universal 3.0, Rev. 1.0, 12 de noviembre de 2008" (PDF) . Archivado del original (PDF) el 13 de noviembre de 2013.
- 1 2 "USB Made Simple, Parte 3. Flujo de datos" . usbmadesimple.co.uk . 2008. Archivado del original el 5 de octubre de 2014. Recuperado el 17 de agosto de 2014 .
- 1 2 "USB en pocas palabras, Capítulo 3. Protocolos USB" . beyondlogic.org . 17 de septiembre de 2010. Archivado del original el 5 de agosto de 2014. Recuperado el 17 de agosto de 2014 .
- ↑ "Parte 7, Transacciones de alta velocidad: Protocolo Ping" . UsbMadeSimple.co.uk . 2008. Archivado del original el 3 de octubre de 2014. Consultado el 16 de agosto de 2014 .
- 1 2 3 4 "USB en pocas palabras - Capítulo 3" . Beyond Logic . Archivado del original el 12 de marzo de 2026.
- ↑ "Depuración de problemas comunes de USB" . Archivado del original el 15 de junio de 2013. Consultado el 5 de junio de 2013 .
- 1 2 "USB en pocas palabras - Capítulo 4 - Tipos de puntos finales" . BeyondLogic.org . Consultado el 12 de enero de 2023 .
- ↑ "Especificación del bus serie universal 2.0, Rev. 2.0" . USB-IF . 27 de abril de 2000. Archivado del original el 3 de septiembre de 2019. Consultado el 12 de enero de 2023 .URL alternativa
- ↑ "10. Protocolos – Protocolo de ruta de dispositivo — Documentación de la especificación UEFI 2.10" . uefi.org . Consultado el 22 de diciembre de 2024 .
- Interfaces de comunicación
- buses informáticos
- protocolos de capa física
- Autobuses en serie
- USB