Problemas con el diseño de PCB para conexiones USB3

Estoy luchando para hacer que funcione una conexión USB3. El PCB necesita dos receptáculos hembra USB3-A, para desempeñar una especie de papel de "hombre en el medio".

No puedo proporcionar muchos detalles, ya que es parte de un proyecto de investigación en curso; sin embargo, reduje el problema a un PCB mínimo que en realidad fabricamos (como prueba de depuración). Aquí está el diseño, diseñado con gEDA PCB:

ingrese la descripción de la imagen aquí

Los rastros delgados tienen 12 mil de ancho, los gruesos VBUS y GND tienen 35 mil de ancho. Las conexiones de orificio pasante para las clavijas de los receptáculos tienen un diámetro de orificio de 28 mil (menos el espesor del revestimiento) y un diámetro de almohadilla de 43 mil.

La idea es que me conecte desde la PC a esta placa con un cable de extensión macho-macho, y luego conecte el dispositivo desde el otro receptáculo de esta placa (usando el mismo cable que usaría para conectar el dispositivo directamente desde la PC). El receptáculo que utilicé es el Amphenol 10117835-002LF .

La placa se fabricó con material de "alta frecuencia", con un grosor de 1 mm (la opción "PCB avanzada" en Seeed Studio). Sin embargo, un detalle es que no fabriqué con control de impedancia (ni hice ningún cálculo de impedancias de traza --- por un lado, no pensé que fuera necesario --- en este momento yo' No estoy seguro de si lo es; y por otro lado, las especificaciones del receptáculo no incluyen la impedancia característica).

El problema que tengo es: funciona de forma intermitente; o tal vez debería decir poco fiable . Estoy probando con un analizador lógico USB3 que tenemos, y ese parece funcionar bien (configuré la captura a la velocidad más alta que admite el dispositivo, y captura, sin informar ningún error). Sin embargo, probé con una cámara USB3, y esa funciona algunas veces, informa errores algunas veces, la cámara se congela de vez en cuando, etc.

¿Alguna idea sobre lo que hice mal (específicamente, cosas que podrían explicar la falta de confiabilidad) o sugerencias para que funcione de manera más confiable?

¿Qué longitud tienen los cables del extensor y de la cámara?
¿Por qué no usar simplemente un cable extensor USB3 adecuado? amazon.com/AmazonBasics-Extension-Cable-Male-Female/dp/…
@CrossRoads: el diseño anterior fue solo para fines de depuración, para llevar el problema a su forma más simple y trabajar en eso hasta que descubramos qué nos estamos perdiendo/haciendo mal; la funcionalidad real que necesitamos es más que un simple cable de extensión.
@Ale..chenski: estamos usando un cable A-macho a A-macho de 3 pies ( digikey.ca/product-detail/en/tripp-lite/U320-006-BK/TL1384-ND/… ) . El cable que viene con la cámara (que se ve sustancialmente más grueso) parece de 6 pies o tal vez de 10 pies.
Corrección: el enlace anterior es para el cable de 6 pies que también compramos, pero probamos con el de 3 pies: digikey.ca/product-detail/en/tripp-lite/U320-003-BK/TL1383-ND/ …

Respuestas (2)

Hay algunas cosas a considerar:

  1. "un cable de extensión macho-macho" es una construcción ilegal desde el punto de vista del estándar USB. Como tal, estos cables no pueden ser certificados oficialmente en un laboratorio calificado, y quienquiera que haya fabricado ese cable en una fábrica china de explotación laboral no tiene idea de lo que está haciendo, ni del equipo adecuado para probar nada. Entonces, la calidad de transmisión general de este cable es el principal sospechoso. Este es un factor #1.

  2. Su placa es esencialmente un convertidor "hembra-hembra", que le permite reconfigurar su cable de extensión macho-macho en una extensión "macho-hembra" (que también va en contra de las especificaciones USB, por cierto). De esta manera ha introducido un conector de acoplamiento más en el enlace. La razón por la que los extensores están excluidos de las especificaciones USB es que introducen conectores adicionales y, como se señaló en esta pregunta SE EE, es físicamente difícil mantener una buena impedancia diferencial uniforme a través de conexiones no coaxiales. Estas imperfecciones pueden tener una forma casi arbitraria y no se pueden corregir en los receptores USB 3.x, a diferencia de las pérdidas del cable simple. Cualquier falta de homogeneidad de impedancia a lo largo del canal introduce reflejos que, combinados (también conocidos como "interferencia entre símbolos"), causan una fluctuación horrible, y los circuitos de recuperación de datos del reloj USB no pueden tolerar/adaptarse a esto. Lo malo de su cable combinado es que tiene dos pares adicionales de conectores de acoplamiento, lo que probablemente rompa cualquier calidad esperada del canal, incluso si sus pistas/pads están diseñadas de la mejor manera posible.

  3. Algunos analizadores lógicos USB 3.x están diseñados con repetidores activos para rastrear el tráfico y bifurcarlo para su registro y análisis. Como tal, pueden remodelar y volver a sincronizar la señal, y es por eso que podría "funcionar" de manera un poco más confiable.

  4. Los cables USB 3.0 no tienen un límite formal de duración, siempre que sus características de pérdida no superen las especificaciones, por lo que no se superan las capacidades de los receptores USB para "ecualizar" (adaptarse) a las pérdidas durante el entrenamiento del canal. Entonces, el cable puede ser tan largo como pueda hacer que sus pérdidas sean bajas (lo que cuesta). Sin embargo, la práctica muestra que la mayoría de los cables AB estándar no pueden cumplir con los requisitos de calidad (pérdida de inserción, límites de diafonía de extremo lejano y cercano) si tienen una longitud superior a 2 m. Si se usan microconectores, la sabiduría colectiva del consorcio USB-IF determinó que no vale la pena considerar, usar ni probar el cable de más de 1 m. Y nuevamente, todas estas consideraciones no se aplican a los extensores, ya que introducen imperfecciones que no se pueden modelar universalmente y, por lo tanto, el algoritmo de corrección común es imposible.

  5. No todos los dispositivos USB y hosts son iguales, particularmente en el sentido de qué tan bien sus receptores pueden igualar las pérdidas de canal y qué tan tolerantes son a la fluctuación de señal acumulada. Un certificado de cumplimiento de USB-IF es un buen comienzo para estar un poco seguro de que el enlace funcionará de manera confiable. Si alguno de los componentes del enlace no tiene certificación USB-IF, es muy probable que infrinja algunos requisitos de USB y no pueda proporcionar una comunicación confiable, aunque se producen excepciones. Esto incluye su "una cámara USB 3.0".

Por lo tanto, no debería sorprender que su enlace USB de doble extensión funcione solo de manera intermitente. Debes tener suerte de que funcione.

Para que funcione de manera confiable, debe excluir cualquier extensor o, al menos, usar extensores naturales macho-hembra, hay algunos de buena calidad. Sin embargo, nunca se sabe esto a menos que tenga un costoso TDR diferencial (reflector de dominio de tiempo) o un analizador de red para probar la calidad de su canal. Si le preocupa la distancia, debe usar extensores "activos" basados ​​en una nueva clase de dispositivos USB llamados "Repetidores-retemporizadores ".

"··· un convertidor 'hembra-hembra', que le permite reconfigurar su cable de extensión macho-macho en una extensión 'macho-hembra' (que también está en contra de las especificaciones USB por cierto)" --- qué parte está en contra de USB ¿especificaciones? ¿Una extensión "macho-hembra"? ¿O usar una hembra-hembra para reconfigurar el macho-macho en un macho-hembra?
"Para que funcione de manera confiable, debe excluir cualquier extensor o, al menos, usar extensores naturales macho-hembra, hay algunos de buena calidad" --- ¿tendría mejores posibilidades de éxito si la placa pasa de micro-B hembra? a una mujer? De esa manera, uso dos cables de cámara (que deberían ser más confiables que mi extensión A-macho a A-macho de origen cuestionable, ¿no?)
@Cal-linux, cada extensor pasivo o cambiador de género está en contra de las especificaciones USB.

El diseño se ve mal.

Mirando el pin 1 del conector inferior (fila inferior, posición izquierda), el trazo rojo va a su equivalente en el conector superior.

Ahora mire los dos pines directamente arriba, la fila superior 1 y 2. Estos serían StdA_SSRX− y StdA_SSRX+. Estos se conectan a los pines debajo del trazo beige. Espero que se enruten al par debajo del rastro rojo en el conector superior.

Parece que se conectan a StdA_SSTX− y StdA_SSTX+, ¿tiene TR y Rx mal conectados aquí?

No, porque el cable hace la conexión complementaria --- Quiero que el conector USB3 de "salida" presente exactamente las mismas asignaciones de pines/pins que el conector en el host/PC. ¿Esto aclara, o todavía me estoy perdiendo algo?