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 RJ45, tengo dudas sobre qué método es el correcto. Cualquiera:
Amablemente aconseje, perdone mi ignorancia, soy bastante nuevo en el campo de las redes.
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.
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.
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.
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.
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
AKR