LAN8710A en STM32

1

Estoy trabajando en un proyecto en el que quiero tener un STM32 ejecutando FreeRTOS lwIP. Quiero conectarlo a través de MII en lugar de la configuración de RMII. He estudiado la hoja de datos de LAN8710A y sé cómo configurar el PHY y cómo conectarlo a STM32, pero como cualquiera lo haría en un proyecto personal en el que no puede fallar (el pago de mi propio bolsillo no es divertido ) Busqué en la red proyectos similares, pero todo lo que encontré fueron proyectos que usaban la configuración de RMII (también tengo la placa Olimex E407, que también usa RMII), pero después de un poco de búsqueda encontré a mucha gente quejándose de la RMII configuración, diciendo que pierde muchos paquetes y no es confiable y algunas personas sugieren que conecte un oscilador en algunas líneas de reloj.

Aparentemente, el ETH_MII_RX_CLK y ETH_MII_TX_CLK no son muy confiables y están muy inquietos y es por eso que algunas personas recomiendan usar un oscilador en esos pines. Mi pregunta es: ¿conecto el oscilador, ETH_MII_RX_CLK y ETH_MII_TX_CLK juntos? ¿Debo dejar el pin en el microcontrolador como sin conexión para ETH_MII_TX_CLK y sin conexión en PHY para ETH_MII_RX_CLK? ¿Simplemente conecto los pines del microcontrolador y el PHY al oscilador? Tal vez el ETH_MII_TX_CLK sea la única línea de reloj defectuosa (ya que proviene del microcontrolador) y tal vez solo necesito conectar este pin al oscilador y PHY y dejar el microcontrolador como no conectado.

Como puede ver, esto es un poco confuso para mí, pero el sentido común me dice que simplemente deje el pin como no conectado en el microcontrolador y conecte el oscilador al pin en el PHY (para TX) y para RX Permití que PHY condujera la línea del reloj, ya que nadie se ha quejado de ello.

    
pregunta morcillo

1 respuesta

0

Bueno, terminé creando mi proyecto de todos modos y me olvidé de responder esta pregunta.

Aparentemente no está nervioso y no hay problemas con RMII o pérdidas de paquetes. Mi problema fue que estaba usando stm32f2x7, que tiene un problema con ethernet al sincronizar los pines MCO usando PLL, por lo que mi solución fue la que se encuentra en la hoja de datos, use el modo MII en lugar de RMII y no use PLL para el MCO pin cronometrando el PHY.

Al final, estaba sobre-pensando todo MUCHO . Esas soluciones alternativas mencionadas en mi comentario no fueron necesarias en absoluto y, si alguien lo necesita, puedo editar esta respuesta más adelante y agregar un esquema.

    
respondido por el morcillo

Lea otras preguntas en las etiquetas