Problema con Ethernet PHY

Uno de mis clientes tiene problemas con un SMSC LAN8710A PHY que está conectado a un FPGA de Xilinx. El enlace Ethernet funciona perfectamente cuando la placa está conectada a mi MacBook o al enrutador de mi oficina, pero falla con otros socios, como los adaptadores USB-Ethernet. En ese caso, la negociación automática tiene éxito pero el enlace no se activa y el PHY informa errores de símbolo a través de su registro SYM_ERR_CNT.

Sospecho que hay un problema de integridad de la señal en la placa. ¿Hay algo más que pueda explicar este comportamiento? ¿Algún consejo sobre cómo depurar problemas como estos?

Actualización: los errores de símbolo (generalmente hay uno o dos) parecen ocurrir poco después de que se activa el enlace. Cuando la negociación automática está desactivada, el recuento de errores de símbolo permanece en 1 o 2 y el enlace funciona bien. Cuando está activado, la negociación automática se reinicia aproximadamente cada segundo y el contador de errores de símbolo se incrementa cada vez.

¿Lo ha probado con un cable directo o cruzado (en caso de que algo esté mal con Auto-MDIX)?
Gracias por la sugerencia. Estoy viendo el mismo comportamiento con ambos tipos de cables.
¿Ha verificado la tolerancia del reloj de referencia utilizado para el enlace MAC / PHY en su placa? Ethernet requiere una tolerancia más estricta (es decir, una clasificación de ppm más baja) que su cristal de microprocesador de variedad de jardín simple y antiguo.
Otro comentario: también podría tener algunos problemas con el ruido acoplado en su circuito Ethernet de fuentes de alimentación de conmutador cercanas o circuitos FPGA y MCU mal omitidos.
¿Se sabe que los conectores magnéticos están bien? Si el diseño y las fuentes de alimentación son razonables, y los circuitos alrededor de las tomas son correctos y están en su lugar, ese podría ser otro lugar para buscar.

Respuestas (2)

Todavía no puedo comentar, así que publicaré esto como respuesta. Tuve un problema similar en el pasado con un DP8384C y pudimos hacer que el enlace funcionara forzando la conexión a 10 Mbps (en cualquier extremo ).

Tuvimos que volver a girar los tableros para solucionarlo, pero ayudó a solucionar el problema. Básicamente, reequilibramos las longitudes de los pares diferenciales desde el PHY hasta el magjack y verificamos las impedancias de rastreo, no hemos tenido ningún problema en ningún diseño desde entonces.

Algunas cosas que podrías probar:

  1. Verifique dos veces el circuito alrededor del magnetismo en su tablero. Si algo es incorrecto, es probable que tenga dificultades con algunos socios de enlace y no con otros.

  2. Desactive la negociación automática y fuerce ambos extremos a la misma velocidad.

  3. Sospecha de problemas de SI: extraiga el alcance y observe cuándo ve el PHY.

Si puede transmitir correctamente sin errores a 10 MBit/s (forzados) pero no puede obtener un enlace a 100 MBit/s, comenzaría a revisar los esquemas y el diseño de la placa y probaría las señales con un osciloscopio, comenzando por el magnetismo.

Gracias por tu publicación. Deshabilitar la negociación automática ayuda a activar el enlace, pero obviamente esto es solo una solución temporal. Además, no ayuda contra los errores de símbolo.
La integridad del diseño para Ethernet es importante incluso para una red 100-BaseT. No descarte la necesidad de que un diseñador preste mucha atención a los requisitos de integridad de la señal y los requisitos de diseño para las rutas de conexión MAC/PHY y PHY/RJ45. La metodología de conexión a tierra también es muy importante.
@MichaelKaras Concedido: actualicé mi respuesta para incorporar sus comentarios.