Conectando KSZ8863RLL a un MAC usando RMII

1

(Editado para hacer más preguntas sobre los pines MDIO / MDC)

Estoy agregando un Lantronix xPico 250 a un dispositivo integrado para proporcionar acceso WiFi. El dispositivo tiene un SOM basado en ARM que incluye un PHY y también hay un RJ45 externo. Los tres están conectados mediante un conmutador de 3 puertos Microchip KSZ8663RLL. El PHY del SOM está acoplado capacitivamente a uno de los PHY en el interruptor, y el RJ45 externo está conectado al otro. Estos pueden comunicarse entre sí sin ningún problema. El Lantronix xPico 250 es compatible con una interfaz RMII, por lo que está conectado al puerto RMII en el conmutador. Los pines RMII en el interruptor y el Lantronix se asignan directamente entre sí por el nombre del pin. es decir, TX - > TX, RX - > RX.

Aunque no funciona. Puedo acceder a la xPico 250 de forma inalámbrica y al acceder a sus páginas web internas puedo ver que el estado de su enlace de Ethernet (eth0) está inactivo. No tengo mucho más para ir en este momento.

He comprobado el reloj. El Lantronix xPico 250 espera un reloj de referencia como entrada que proporciona el interruptor.

He hecho algunas búsquedas en Google y soy consciente de que RMII no está diseñado para funcionar entre dos MAC. La hoja de datos del interruptor Microchip se refiere a la interfaz RMII que admite los modos MAC y PHY, pero no explica cómo configurar esto. Cada ejemplo de diseño de referencia que he visto en Internet lo tiene configurado como un MAC. ¿Cómo puedo estar seguro de que el interruptor está configurado como RMII PHY?

Si en realidad es un MAC y estoy conectando MAC a MAC, ¿necesito cambiar las señales (es decir, RX - > TX, TX - > RX, etc.)

Aquí hay un esquema:

Queestion adicional sobre MDIO / MDC .. He dejado los pines MDIO y MDC no conectados / flotando en el Lantronix. En los diseños de referencia, el Lantronix se ha conectado a un PHY y se han utilizado. ¿Es posible que esto esté causando un problema? ¿Deberían ser generalmente subidas / bajadas si no se usan?

    
pregunta imd70

3 respuestas

1

Ok. Finalmente lo tengo funcionando.

Hubo dos problemas: En primer lugar, las líneas MDIO y MDC do necesitan conectarse desde el Lantronix al interruptor. Agregué 1.5K pullup a la línea MDIO y también detuve SPISN (pin 39) para deshabilitar SPIQ.

En segundo lugar, el Lantronix utiliza de forma predeterminada una dirección PHY de 0 al enviar los comandos de registro de lectura a través de MDIO / MDC. Los dos PHY del conmutador utilizan las direcciones 1 y 2, por lo que el conmutador los omitió. El firmware en el Lantronix que viene de fábrica no tiene posibilidad de cambiar la dirección de PHY, pero sí el último firmware en su sitio web (xPico200_1.9.0.1R4.signed.rom). Reconfiguré el Lantronix para usar PHY addr 1 y todo parece funcionar ahora.

enlace eth0 arriba, puede hacer ping, etc.

    
respondido por el imd70
0

Debe leer sus hojas de datos con mucho cuidado para determinar qué líneas del RMII en cada extremo transmiten y reciben datos (incluidas las líneas de control). Una vez que esto se entienda completamente, la opción de si conectas los pines llamados TX < - > TX y RX < - > RX O si necesitas intercambiar como TX < - > RX and RX < - > TX quedará clara.

    
respondido por el Michael Karas
0

(Editado para corregir referencias al cristal de 50MHz)

El registro 53 (Puerto 3 Control 5) bit 7 debe ser 0 para que el puerto 3 esté en modo PHY (este es el valor predeterminado).

Ha vuelto a conectar REFCLKO_3 a REFCLKI_3 y también a xPico 250. Esto parece correcto con respecto a la tabla 3-7 (conexión MAC a MAC). Para esta configuración de reloj, debe configurar el registro 198 bit 3 en 0 (predeterminado), para flotar el pin 17 (pullup interno), y para flotar el pin 18 (pullup interno). Probe REFCLKO_3, asegúrese de ver 50MHz.

Si ve el reloj de salida pero aún tiene problemas, intente desconectar REFCLKI_3 (de REFCLKO_3) y bajarlo, luego configure el registro 198 bit 3 a 1 (reloj de referencia interno).

La descripción del pin para el pin REFCLKI_3 dice "Salida en modo PHY MII". No menciona "modo PHY RMII". Confundir ... podría valer la pena intentar aislar REFCLKO_3 y conducir un reloj a la xPico 250 desde REFCLKI_3 en su lugar.

Volcar todos los registros de control y estado del puerto 3 e inspeccionarlos.

Verifique su diseño para asegurarse de que se hayan cumplido las restricciones de longitud de ruta / coincidencia para el RMII. Si sus trazas son más largas que una pulgada o menos, es posible que necesite resistencias de terminación en serie.

Asegúrate de que tu cristal esté correctamente especificado. Probablemente esté bien si los puertos PHY KSZ8863RL funcionan bien.

    
respondido por el amb

Lea otras preguntas en las etiquetas