Tengo un dispositivo que es realmente extraño, deja caer el USB periódicamente. Por periódicamente me refiero a una base semanal (o quincenal). Al abandonar me refiero a que las ventanas pierden el control del conductor. Los abandonos no son bien tolerados por quienes usan los dispositivos. Lo extraño es que uso un diseño similar en la mayoría de los productos que tenemos (más sobre esto más adelante), por alguna razón este no quiere funcionar bien, algunos de los otros dispositivos funcionan durante meses o años (con el Mismo diseño pero diseño diferente) sin problemas.
Es solo en algunos de los dispositivos , por lo que probablemente descarte el firmware/software.
El USB es 2.0 FS, se ejecuta en un STM32, con un chip de diodo ESD en el medio.
Esquema (D+ y D- y OSC_IN y OSC_OUT (se heredó el diseño del oscilador) van a sus pines correspondientes)
Una mejor pregunta sería, ¿cómo pruebo estos abandonos? ¿Existe algún método que pueda monitorear un dispositivo durante largos períodos de tiempo con millones de paquetes pasando y encontrar la fuente del error?
¿Existe algún método que pueda monitorear un dispositivo durante largos períodos de tiempo con millones de paquetes pasando y encontrar la fuente del error?
Sí. El dispositivo se llama "analizador de protocolo USB".
Si supervisa solo el lado del software del host, lo máximo que puede ver es que hubo algún "error de transacción", y el puerto puede o no recuperarse después de la caída. El protocolo USB tiene medios asistidos por hardware para volver a intentar transacciones fallidas, y el software no tiene ninguna visibilidad del "recuento de errores". Por lo tanto, debe identificar la causa raíz del error a nivel físico, en los cables D+/D-.
Hay analizadores USB asequibles, especialmente para la velocidad USB 1.1 (FS 12 Mbps). Se puede configurar un buen analizador para un disparador sofisticado mientras se monitorea el tráfico en un bucle largo, o incluso se registra todo el tráfico hasta la capacidad de su disco duro. Recomendaría un pequeño modelo Mercury T2 de Teledyne/Lecroy , pero otros tipos como Ellisys y Totalphase Beagle están mejorando cada vez más.
Sin embargo, debe tener cuidado, ya que los analizadores son algo invasivos y sus conectores/internos tienen algún efecto sobre la integridad de la señal. En el caso de una conexión inestable y una tasa de error rara, el analizador puede mejorar la señal (y es posible que nunca vea el problema) o puede eliminar la funcionalidad del enlace (lo que será útil para identificar el problema).
En resumen, debe identificar quién tiene la culpa cuando ocurre la caída del dispositivo. Podría ser (a) el dispositivo da respuestas incorrectas a un protocolo USB válido, (b) un problema de integridad de la señal del canal o (c) el hardware host tiene un error en el manejo de algunas peculiaridades del protocolo USB.
Comenzaría con (b) y verificaría si todas las señales en el bus cumplen con las especificaciones básicas de la señal USB: patrón de frecuencia dentro de 2000 ppm, jitter dentro de la norma, los bordes de la señal son monótonos y el ojo de la señal cumple con la máscara del diagrama, en todos sus cables específicos , dispositivos y hosts. Hay procedimientos estándar descritos en el sitio web de USB-IF sobre cómo realizar las pruebas eléctricas dentro del programa de cumplimiento de USB .
Si las señales cumplen con las especificaciones básicas de señales de FS, el analizador de protocolos sería lo siguiente que se implementaría. Si puede ser un desafío configurar el activador adecuado y tener una interpretación correcta de los eventos del bus que conducen a un error. Si no tiene experiencia con analizadores USB, es posible que deba recibir capacitación u obtener un consultor.
Tuve un problema similar con algo en lo que estaba trabajando. Parece que los niveles de señal eran bastante marginales y todo se volvió sensible a la calidad o la longitud del cable USB. Podría comenzar a observar los niveles de señal y tal vez probar con un cable más corto y ver si eso mejora las cosas. No todos los cables USB son iguales: algunos tienen conductores más gruesos para las líneas de datos que otros.
Tuvimos problemas similares en el pasado. El dispositivo serie USB estaría bien en algunas PC durante meses y en algunas perderíamos la comunicación cada semana. Comenzamos con la ejecución de tres dispositivos en dos PC con Windows idénticas (combinación que a veces tendría problemas) y una caja de Ubuntu con un software simple de registro en disco. Después de un tiempo, un cuadro de Windows lo perdió: el puerto simplemente desapareció. La pila de controladores USB de Windows (esto era Win7) es un montón de cosas heredadas que aparentemente no pueden manejar las peculiaridades de los chips FTDI. Entonces, mi sugerencia es ejecutar la prueba en dos configuraciones idénticas + una tercera diferente. Si deja de responder, tiene un problema con la combinación de dispositivo + controlador USB + controlador. De lo contrario, es probable que sea un problema de señal: el monitor USB podría ayudarlo.
chris stratton
Pico de voltaje
Ale..chenski
Jeroen3
usuario185972
Ale..chenski
Pico de voltaje
Ale..chenski
Pico de voltaje
Ale..chenski
Ale..chenski