Interfaz Ethernet RJ45 con microcontrolador

Estoy trabajando en un proyecto (todavía en la etapa inicial) donde tengo que implementar una interfaz de comunicación en serie y una interfaz Ethernet. Traté de averiguar todo lo que pude y obtuve la siguiente información:

  • Para la interfaz serial que puedo implementar usando (DB9/DB25 a través del controlador de línea max232)
  • Para la interfaz RJ45, tengo dudas sobre qué método es el correcto. Cualquiera:

    1. RJ45 => Controlador Ethernet IC => Microcontrolador (con SPI) ¿interferiría este método con el puerto de comunicación en serie, ya que SPI requeriría pines rxd y txd del microcontrolador que se utilizan para conectarse con los pines del controlador de línea (totalmente confuso)
    2. RJ45 => Microcontrolador (lo dudo)

Amablemente aconseje, perdone mi ignorancia, soy bastante nuevo en el campo de las redes.

Echa un vistazo a at91sam de atmel

Respuestas (5)

Su opción 2 solo es viable si su microcontrolador tiene hardware Ethernet integrado. La mayoría de los controladores no lo hacen, pero existen especialmente en el extremo superior del espectro.

Su opción 1 con un controlador Ethernet separado es bastante común. Es posible que desee comprobar varias placas de microcontrolador de hardware abierto e inspirarse en cómo resuelven Ethernet (y qué chips utilizan). La mayoría de las veces, los diagramas de circuitos y las bibliotecas están completamente disponibles, pero tenga en cuenta la licencia con la que vienen. Sé que existen placas compatibles con Arduino con Ethernet, pero no estoy seguro de su nombre.

gracias J, ¿podría sugerir algunos circuitos integrados para la primera opción? ¿Necesitaría escribir el código por separado para implementar Ethernet o el controlador de Ethernet se encargará de eso?
También hay algunos micros de gama moderadamente baja con Ethernet MAC / PHY: se enviaron muchos instrumentos basados ​​​​en el HC9S12NE64 hace unos años ... Sin embargo, ayuda tener más RAM que los 2 KB de un Arduino ATmega328.
@Himu, personalmente no tengo experiencia práctica con ninguno de esos chips. Creo que Beagle Bone Black es hardware abierto y tiene hardware Ethernet en el micro principal. Pero es un controlador bastante robusto que ejecuta Linux.
Sí, un hueso de beagle es aproximadamente 100 veces más computador que el '9S12. Desde entonces, ha habido muchas piezas ARM de memoria flash con Ethernet MAC, pero los dispositivos con PHY incorporados son relativamente raros, y cuando se trata de mantener un diseño de PCB simple, eso puede ser importante. Sin embargo, parece que el póster apunta a un módulo puente: algunos de ellos están básicamente contenidos en el RJ45.

En términos generales, los microcontroladores que tienen una interfaz UART (para RS-232) y una interfaz SPI (para Ethernet, etc.) usan pines físicos separados para las dos interfaces.

Si UART y Ethernet son literalmente todo lo que necesita para su proyecto, podría considerar el Wiznet W7100A , que integra un núcleo 8051, una interfaz Ethernet 10/100baseT completa, un UART, algunos temporizadores (y no mucho más).

Una vez configuré uno como un servidor de tiempo de LAN local (NTP), usando el puerto serie para obtener información de un receptor GPS. Funcionó bastante bien.

gracias Dave, ahora estoy revisando las hojas de datos del w7100a y mis requisitos.

El PIC 18F67J60 y los relacionados contienen un MAC/PHY de ethernet y al menos un UART. Las partes con mayor cantidad de pines en esa familia tienen dos UART.

Se trata de lo integrado que vas a encontrar. En el lado de ethernet, solo necesita agregar el conector RJ-45, los imanes y algunas resistencias, tapas y similares. En el lado RS-232, debe agregar el conector DB-9, un chip de conversión como el MAX 232 o una de las muchas variantes de otras compañías y algunos condensadores.

Gracias Olin, ¿podría echar un vistazo a la pregunta (pregunta extendida de arriba q) electronics.stackexchange.com/questions/82936/…

1) Para esto puedo recomendar la pieza KSZ8851SNL. Fácil de usar y poner en marcha y funciona muy bien. También es algo popular, por lo que puede encontrar controladores listos para usar. Eche un vistazo al Dallas Logic CMI2001 que puede permitirle hacer esto

2) Hay algunos microcontroladores con Ethernet. Normalmente son Cortex M3/M4. TI tenía los microcontroladores Stellaris con Ethernet, pero se han eliminado. Próximamente saldrán nuevos microcontroladores TIVA con Ethernet (todavía no hay noticias de TI al respecto).

De ST puedes encontrar el STM32F107VC que tiene Ethernet.

Recuerde que debe elegir un microcontrolador que tenga un buen rendimiento para Ethernet; de lo contrario, podría ser un poco frustrante de usar (las páginas tardan unos segundos en cargarse). En el MSP430 también atascará la CPU.

Gracias Gus... corrígeme si me equivoco aquí, pero como puedo ver en el sitio web, la placa STM32F107VC tiene solo un conector UART, por lo que no podré conectar Ethernet y el módulo rs232 simultáneamente... o hay alguna forma de evitarlo?
¿Por qué Ethernet reclamaría ese único UART? Y, por lo general, los chips STM tienen muchos UART, pero es posible que no se rompan con un nivel de cambio en una placa determinada.

Si planea transmitir periódicamente algunos datos específicos de temperatura EX, puede emular el paquete Ethernet con los datos IP. Dado que su aplicación es para comunicación sin garantía de datos, puede usar solo el protocolo RTP (que es simple de emular), por lo que debe usar solo 1 pin (1 pin solo para TX) del microcontrolador y simular el paquete Ethernet.

1º) debe calcular el tiempo de bit en función del tiempo del reloj de la CPU, puede emular 10 Mbps 2º) crear un prototipo de estructura Ethernet. 3º) crear un prototipo de marco IP rtp. 4º) Alterar únicamente los bytes de datos en el prototipo de trama RTP/IP. 5º) Emular la transmisión con Pulses On/Off.

http://en.wikipedia.org/wiki/Ethernet_frame

El marco rtp consiste en: http://en.wikipedia.org/wiki/Real-time_Transport_Protocol

@Himu: esa línea de preguntas realmente no tiene nada que ver con la respuesta de c.chaspais. De todos modos, lo que puede descubrir aquí es que la calidad/disponibilidad del soporte de software es más importante que los precios de la primera placa de evaluación. Es probable que algo de un canal de descuento extremo sea deficiente en ese sentido, a menos que sea un clon funcional de alguna otra placa con mejor soporte.
Gracias Chris, tienes razón... mi guía me dijo lo mismo.