Tengo un PCB diseñado usando Ethernet de 10Mbit y 100Mbit, he producido 100 placas, el 97% de las cuales funcionan perfectamente (tanto de 100Mbit como de 10Mbit). En el 3% de mis tarjetas, la de 10 Mbit funciona todo el tiempo, pero la de 100 Mbit falla en algunas interfaces. Por ejemplo, tengo dos puertos Ethernet de mi PC, uno de la placa base y una segunda tarjeta Ethernet PCI-X. En el puerto de la placa base todos los dispositivos funcionan correctamente. En el puerto basado en PCI-X, 10 Mbits funcionan y 100 Mbits no. El dispositivo Ethernet PCI-X obviamente funciona para el 97% de los dispositivos. Si uso un interruptor entre el puerto PCI-X y mi dispositivo, 100 Mbit funciona todo el tiempo.
Me preocupa tener un problema con mi interfaz Ethernet que hace que sea marginal. ¿Alguien ha visto esto antes o alguien podría ofrecer algunos consejos sobre dónde buscar el problema?
ACTUALIZADO
Estoy usando el Micrel KSZ8041 Ethernet PHY.
Cuando encuentro una PCB defectuosa, no funciona con otros diseños que tengo y que sé que cumplen con las especificaciones (aunque gracias, esta fue una buena sugerencia).
Aquí están mis esquemas:
En mis unidades defectuosas tengo
Mi conector P300 no es un RJ45, sino un encabezado de orificio pasante de 2 mm donde un telar de cables personalizado se conecta a un RJ45 en una PCB separada. He excluido este encabezado y el PCB separado de la ecuación al conectarlos directamente a P300.
No estoy seguro de si hace una diferencia, pero esto funciona con un cable Ethernet más largo (5 m está bien, 0,5 m no lo está)... lo que apunta a los componentes/diseño coincidentes. He revisado la conexión a tierra.
En el interior del transformador, el tx y rx están balanceados y en un plano interno entre dos planos de tierra (el par tx y rx están estrechamente acoplados (separación de 9 mils) y hay un buen espacio entre los pares y otras pistas (al menos 40 mils). En el exterior del transformador, los pares tx y rx pasan por un plano de tierra del chasis separado.
Estoy convencido de que el problema es entre el PHY y el mundo exterior (sin excluir el PHY). Cuando pruebo la línea rx0 entre el PHY y el DSP, una unidad en funcionamiento solo muestra tráfico cuando hago ping, pero una unidad que falla tiene un flujo constante de datos (presumiblemente, los caracteres inactivos se reciben incorrectamente).
Actualmente estoy investigando el alquiler de algunos equipos de prueba de cumplimiento.
Esta no es una respuesta completa, pero es un buen primer paso.
Recomiendo revisar los interruptores de modo de PHY. Probablemente esté configurado para negociar automáticamente, lo que significa que el PHY recurrirá a una velocidad de datos más lenta si la más rápida resulta marginal. Si puede forzar la velocidad de datos más rápida, será mucho más fácil depurar el problema.
Solo podemos adivinar a partir de la información que ha proporcionado. El hecho de que funcione a baja frecuencia pero no a alta frecuencia es una pista de que, en algún lugar, algunos problemas de alta frecuencia no se han abordado correctamente. Esto puede ser un problema sistémico, por lo que la operación de alta frecuencia es marginal y falla el 3% del tiempo. O bien, las unidades que no funcionan podrían tener una falla que perjudique mucho más la operación de alta frecuencia que la operación de baja frecuencia.
Teniendo en cuenta lo anterior, miraría de cerca las resistencias de terminación, los filtros en las derivaciones centrales, el desacoplamiento de todos los chips involucrados y el diseño general, incluido el plano de tierra y las corrientes de tierra. Tal vez sea tan simple como que las resistencias de terminación no se soldaron correctamente en las unidades que fallaron. En el peor de los casos, tiene algo como una conexión a tierra mal diseñada o incluso dejó una tapa de derivación o un inductor en serie o una tapa de filtro para la derivación central del primario de transmisión.
Anindo Ghosh
Wouter van Ooijen
usuario20123
clabacchio
chris stratton