¿Qué es un buen microcontrolador para hacer aplicaciones Ethernet? ¿O solo necesito una buena biblioteca de Ethernet para conectarme con un MAC / PHY de Ethernet?
¿Qué es un buen microcontrolador para hacer aplicaciones Ethernet? ¿O solo necesito una buena biblioteca de Ethernet para conectarme con un MAC / PHY de Ethernet?
Respuestas:
Los PIC18 de Microchip con ethernet incorporado son excelentes para esto, solo agregue un magjack (u otro conector con magnetismo incorporado) y descargue su pila TCP / IP. Estarás haciendo ping a las cosas en poco tiempo. Para un mayor gruñido, el PIC24 y el PIC32 también tienen pilas TCP / IP diseñadas para funcionar con una de las partes SPI Ethernet MAC / PHY que ofrecen (ENC624J600 o ENC628J60).
ST también mejoró recientemente su línea STM32 basada en ARM Cortex para incluir ethernet en chip, pero necesitará un PHY externo y magnetismo. Es una opción si ya está mirando el PIC32.
Con respecto a tener una pila TCP / IP, hay tres proyectos que debe considerar:
Contiki es un sistema operativo de código abierto, altamente portátil y multitarea para sistemas embebidos en red y redes de sensores inalámbricos eficientes en memoria. Contiki se ha utilizado en una variedad de proyectos, tales como monitoreo de incendios en túneles de carreteras, detección de intrusos, monitoreo de agua en el Mar Báltico y en redes de vigilancia.
Contiki está diseñado para microcontroladores con pequeñas cantidades de memoria. Una configuración típica de Contiki es de 2 kilobytes de RAM y 40 kilobytes de ROM.
La pila uIP TCP / IP de código abierto proporciona conectividad TCP / IP a pequeños microcontroladores integrados de 8 bits, con interoperabilidad mantenida y cumplimiento de estándares RFC.
Mucho más rápido que uIP pero más difícil de comenzar
Generalmente, Ethernet no está integrado en microcontroladores. Primero necesita un conector que pueda convertir las señales de Ethernet en señales leídas por un microcontrolador (esto generalmente se llama 'magnetismo'). Luego necesita una pila TCP / IP, y además necesita DHCP, DNS y cualquier otro protocolo que desee usar. Por lo tanto, el microcontrolador real que usa no importa mucho. Si obtienes algo muy poderoso como un ARM con Linux ejecutándose en él, entonces desarrollarlo sería muy simple, casi lo mismo que escribir una aplicación de red que se ejecute en una PC de escritorio con Linux. O podría optar por algo menos potente y más barato como un AVR o PIC.
Ethernet y TCP / IP pueden ser bastante complejos si desea implementar una pila TCP / IP completa en el software. Una solución común es usar algo como el chip W5100 de Wiznet, que maneja todas las cosas de bajo nivel TCP / IP por usted. Puede comprarlo en un módulo prefabricado que incluye el conector de Ethernet y todo por un precio bastante económico, alrededor de $ 20 por el módulo WIZ812MJ . Puede comunicarse con él utilizando solo SPI, por lo que no necesitará muchos pines de E / S en su microcontrolador.
Lantronix también proporciona algunos módulos más potentes que parecen aún más simples de usar, pero son un poco más caros ($ 50- $ 100 según el modelo). Vea su XPort por ejemplo.
Los ARM son los microcontroladores de la época, y NXP tiene una amplia oferta de ellos. Esta página web enumera literalmente demasiados controladores Ethernet para mencionarlos aquí, a partir de esta fecha (13-07-2011):
17 dispositivos ARM7
2 dispositivos ARM9
16 dispositivos Cortex-M3
editar
Moví la discusión de ventajas ARM a esta respuesta .
El kit XMOS XC-2 es una forma interesante de hacerlo. Todo se hace en software, aparte de PHY. El software debe ejecutarse en el chip XS1-L1 de $ 7.50.
Microchip tener una serie de microcontroladores PIC con capacidades de Ethernet incorporado, hay una lista aquí . También tienen una serie de páginas sobre soluciones de diseño para ethernet y sus productos aquí , que también incluye detalles de su pila TCP / IP completa (con MAC y PHY integrados).
Espero que esto ayude.
Muchos de los microcontroladores Luminary de TI (ARM Cortex-M3) tienen un MAC de ethernet incorporado. Necesita un cristal externo y una PHY de ethernet (conector + magnetismo).
GCC y openOCD (flasheo / depuración JTAG) los admiten bien y son bastante baratos en cantidad.
También tienen devkits de hardware baratos ...
http://uk.farnell.com/luminary-micro/ekt-lm3s811/kit-eval-lm3s811-code-red/dp/1712254
Netduino plus es un buen microcontrolador de $ 60 para aplicaciones de ethernet. También puede aceptar la mayoría de los escudos Arduino si es necesario.
Dependiendo de cuán fácil quiera hacer su vida, recomendaría usar un MBED y comprar una placa de conexión magjack y ethernet (vea sparkfun) para conectar el cable y lidiar con el acondicionamiento de la señal. El modelo de soporte es el mbed NXP LPC1768.
Logré obtener un mbed enviando datos a mi servidor remoto (es decir, a través de Internet) en aproximadamente 2 horas desde un inicio permanente.
Depende de lo que quieras hacer con él. Lo principal a tener en cuenta es la cantidad de RAM (puede limitar el tamaño del mensaje individual) y si desea servir páginas web, entonces la cantidad de almacenamiento disponible para eso. Uso un Arduino Duemilanova http://www.arduino.cc/ - microcontrolador ATMega328, 2Kbytes de RAM. Puede conectar una tarjeta SD si desea un almacenamiento significativo. El escudo de ethernet admitirá hasta 4 sesiones simultáneas. No esperes poder servir páginas complejas, pero funciona bien cargando en Pachube, Twitter, etc.
Para una solución más poderosa, mire Marvell Plug
Pedido tuxgraphics para una buena solución.
El nanode es de código abierto y solo se envían £ 22 / $ 40. Acabo de comprar dos para el monitoreo de energía / medio ambiente en el hogar a través de pachube.
Lanzamiento de 30 segundos desde el sitio:
Nanode es una placa de código abierto tipo Arduino que tiene conectividad web incorporada. Se conecta a una gama de interfaces inalámbricas, cableadas y ethernet. Le permite desarrollar sistemas de control y sensores basados en la web, lo que le brinda acceso web a seis líneas de sensores analógicos y seis líneas de E / S digitales. Es un kit fácil de construirlo usted mismo. Nanode fue diseñado con Hacking en mente.
Probé la pila de microchip con la tarjeta de desarrollo picdem.net 2 y no me satisfizo en absoluto, no está optimizado y no está bien documentado.
Creo que la mejor solución en el mercado ahora es Wiznet que tiene el primer chip de hardware TCP / IP basado en Ethernet que ahorra mucho tiempo y le brinda más eficiencia
Este enlace ofrece todas las soluciones disponibles y compárelas:
Llego tarde a la fiesta aquí, pero recomiendo la TI Stellaris EK-LM3S6965. Es una pieza ARM Cortex M3 con controlador Ethernet incorporado que incluye PHY. Para la creación de prototipos utilicé su kit de evaluación, que tiene un conector Ethernet, una pequeña pantalla OLED (ideal para depuración y interfaz de usuario básica), ranura para tarjeta SD, altavoz, botones, LED y bridas para conectar cosas a los periféricos del micro. No describió su aplicación (es decir, busca producir decenas de miles de algo o un proyecto de pasatiempo único), pero el precio es razonable (~ $ 70 para la placa de desarrollo, $ 12-15 en pequeñas cantidades solo para los chips) , vienen con un conjunto correcto de bibliotecas de desarrollo si desea hacer su propio firmware o puede ejecutar FreeRTOS (requiere un poco de portabilidad debido a pequeñas revoluciones de hardware entre la revisión de mi placa y las cosas en la distribución FreeRTOS) y eLua. Puede usar uIP o lwIP para TCP / IP.
En comparación con las ofertas populares de aficionados como AVR / Arduino y PIC, el Cortex M3 es una parte de 32 bits, funciona a 50MHz, el 6965 tiene muchas características de E / S, IMO por el precio, es increíble cuánta potencia informática y cómo muchas características que puede obtener de algo tan pequeño y barato. Sin embargo, es bastante crudo en el lado del desarrollo, y debe conocer C (bueno, a menos que ejecute eLua). Soy un desarrollador de software de profesión y hago mi desarrollo ARM en una Mac, así que no tengo miedo de las configuraciones de cadena de herramientas aterradoras / inconvenientes y utilicé Make + arm-eabi-gcc + OpenOCD para la depuración, pero si eres un chico de Windows tal vez el paquete Code Composer Studio sería una buena apuesta. Utilicé el IDE de Code Composer de TI para un divertido proyecto experimental MSP430 y me pareció bien y tenía un flujo de trabajo más fácil que mi configuración OSX / ARM.
De divulgación completa, en realidad no he diseñado una PCB alrededor de este chip que usara el controlador Ethernet, pero hice una placa que no usaba Ethernet y tuve una buena experiencia con eso, y he construido proyectos habilitados para Ethernet usando La junta de evaluación.
Echa un vistazo a la tabla de evaluación / paquetes de herramientas aquí
ACTUALIZACIÓN Sep 2013
Estas partes ya no se recomiendan para nuevos diseños. No parece haber ningún reemplazo obvio.
ACTUALIZACIÓN Nov 2013
Ahora hay un TM4C129XNCZAD que es nominalmente un reemplazo para la parte anterior, tiene MAC + PHY incorporado, aunque no es compatible con un pin, sin embargo, muchas personas son reacias a usarlo después de los problemas / confusión sobre la interrupción / disponibilidad de la vida temprana de LM3S .
Puede que no sea el 100% de lo que esta pregunta está planteando, pero para proyectos donde las ejecuciones de producción son bastante pequeñas, he comenzado a ver personas que incorporan placas preconstruidas como la frambuesa pi. Esto tiene muchas ventajas:
Como digo, no es para todos, pero para algunos proyectos puede ser una buena opción.
Hay algunas opciones en términos del tablero exacto utilizado alrededor:
Puede usar casi cualquier MCU con el controlador Wiznet W5500 integrado MAC + PHY , es impulsado por SPI. Las ventajas son: tiene una pila de red incorporada, memorias intermedias Tx / Rx, requiere pines MCU mínimos, programación simplificada.
Acabo de encontrar otra opción interesante: AX88796C de ASIX, también tiene MAC + PHY , Ethernet de 10 \ 100Mbps y una opción de interfaz SPI de hasta 40MHz, por lo que se ve muy bien para cualquier MCU basada en ARM.
ACTUALIZACIÓN: Netduino 3 ya está utilizando este chip, aquí hay detalles interesantes:
Si tiene alguna experiencia con el firmware, recomendaría la placa STM32F4Discovery con la placa STM32F4DIS-EXT. Recientemente utilicé esto para crear una página web de configuración para mi dispositivo y fue bastante fácil. Hay un proyecto de ejemplo lwIP disponible en línea y si buscas en google "makefsdata" encontrarás mucha información sobre cómo generar los archivos necesarios para tus propios archivos HTML. Envíame un mensaje si necesitas más información.
Me gusta el módulo Ethernet Openpicus FlyportPro (25 EUR) para ese propósito. Simplemente agregue un conector ethernet con imanes y cree su firmware utilizando su pila TCP / IP. También tienen una implementación TLS:
http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html
Hice un proyecto usando el 'clásico' Flyport ethernet y hasta ahora ha sido sólido como una roca.