Actualmente estoy realizando mi primer intento de diseño de hardware de un proyecto Ethernet integrado con PoE +. Tengo experiencia trabajando con sistemas embebidos con Ethernet (en su mayoría procesadores ARM M3 / M4 con interfaz RMII a un transceptor Ethernet PHY externo), pero esta es la primera vez que hago el diseño de hardware para un dispositivo compatible con Ethernet. También escribiré el firmware para este proyecto.
El propósito de este proyecto es crear una placa de E / S descendente que se comunique a través de TCP / IP a una placa controladora. Se conectarán varias tarjetas descendentes a un controlador e informarán los estados de entrada analógica, así como también ejecutarán los comandos de control de salida desde el controlador. Esta placa descendente también tendrá un servidor web básico al que se accederá a través de un navegador web para que el usuario pueda configurar las opciones de configuración.
En lo que respecta a la función PoE +, usaré un módulo de terceros. Presento el PoE + en caso de que esto tenga algún impacto en la respuesta a mi pregunta, pero no creo que sí.
Estaré usando un procesador ARM Cortex, por lo que hay dos caminos a seguir para Ethernet incorporado ...
(1) El procesador ARM Cortex M3 / M4 con MAC interno y la interfaz (R) MII a la PHY externa. Y luego, obviamente, el RJ45 y el magnetismo. Estoy familiarizado con este diseño y sé que garantizará que satisfaga mis necesidades.
O la otra opción menos costosa que estoy considerando ...
(2) El procesador ARM M0 + con un controlador externo 3 en 1 Ethernet interconectado con SPI. Y luego, obviamente, el RJ45 y el magnetismo. Para el controlador Ethernet SPI, estoy mirando el Microchip KSZ8851SNL.
¿Puede alguien darme una razón para NO ir con la ruta M0 menos costosa con un controlador Ethernet externo? En última instancia, el único ahorro en costos es de alrededor de $ 4 o $ 5 para la configuración del procesador M0 frente a M4 porque tanto el controlador externo PHY como el externo MAC + PHY tienen básicamente el mismo precio. Sin embargo, este será un diseño producido en masa, por lo que cualquier ahorro hace una diferencia a medida que aumenta el volumen.
Me preocupan principalmente los posibles cuellos de botella en el rendimiento de la interfaz SPI, sin embargo, también creo que con estos requisitos mínimos de tráfico, debería estar bien con la interfaz SPI. La hoja de datos del KSZ8851SNL dice que puede funcionar a una velocidad de reloj MAX SPI de 40MHz. No estoy seguro si necesitaría correr al máximo o si una velocidad de reloj más lenta lo haría. ¿Y entonces cuál sería la velocidad de reloj mínima de la MCU M0 para obtener un buen rendimiento (sin demoras en la carga de páginas, etc.)? Estoy viendo opciones M0 que tienen una velocidad de reloj máxima de 50-75 MHz.
En cuanto al firmware, ¿es más difícil implementar MII o SPI o son la misma dificultad?
¿Cuáles son algunas de las aplicaciones de red o los requisitos que harían que los controladores Ethernet de SPI no lo cortaran y necesitaría usar el MII con un procesador más avanzado?
O en cualquiera de sus humildes opiniones, ¿vale la pena solo por la solución M4 MII y tener un diseño a prueba de futuro que también podría reutilizarse para nuevos proyectos de hardware próximos?
Y por último, con respecto a PoE +, ¿tengo razón al pensar que PoE + no se verá afectado por SPI frente a MII? ¿También sería posible diseñar el tablero de manera que la población de PoE + sea opcional? ¿Básicamente puedo ofrecer un Ethernet o una opción de montaje Ethernet con PoE + con el mismo diseño de placa? Creo que el PoE + es un circuito paralelo, por lo que PoE + debería ser opcional sin afectar la transmisión de datos de Ethernet.
¡Lo siento por la lectura larga y aprecio cualquier información!