¿Qué es un buen microcontrolador para hacer aplicaciones Ethernet? ¿O solo necesito una buena biblioteca de Ethernet para conectarme con un Ethernet MAC/PHY?
Los PIC18 de Microchip con ethernet incorporado son excelentes para esto, solo agregue un magjack (u otro conector con imanes incorporados) y descargue su pila TCP/IP. Estarás haciendo ping a las cosas en poco tiempo. Para obtener más gruñido, el PIC24 y el PIC32 también tienen pilas TCP/IP diseñadas para ejecutarse 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 el chip, pero necesitará un PHY externo y magnetismo. Es una opción si ya estás mirando el PIC32.
Con respecto a tener una pila de TCP/IP, hay tres proyectos que debe considerar:
Contiki es un sistema operativo de código abierto, altamente portátil y multitarea para sistemas integrados en red y redes de sensores inalámbricos con uso eficiente de la memoria. Contiki se ha utilizado en una variedad de proyectos, como monitoreo de incendios en túneles de carretera, 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 para empezar
Generalmente, Ethernet no está integrado en los 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 'magnético'). Luego, necesita una pila TCP/IP y, además, necesita DHCP, DNS y cualquier otro protocolo que desee utilizar. Entonces, el microcontrolador real que use no importa mucho. Si obtiene algo muy poderoso como un ARM con Linux ejecutándose en él, desarrollarlo sería muy simple, casi lo mismo que escribir una aplicación de red que se ejecuta en una PC de escritorio que ejecuta 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 completa de TCP/IP en el software. Una solución común es usar algo como el chip W5100 de Wiznet, que maneja todo el TCP/IP de bajo nivel por usted. Puede comprarlo en un módulo prefabricado que incluye el conector ethernet y todo a un precio bastante económico, alrededor de $20 por el módulo WIZ812MJ . Puede comunicarse con él usando 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 incluso más sencillos de usar, pero son un poco más caros ($50-$100 según el modelo). Ver su XPort por ejemplo.
Los ARM son los microcontroladores del día y NXP tiene una amplia oferta de ellos. Esta página web enumera literalmente demasiados controladores Ethernet para mencionarlos todos aquí, a partir de esta fecha (2011-07-13):
17 dispositivos ARM7
2 dispositivos ARM9
16 dispositivos Cortex-M3
editar
Moví la discusión de las ventajas de ARM a esta respuesta .
El kit XMOS XC-2 es una forma interesante de hacerlo. Todo se hace en software, excepto el PHY. El software debe ejecutarse en el chip XS1-L1 de $7.50.
Microchip tiene una serie de microcontroladores Pic con capacidades Ethernet incorporadas, 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 ethernet integrado. Necesita un cristal externo y ethernet PHY (conector + magnetos).
GCC y openOCD (parpadeo/depuración JTAG) los admiten bien y son bastante baratos en cantidad.
También tienen kits de desarrollo 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 qué tan fácil quiera hacer su vida, le recomendaría usar un MBED y comprar una placa de conexión magjack y ethernet (vea sparkfun) para conectar el cable y manejar 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 de los mensajes individuales) y, si desea publicar páginas web, 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 espere poder publicar páginas complejas, pero funciona bien al cargarlo en Pachube, Twitter, etc.
Para una solución más poderosa, busque Marvell Plug
Sugeriría usar el ENC28J60 junto con uno de los microcontroladores pic 18 porque el microchip ofrece una pila TCP/IP para esta combinación y debería haber mucha información disponible a través de Google sobre cómo implementar esto.
echa un vistazo a tuxgraphics para una buena solución.
Hay muchos proyectos que utilizan ENC28J60 y ATMEL Cips. La mayoría de ellos están bien documentados y usan C o BASCOM. También puede comprar kits completos para empezar. Yo solo tengo un kit de este tipo y aprendí mucho sobre la programación de los foros.
El nanode es de código abierto y solo se envían £ 22 / $ 40. Acabo de comprar dos para el monitoreo ambiental/energético del hogar a través de pachube.
Lanzamiento de 30 segundos desde el sitio:
Nanode es una placa similar a Arduino de código abierto que tiene conectividad web incorporada. Se conecta a una variedad de interfaces inalámbricas, cableadas y ethernet. Le permite desarrollar sensores y sistemas de control 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 microchips con la tarjeta de desarrollo picdem.net 2 y no quedé nada satisfecho, no está optimizado ni 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 da todas las soluciones disponibles y las compara:
Llego tarde a la fiesta aquí pero recomiendo el 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 la depuración y la interfaz de usuario básica), ranura para tarjeta SD, altavoz, botones, LED y conexiones 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 por los chips) , vienen con un conjunto correcto de bibliotecas de desarrollo si desea hacer su propio firmware o puede ejecutar FreeRTOS (requirió un poco de portabilidad debido a revoluciones de hardware menores entre la revisión de mi placa y las cosas en la distribución de FreeRTOS) y eLua. Puede usar uIP o lwIP para TCP/IP.
En comparación con las ofertas populares para aficionados como AVR/Arduino y PIC, el Cortex M3 es una pieza de 32 bits, funciona a 50 MHz, el 6965 tiene muchas características de E/S, en mi opinión, por el dinero, es simplemente increíble la cantidad de 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 saber C (bueno, a menos que ejecute eLua). Soy un desarrollador de software de oficio y hago mi desarrollo ARM en una Mac, por lo que no tengo miedo de las configuraciones de cadena de herramientas aterradoras/incómodas y usé 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é Code Composer IDE de TI para un divertido proyecto experimental MSP430 y estuvo bien para mí y tenía un flujo de trabajo más fácil que mi configuración OSX/ARM.
Divulgación completa, en realidad no he diseñado una PCB alrededor de este chip que usa el controlador Ethernet, pero hice una placa que no usaba Ethernet y tuve una buena experiencia con eso, y he creado proyectos habilitados para Ethernet usando la junta de evaluación.
Echa un vistazo a la placa de evaluación/paquetes de herramientas aquí
ACTUALIZACIÓN Sep 2013
Parece que estas piezas ya no se recomiendan para nuevos diseños. No parece haber reemplazos obvios.
ACTUALIZACIÓN noviembre 2013
Ahora hay un TM4C129XNCZAD que es nominalmente un reemplazo para la parte anterior: tiene MAC + PHY integrado, aunque no es compatible con pines; 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 100 % lo que está preguntando esta pregunta, pero para proyectos en los que las series 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 de la placa exacta utilizada:
Puede usar casi cualquier MCU con el controlador Wiznet W5500 MAC + PHY incorporado , está controlado por SPI. Las ventajas son: tiene una pila de red incorporada, búferes Tx/Rx, requiere un mínimo de pines MCU, programación simplificada.
Acabo de encontrar otra opción interesante: AX88796C de ASIX, también tiene MAC + PHY , 10\100Mbps Ethernet y una opción de interfaz SPI de hasta 40MHz, por lo que se ve muy bien para cualquier MCU basado en ARM.
ACTUALIZACIÓN: Netduino 3 ya está usando este chip, aquí hay detalles interesantes:
Si tiene alguna experiencia con el firmware, recomendaría la placa STM32F4Discovery con la placa STM32F4DIS-EXT. Recientemente usé esto para crear una página web de configuración para mi dispositivo y fue bastante fácil. Hay un proyecto de ejemplo de lwIP disponible en línea y si busca en Google "makefsdata", encontrará mucha información sobre cómo generar los archivos necesarios para sus 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 usando su pila TCP/IP. También tienen una implementación de TLS:
http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html
Hice un proyecto usando la Ethernet Flyport 'clásica' y hasta ahora ha sido sólido como una roca.
thom_nic
Roberto Deml
thom_nic