¿Qué es un buen microcontrolador para aplicaciones Ethernet?

47

¿Qué es un buen microcontrolador para hacer aplicaciones de Ethernet? ¿O simplemente necesito una buena biblioteca de Ethernet para conectarme con un MAC / PHY de Ethernet?

    
pregunta Robert

20 respuestas

29

Los PIC18s 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 ningún momento. Para más gruñido, el PIC24 y el PIC32 también tienen pilas TCP / IP diseñadas para ejecutarse con una de las partes de SPI Ethernet MAC / PHY que ofrecen (ENC624J600 o ENC628J60).

ST también ha mejorado recientemente su línea STM32 basada en ARM Cortex para incluir Ethernet en el chip, pero necesitará un PHY externo y magnéticos. Es una opción si ya estás mirando el PIC32.

    
respondido por el spiffed
20

Con respecto a tener una pila TCP / IP, hay tres proyectos que debe considerar:

  

Contiki es una fuente abierta, altamente   Operación portátil, multitarea   Sistema de memoria eficiente en red   Sistemas embebidos y sensor inalámbrico.   redes Contiki se ha utilizado es un   Variedad de proyectos, como carretera.   tunel de vigilancia de incendios, intrusión   Detección, monitorización del agua en el   Mar Báltico, y en vigilancia.   redes.

     

Contiki está diseñado para   microcontroladores con pequeñas cantidades de   memoria. Una contiki tipica   La configuración 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ña   microcontroladores de 8 bits integrados, con   Interoperabilidad mantenida y RFC.   Cumplimiento de las normas.

respondido por el Clinton Blackmore
17

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. Así que el microcontrolador real que usas 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ías ir con algo menos poderoso & 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 de TCP / IP para ti. Puede comprarlo en un módulo prefabricado que incluye el conector de Ethernet y todo por bastante barato, alrededor de $ 20 para 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 incluso más fáciles de usar, pero son un poco más caros ($ 50- $ 100 según el modelo). Consulte su XPort por ejemplo.

    
respondido por el davr
11
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 mencionar 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 sobre las ventajas de ARM a esta respuesta .

    
respondido por el stevenvh
6

El XMOS XC-2 kit es una forma interesante de hacerlo. . Todo se hace en software, aparte de la PHY. El software debe ejecutarse en el chip XS1-L1 de $ 7.50.

    
respondido por el Leon Heller
5

Los microchips tienen varios microcontroladores Pic con capacidades incorporadas de Ethernet, 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.

    
respondido por el Amos
4

Muchos de los microcontroladores Luminary de TI (ARM Cortex-M3) tienen un MAC de Ethernet integrado. Necesita un PHY externo de cristal y ethernet (conector + magnéticos).

GCC y openOCD (parpadeo / depuración de JTAG) los apoyan bien y son bastante baratos en cantidad.

También tienen devkits de hardware baratos ...

enlace

    
respondido por el Toby Jaffey
4

Netduino plus es un buen microcontrolador de $ 60 para aplicaciones Ethernet. También puede aceptar la mayoría de los escudos de Arduino si es necesario.

    
respondido por el avra
4

Dependiendo de la facilidad con la que quieras hacer la vida, te recomendaría usar un MBED y comprar un tablero de ruptura Magjack y Ethernet (consulta sparkfun) Para conectar el cable y tratar el acondicionamiento de la señal. El modelo de soporte es el mbed NXP LPC1768.

Logré que un mbed enviara datos a mi servidor remoto (es decir, a través de Internet) en aproximadamente 2 horas desde el inicio.

    
respondido por el SimonBarker
4

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 enlace de Arduino Duemilanova - microcontrolador ATMega328, 2Kbytes RAM. Puede conectar una tarjeta SD si desea un almacenamiento significativo. El escudo de Ethernet soportará hasta 4 sesiones concurrentes. No espere poder servir páginas complejas, pero funciona bien subiendo archivos a Pachube, Twitter, etc.

Para obtener una solución más potente, consulte Marvell Plug

    
respondido por el JohnC
3

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 en google para implementar esto.

    
respondido por el Erik
3

consulte tuxgraphics para obtener una buena solución.

    
respondido por el CH2048
3

Hay muchos proyectos que utilizan los Cips ENC28J60 y ATMEL. La mayoría de ellos están bien documentados y utilizan C o BASCOM. También puedes comprar kits completos para empezar. Yo solo poseo este kit y aprendí mucho sobre la programación de los foros.

    
respondido por el Achim
3

El nanode es de código abierto y solo se envían £ 22 / $ 40. Acabo de comprar dos para monitoreo de energía / medio ambiente en el hogar a través de pachube.

30 segundos desde el sitio:

Nanode es una placa de código abierto similar a 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 construir tú mismo. Nanode fue diseñado con Hacking en mente.

    
respondido por el Heavy Sixer
3

Probé la pila de microchips con la tarjeta de desarrollo picdem.net 2 y no estaba satisfecho 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 proporciona todas las soluciones disponibles y las compara:

enlace

    
respondido por el mba7
3

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 (excelente para la depuración y la interfaz de usuario de los barebones), ranura para tarjeta SD, altavoz, botones, LED y desgloses para el cableado hasta los periféricos del micro. No describiste tu aplicación (es decir, buscando 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 (requiere un poco de portabilidad debido a revisiones menores de hardware entre la revisión de la placa y el contenido de la distribución de FreeRTOS) y eLua. Puede usar uIP o lwIP para TCP / IP.

En comparación con las ofertas de aficionados populares 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 dinero, es simplemente increíble la cantidad de computación El poder y cuántas funciones puedes obtener de algo tan pequeño y barato. Sin embargo, es bastante crudo en el lado del desarrollo, y debes conocer C (bueno, a menos que ejecutes eLua). Soy un desarrollador de software de oficio y realizo mi desarrollo ARM en una Mac, así que no tengo miedo de las configuraciones de herramientas de herramientas temibles / inconvenientes y utilizo Make + arm-eabi-gcc + OpenOCD para la depuración, pero si eres un tipo de Windows Tal vez el paquete de Code Composer Studio sería una buena apuesta. Utilicé el IDE de Code Composer de TI para un divertido proyecto experimental de MSP430, estaba bien para mí y tenía un flujo de trabajo más sencillo que mi configuración de OSX / ARM. Tienen alrededor de media docena de paquetes de tablas con diferentes herramientas de desarrollo, por lo que puedes elegir tu veneno.

Revelación completa, no he diseñado una PCB alrededor de este chip que usaba el controlador Ethernet, pero hice una placa que no usaba Ethernet y tuve una buena experiencia con eso, y he construido Ethernet proyectos habilitados utilizando el consejo de evaluación.

Consulte los paquetes de la placa de evaluación / herramienta de evaluación aquí

ACTUALIZACIÓN, septiembre de 2013

Parece que estas piezas ya no se recomiendan para los nuevos diseños. Parece que no hay reemplazos obvios.

ACTUALIZACIÓN Nov 2013

Ahora hay un TM4C129XNCZAD que es nominalmente un reemplazo para la parte anterior; tiene MAC + PHY integrado, aunque no compatible con pin: sin embargo, muchas personas son reacias a usarlo después los problemas / confusión sobre la interrupción / disponibilidad de la vida temprana de LM3S .

    
respondido por el Suboptimus
2

Es posible que esta pregunta no sea del 100%, pero para los proyectos en los que la producción es bastante pequeña, he empezado a ver personas que incorporan tableros pre-construidos como la frambuesa pi. Esto tiene muchas ventajas:

  1. El precio no es mucho más que una de las CPU de gama alta con Ethernet (al menos para volúmenes bajos), y se omite una carga completa de problemas de diseño / prueba / surgimiento.
  2. La Raspberry PI ya está probada por CE / EMC, por lo que elimina una gran cantidad de incertidumbre (de lo contrario, los relojes Ethernet y rápidos pueden generar un montón de problemas de EMC). Todavía tiene que probar su producto final, pero al menos hay un área completa que realmente no debería causar una falla.
  3. Si usas linux, obtendrás mucho más gruñido y una pila TCP / IP adecuada de nivel de servidor, ¡ninguna de estas cosas de tipo "solo una conexión activa permitida"!

Como digo, no es para todos, pero para algunos proyectos puede ser una buena opción.

Hay algunas opciones en cuanto al tablero exacto utilizado alrededor:

  1. Raspberry PI
  2. Beaglebone black - tiene a bordo flash
  3. STM32F4DISCOVERY      con placas de expansión
respondido por el JosephH
2

Puede usar casi cualquier MCU con Wiznet W5500 integrado MAC + PHY , es impulsado por SPI. Las ventajas son: tiene una pila de red incorporada, buffers 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 la opción de interfaz MAC + PHY , 10 \ 100Mbps Ethernet y hasta 40MHz SPI, por lo que se ve bien para cualquiera MCU basado en ARM.

ACTUALIZACIÓN: Netduino 3 ya está utilizando este chip, aquí hay detalles interesantes:

enlace

    
respondido por el Flanker
1

Si tiene alguna experiencia con el firmware, recomendaría la placa de descubrimiento STM32F4 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 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.

    
respondido por el PacEE
1

Me gusta el módulo Ethernet Openpicus FlyportPro (25 EUR) para ese propósito. Solo agregue un conector Ethernet con magnetismo y cree su firmware utilizando su pila TCP / IP. También tienen una implementación TLS:

enlace

Hice un proyecto usando el 'clásico' Flyport Ethernet y ha sido muy sólido hasta ahora.

    
respondido por el Xen

Lea otras preguntas en las etiquetas