type tipos puerto pinout micro usb hardware
comprimidos... variosespecificaciones

tipos - usb type d



¿Cuál es la latencia mínima de USB 3.0? (3)

En primer lugar, no sé mucho sobre USB, así que pido disculpas por adelantado si mi pregunta es incorrecta.

En USB 2.0, el intervalo de sondeo fue de 0.125 ms, por lo que la mejor latencia posible para que el host lea algunos datos del dispositivo fue de 0.125 ms. Espero una latencia reducida en los dispositivos USB 3.0, pero me resulta difícil saber cuál es la latencia mínima. La especificación de USB 3.0 dice: "El sondeo de estilo USB 2.0 ha sido reemplazado por notificaciones asíncronas", lo que implica que el intervalo de sondeo de 0.125 ms ya no puede ser un límite.

Encontré algunos puntos de referencia para un USB 3.0 SSD que parecen que los datos pueden leerse desde el dispositivo en poco menos de 0.125 ms, y eso incluye todo el tiempo dedicado al sistema operativo host y al controlador flash del dispositivo.

http://www.guru3d.com/articles_pages/ocz_enyo_usb_3_portable_ssd_review,8.html

¿Puede alguien decirme cuál es la latencia más baja posible? Una respuesta teórica está bien. Una respuesta que incluya los límites prácticos de las distintas versiones de pilas USB de Linux y Windows sería increíble.

Para evitar la pregunta "dime lo que intentas lograr", estoy creando una interfaz de depuración para los ASIC que diseña mi empresa. es decir, una PC se conecta a uno de nuestros ASIC a través de una llave de depuración. Un posible caso de uso es implementar puntos de interrupción condicionales cuando el hardware ASIC solo implementa puntos de interrupción simples. Para hacerlo, tengo que determinar cuándo se ha alcanzado un punto de interrupción simple, evaluar la condición, si es falso, establecer el procesador funcionando de nuevo. El punto de ruptura simple puede ser alcanzado millones de veces antes de que la condición se vuelva verdadera. Podríamos implementar el dugle de depuración en un FPGA o en un microcontrolador habilitado para USB 3.0.


Extractos de embedded.com: "USB 3.0 vs USB 2.0: un resumen de referencia rápida para el ingeniero ocupado"

Diferencias en la arquitectura de comunicación USB 2.0 emplea una arquitectura de comunicación donde la transacción de datos debe ser iniciada por el host. El host frecuentemente sondeará el dispositivo y solicitará datos, y el dispositivo solo puede transmitir datos una vez que haya sido solicitado por el host. La alta frecuencia de sondeo no solo aumenta el consumo de energía, sino que también aumenta la latencia de la transmisión porque los datos solo se pueden transmitir cuando el dispositivo es sondeado por el host. USB 3.0 mejora este modelo de comunicación y reduce la latencia de transmisión al minimizar el sondeo y también permite que los dispositivos transmitan datos tan pronto como estén listos .

...

Mejoras de marca de tiempo

A diferencia de las cámaras USB 2.0, que pueden tener una precisión de 0 a 125 unidades, la marca de tiempo que se origina en las cámaras USB 3.0 es más precisa e imita la precisión del temporizador de ciclo de 1394 de las cámaras FireWire.

...

USB 3.0 - o Super Speed ​​USB - supera las limitaciones clave de otras especificaciones todas estas limitaciones con seis (sobre IEEE 1394b) a nueve (sobre USB 2.0) ancho de banda más alto, mejor administración de errores, mayor fuente de alimentación, ... y Tiempos de latencia y jitter más bajos .

PS también dice sobre "longitudes de cable más largas" para USB 3.0, pero otro párrafo contradice esto y dice hasta 5m para USB 2.0, hasta 3m para USB 3.0.


Respondiendo a mi propia pregunta ...

Me he dado cuenta de que esta pregunta de alguna manera pierde el sentido del USB 3.0. A diferencia de 2.0, no es un sistema de bus compartido. En su lugar, utiliza un enlace punto a punto entre el host y cada dispositivo (estoy simplificando demasiado, pero lo esencial es cierto). Con USB 2.0, el intervalo de sondeo de 125 us fue crítico para la forma en que el bus fue multiplexado por división de tiempo entre dispositivos. Sin embargo, dado que 3.0 utiliza enlaces punto a punto, no hay que realizar multiplexión y, por lo tanto, el intervalo de sondeo ya no existe. Como resultado, la latencia en la entrega de paquetes es mucho menor que con USB 2.0.

En mis experimentos con un devkit Cypress FX-3, he encontrado que es bastante fácil obtener un viaje de ida y vuelta promedio desde la aplicación de Windows al dispositivo y volver con una latencia promedio de 30 dólares . Sospecho que la gran mayoría de ese tiempo se gasta en varios retrasos del sistema operativo, por ejemplo, el interruptor de modo espacio de usuario a espacio de kernel y la latencia DPC dentro del controlador.


Tengo un par de recursos para usted, uno que acabo de descargar, que es las especificaciones completas ... varios archivos PDF comprimidos para USB3, y aquí hay un breve extracto de la página 58,59 (USB 3_r1.0_06_06_2011.pdf) :

USB 2.0 transmits SOF/uSOF at fixed 1 ms/125 μs intervals. A device driver may change the interval with small finite adjustments depending on the implementation of host and system software. USB 3.0 adds mechanism for devices to send a Bus Interval Adjustment Message that is used by the host to adjust its 125 μs bus interval up to +/-13.333 μs. In addition, the host may send an Isochronous Timestamp Packet (ITP) within a relaxed timing window from a bus interval boundary.

Here hay un recurso más que parecía interesante que trata con el cálculo de la latencia.

Usted hace un buen punto sobre los problemas de latencia del sistema operativo, especialmente en sistemas operativos que no son en tiempo real.

Podría sugerir que también compruebes SuperUser, quizás alguien tenga otras ideas. ACLAMACIONES