¿Qué es un buen microcontrolador para aplicaciones Ethernet?

47

¿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?

Robert
fuente
¿Puedes decirnos con qué solución fuiste y tu experiencia con ella?
thom_nic
1
Actualmente estoy usando la serie PIC18F97J60 y PIC32 con un ENCxxx. Funciona bien El mayor problema es que solo tiene hasta SSLv3.0, que Firefox y Chrome acaban de eliminar. Microchip tiene soporte para muchos otros protocolos que uso: FTP, TFTP, SNTP, SNMP.
Robert
Es bueno saber que también es bueno saber la limitación de SSL, pero parece que todas las implementaciones TLS "robustas" no son libres en general. ¡Gracias por compartir!
thom_nic

Respuestas:

29

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.

derramado
fuente
16
He tenido problemas con la pila de red Microchip, así que escribí la mía y la puse a disposición de forma gratuita con el código fuente en embedinc.com/pic/dload.htm en la versión PIC Development Tools. Debe adoptar el concepto de nuestro entorno de desarrollo PIC (también gratuito), pero de todos modos es una buena idea. Después de la instalación, busque archivos con "net" en sus nombres en el directorio SOURCE> PIC.
Olin Lathrop
20

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.

Clinton Blackmore
fuente
17

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.

davr
fuente
1
Me encantaría ver una referencia de buena reputación para el término "magnetismo", ya que nunca he oído hablar de él.
Andrew
@ Andrew No sé ningún diccionario técnico que lo tenga. Googleando encontrará varias referencias. Eso es justo lo que he visto referido. Básicamente, el objetivo de ellos es aislar su circuito de los otros dispositivos conectados a él a través de Ethernet. Similar a cómo MIDI usa el aislamiento óptico.
davr
Obtengo aproximadamente medio millón más de resultados para "aislador de ethernet" que para "magnetismo de ethernet", pero entiendo lo que quieres decir ahora.
Andrew
Hay una discusión sobre el origen y el uso del término en esta publicación de Hack A Day sobre acoplamiento capacitivo .
Andrew
Estaba mirando una hoja de datos del transceptor Ethernet (LAN8720A de Microchip), y esa sección se conoce como 'Mag' y 'Transformador'.
Dan Ellis
11

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 .

revs stevenvh
fuente
¿Qué ventajas ofrece la línea del brazo? Veo muchas otras respuestas que necesitan más detalles, la parte importante es que da una razón por la cual la línea es más que un enlace a la línea de controladores. ¡Solo te doy este comentario porque eres demasiado prolífico como usuario para no dar las mejores respuestas posibles!
Kortuk
66
@ Kortuk - ¡Oh, eso es genial! No solo quieren muchas respuestas, ¡ahora también tienen que ser las mejores! ;-)
stevenvh
6

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.

Leon Heller
fuente
hombre, me estás interesando en los productos XMOS. Voy a tener que esforzarme mucho para resistirme a recoger ese kit de desarrollo. ¿Sabes si hay un RTOS disponible para él?
Dave
Realmente no necesita un RTOS, debido a los hilos de hardware. Dicho esto, una o dos personas están trabajando en una.
Leon Heller
XMOS también hace una versión con dos conectores ethernet. Está destinado a señales LED de bits, pero no veo por qué no podría hacer otras cosas. ¡Haz rodar tu propio enrutador! xmos.com/products/development-kits/xc-3-led-tile-kit
Connor Wolf
5

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.

Amos
fuente
4

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.

avra
fuente
4

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.

SimonBarker
fuente
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 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

JohnC
fuente
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 a través de google para implementar esto.

Erik
fuente
3

Pedido tuxgraphics para una buena solución.

CH2048
fuente
44
¿Usa un AVR micro con un Microchip MAC / PHY? ¿Que sigue? ¿Gatos y perros viviendo juntos? :)
Robert
Tengo uno de estos, funciona bien. Viene como un kit con todas las piezas de montaje en superficie pre-soldadas. Las fuentes uIP y el controlador de Ethernet vienen con él.
Toby Jaffey
3

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

Achim
fuente
3

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.

Heavy Sixer
fuente
3

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:

http://retired.beyondlogic.org/etherip/ip.htm

mba7
fuente
Qué excelente resumen.
Amós
1
También he tenido malas experiencias con la pila de red Microchip, así que escribí la mía. Se incluye en la versión de Herramientas de desarrollo PIC en [url] embedinc.com/pic/dload.htm[/url] . Se ejecuta en un PIC 18, puede manejar el ENC28J60 externo o el MAC / PHY interno, está bien comentado, es fácilmente configurable y fue diseñado para ocupar poco espacio.
Olin Lathrop
3

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 .

Suboptimus
fuente
2

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:

  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 omite una carga completa de problemas de diseño / prueba / aparición.
  2. La PI de frambuesa ya está probada por CE / EMC, por lo que elimina una gran cantidad de incertidumbre (de lo contrario, Ethernet y relojes 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. Obtiene mucho más gruñido y una pila TCP / IP adecuada de nivel de servidor si usa Linux, etc. ¡Ninguna de estas cosas de tipo "solo se permite una conexión activa"!

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:

  1. Raspberry PI
  2. Beaglebone black - tiene flash incorporado
  3. STM32F4DISCOVERY con placas de expansión
JosephH
fuente
2

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:

http://forums.netduino.com/index.php?/topic/12117-deep-dive-on-asix-ax88796c-netduino-3-ethernets-fancy-new-networking-chip/

3 revoluciones
fuente
1

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.

PacEE
fuente
1

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.

Xen
fuente