TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: juaperser1 en 13 de Mayo de 2019, 16:47:25

Título: Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 13 de Mayo de 2019, 16:47:25
Buenas, dispongo de varias placas que disponen de ENC28J60, en principio estaban pensadas para añadirles un webservice.

Pero ahora tengo la necesidad de que se comuniquen mediante el ethernet, algo parecido a como actuaría un maestro esclavo. ¿Es posible comunicar las placas mediante los ENC28J60?

Todavía no me he puesto a programarlos pero como no tengo experiencia con ethernet primero pregunto por si estoy diciendo una tonteria.

un saludo.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: KILLERJC en 13 de Mayo de 2019, 16:57:02
Pero ahora tengo la necesidad de que se comuniquen mediante el ethernet, algo parecido a como actuaría un maestro esclavo. ¿Es posible comunicar las placas mediante los ENC28J60?

Si, con la necesidad de cargarle el stack TCP/IP al micro. Luego usas lo que deseas sobre ese stack (el protocolo que quieras)
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 14 de Mayo de 2019, 03:25:27
Ok gracias, o sea que lo complicado sera implementar la pila TCP/IP. Pensaba que estaba integrada en el propio ENC28J60.

un saludo.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: KILLERJC en 14 de Mayo de 2019, 06:34:05
Ok gracias, o sea que lo complicado sera implementar la pila TCP/IP. Pensaba que estaba integrada en el propio ENC28J60.

Exacto el ENC28J60 es solo el MAC/PHY, una ves implementado la pila TCP/UDP/IP ya solo necesitas tu capa de aplicación para saber COMO es que lo vas a enviar (por ejemplo MQTT/SNMP como hizo una persona hace poco)... O crear tu propia capa con su protocolo. Esto ya es decisión tuya.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 15 de Mayo de 2019, 03:10:34
Buenas!

He encontrado el siguiente ejemplo en la siguiente página https://www.openimpulse.com/blog/products-page/product-category/enc28j60-ethernet-module/

El ejemplo que he utilizado es para STM32, y en la carpeta se encuentran los archivos, se encuentran los archivos ENC28J60. h y ENC28J60.c

¿Estos archivos servirían como ejemplo de pila?
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: KILLERJC en 15 de Mayo de 2019, 07:04:43
Seguramente tenga una pila ahí.... no se con que micro vas a estar trabajando. Ojo que no todo es solamente el TCP/UDP/IP, luego por ejemplo para obtener el IP automaticamente necesitas DHCP que ahi no estan implementados (al menos no lo parece con los archivos)

Hay tambien algunos ejemplos de STM32 (o tal ves me confundo con TI) trabajan con el stack lwip, al menos recuerdo haber bajado algunos donde los mismos tenian un port segun el micro que utilices...
Es decir la parte del stack era el lwIP pero vos te quedabas con el archivo de port que necesitaras... si usabas el ENC, seleccionabas ese archivo, y se creaba un port para que se comunique por SPI. Si tenia el MAC o MAC/PHY interno, entonces seleccionabas otro port que en ves de enviarlas por SPI usaba el modulo interno del micro.

Por ejemplo:

https://github.com/matwey/lwip-enc28j60

Y tal ves necesites agregar alguna placa, no lo vi demasiado.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 15 de Mayo de 2019, 08:56:21
ok ok gracias.

Estoy un poco perdido en este tema ya que nunca he utilizado una comunicación ethernet.

Voy a trabajar con un micro de Renesas y para ello lo comunico con el ENC de microchip con este esquemático:

  - Tienes que ingresar para ver archivos adjuntos -  

Lo que quiero es comunicar una placa con otra como si por ejemplo lo hiciera por uart.

Por lo que entiendo, adaptando el código este que he pasado al micro de renesas tendria la pila pero con lo ultimo que me has dicho me he perdido, ¿una explicación para tontos de cual es el principio de funcionamiento de este tipo de comunicación o lo que necesitas?
¿Por que necesito una IP automatica? no se la puedo asignar yo como haría con una direccion de bus cualquiera?

un saludo
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: AccioRw en 15 de Mayo de 2019, 12:43:42
Imagino que no tendrás posibilidad de cambiar ese micro por otro, de todos modos aprovecho el tema yo también para preguntar  que estoy bastante perdido en todo esto porque tarde o temprano me tocará usarlo en e ltrabajo… así que mi pregunta sería si alguno conoce algún transceptor Ethernet pero que ya incluya la pila TCP/UDP/IP que descargue de toda la tarea al micro principal, como haría en caso del WiFi los ESP8266 o los ESP32.
Todos los que he visto de Microchip en el datasheet poniendo en la búsqueda TCP no encuentra nada así que entiendo que la mayoría de los de microchip no lo implementan.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: KILLERJC en 15 de Mayo de 2019, 17:15:44
Citar
Por lo que entiendo, adaptando el código este que he pasado al micro de renesas tendria la pila pero con lo ultimo que me has dicho me he perdido, ¿una explicación para tontos de cual es el principio de funcionamiento de este tipo de comunicación o lo que necesitas?

Para comprender y muy basico, lamento el que este leyendo esto y tenga conocimientos, pero es una explicacion para que quede masomenos parado

Vos tenes varias capas, que respetan al menos o proximamente a las capas OSI, el MAC/PHY es lo que gobierna la parte "fisica" de la transmision, el PHY seria de forma burda el driver de salida y el MAC el controlador (que enviar, que recibir) del mismo. En si es aca donde cambia de una red a otra, ejemplo el Wi-Fi posee simplemente otro formato de MAC/PHY, el cual el MAC posee algunos que otros parametros de deteccion de error, etc

En fin, supongamos que vos necesitas enviar un dato. Hay 2 protocolos principales que son TCP y UDP, resumiendolos el TCP es con aviso de entrega y reenvio ante un fallo. Y el UDP es enviar y que tengas suerte.

Entonces vos envias el dato por UDP por ejemplo. La capa de UDP (Transport) le va a agregar informacion a tu dato, que va a ser util para la capa UDP del receptor.
Pasando esta capa, la capa IP (Internet) va a agregar mas datos, que son el IP de destino, origen, entre otras cosas.
Luego pasa a la MAC ( Link ), la cual va a preocuparse por la parte fisica del envio, aca tambien agrega informacion, como MAC destino, MAC inicio, CRC, etc
Y finalmente el PHY quien actua sobre el cable, antena, etc

Una imagen que lo resumen es :

(https://upload.wikimedia.org/wikipedia/commons/3/3b/UDP_encapsulation.svg)

Entonces es el MAC/PHY quien define por donde se envia (cable/aire/optico), todo lo demas son datos... ESOS datos es lo que envias por SPI, es decir mirando la imagen arriba, eso que ves como capa INTERNET es lo que enviarias vos al ENC o a tu modulo Ethernet de un micro.

Citar
¿Por que necesito una IP automatica? no se la puedo asignar yo como haría con una direccion de bus cualquiera?

La pregunta es ... donde lo pensas usar y que cantidad.. Si yo tuviera un sensor que se conecta a Ethernet, lo llevaria con cable a un SWITCH (y de aca a un servidor) o router. NO usaria un cable directo. Si buscas comunicarte con un cable directo avisame y reformulamos todo de vuelta ( mira al final )
El router de por si ya posee DHCP.. Y voy a ir con un ejemplo...

Tu computadora seguramente esta conectada por cable, sino pensalo asi.
El router es el servidor DHCP, es quien define el rango de IPs y entrega segun necesidad. Vos encendes la compu, se auto conecta al router y como no tiene IP, mediante DHCP le pide al router que le de uno, el router busca cual esta disponible y se lo da. Genial, no tengo que pensar en nada mas, ya tengo una IP. Quiero conectar otro equipo? No hay problema, le da otra IP libre.
¿Cual es la desventaja de esto?
Un equipo jamas tendria un mismo IP, ya que depende del orden de conexion y decision del router

¿Que pasaria si poseo IP fija? Puedo tener las siguientes ventajas/desventajas:
- Si tengo muchos equipos necesito darle un IP a cada uno ( reprogramarlos o con un switch en la placa).
- Si no tiene el mismo rango de IP/subnet del router no te vas a poder comunicar (mas complicado de solucionar con un switch en la placa)
- Lo bueno que tenes es que siempre esa placa va a tener ese IP, incluso en un router podes delimitar cual se den por DHCP asi dejar una franja de 100 direcciones por ejemplo para tus placas
- 2 placas con el mismo IP fijo produciendo problemas en la red.

Todo depende de que estas buscando.... Si por ejemplo es 1 placa nomas y configuras vos las conexiones por ethernet, entonces pones un IP fijo.

Citar
así que mi pregunta sería si alguno conoce algún transceptor Ethernet pero que ya incluya la pila TCP/UDP/IP que descargue de toda la tarea al micro principal, como haría en caso del WiFi los ESP8266 o los ESP32

No, no conozco y no creo que exista, puede que lo tenga en una ROM interna, pero no realizada en hardware. El problema es que ante un bug eso se vuelve imposible de cambiar. Por eso no creo que alguien lo haga. Los ESP8266 tenes una buena cantidad de firmware para el Wi-Fi, que seguramente esten los stacks ahi, explicado de otra forma, el IDE o la forma de programar hacen que no lo veas como un archivo aparte.
Ademas esto te permite cargar únicamente lo que vos necesites.

Lo que si hay son micros con MAC/PHY juntos, sin necesidad de buscar un PHY separado. Pero eso no te salva de los magneticos :P

Citar
Lo que quiero es comunicar una placa con otra como si por ejemplo lo hiciera por uart.
Si vos lo que queres hacer es comunicarte como si fuera un RS232 entonces no necesitas un stack TCP/IP

Si leiste lo anterior el MAC me servia para la comunicacion de equipo a punto a punto sin ninguna red y por cable esto no tiene sentido.

Entonces para un cable directo solo necesito la MAC/PHY que lo tengo en el ENC, PERO necesitas programar/inicializar el ENC

Y es acá donde se te "complicaria", deberias leer o buscar un codigo de incializacion del ENC28J60, esto es, seteo de buffers de rx y tx, es lo mas facil que se me ocurre.
Por suerte con ese codigo + el paso a paso para iniciar el MAC y el PHY que te da el datasheet (en caso de que quieras cambiar algun parametro del codigo de incianilizacion), habilitar el calculo de CRC automatico. Lo unico que deberias "llenar" en los buffer es:

MAC destino - 6 bytes  ( usar FF:FF:FF:FF:FF:FF que es el multicast, ya que tenes 1 solo no va a importar)
MAC inicio - 6 bytes - direccion a tu gusto
Largo de datos - 2 bytes - siempre que te mantengas a menos de 1500 esto va a representar el largo.
Payload o datos a enviar (cantidad de bytes dadas antes)


Y .... darle la orden de envio :3

Ni siquiera tenes que pensar en el padding.... Cuando recibas algo podes verificar la direccion de MAC de inicio ( si le pones todos por igual) asi determinar que siempre esten conectadas con tus placas, por si conectan el cable a un router. Asi omitis todo lo que no sea que venga de esa direccion MAC.


Omiti millones de detalles y muchas explicaciones son re pobres para ser realista, pero mejor asi y que sea simple de entender....
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 16 de Mayo de 2019, 02:41:25
no va ser un cable directo, se utilizara el cable de la instalación del edificio, que supongo que tendrá por medio routers y de todo, voy a conectar unas 32 placas al final, pero claro para hacer las pruebas y eso primero simplemente una que envie y otra que reciba, hasta que no consiga eso poco más puedo hacer.

Ok muchas gracias, con esto que me has puesto ya puedo seguir indagando y avanzando, voy a estudiar los ejemplos que me dan algunos fabricantes que usan el ENC28J60 y buscar códigos funcionales para adaptarlos a mi micro.

Por lo que me has comentado mucho mejor que me den la IP en vez de la física.

a ver si lo he entendido bien, resumiendo mucho lo que has dicho, yo tengo ya la capa de aplicación que va ha ser mi protocolo propio, tengo que buscarme una pila tcp/ip o una UDP, pasar mis datos por esa pila y después directos ya al ENC26J60 que es el que se encarga de enchufarlo a la red mediante el PHY y MAC. No se si la capa de internet me ha quedado muy clara, de esa me tengo que preocupar o mi preocupación acaba después de la pila?

¿Supongo que habrá, pilas ya programadas para que tu las adaptes a tu micro, pero como se cual es una tcp/ip o una UDP? cual me recomiendas que busque?

un saludo y muchas gracias
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: AccioRw en 16 de Mayo de 2019, 04:22:14
No, no conozco y no creo que exista, puede que lo tenga en una ROM interna, pero no realizada en hardware. El problema es que ante un bug eso se vuelve imposible de cambiar. Por eso no creo que alguien lo haga. Los ESP8266 tenes una buena cantidad de firmware para el Wi-Fi, que seguramente esten los stacks ahi, explicado de otra forma, el IDE o la forma de programar hacen que no lo veas como un archivo aparte.
Ademas esto te permite cargar únicamente lo que vos necesites.

Lo que si hay son micros con MAC/PHY juntos, sin necesidad de buscar un PHY separado. Pero eso no te salva de los magneticos :P



Muchas gracias, ya entiendo por qué me costaba tanto encontrarlo con ello ya hecho.
Intentaré ver algunos ejemplos básicos con el ENC28J60 que es de los mas comunes así veo bien como trabaja y en que se basa y apartir de ahí intentaré adaptarlo
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: KILLERJC en 16 de Mayo de 2019, 06:59:52
Por lo que me has comentado mucho mejor que me den la IP en vez de la física.

a ver si lo he entendido bien, resumiendo mucho lo que has dicho, yo tengo ya la capa de aplicación que va ha ser mi protocolo propio, tengo que buscarme una pila tcp/ip o una UDP, pasar mis datos por esa pila y después directos ya al ENC26J60 que es el que se encarga de enchufarlo a la red mediante el PHY y MAC. No se si la capa de internet me ha quedado muy clara, de esa me tengo que preocupar o mi preocupación acaba después de la pila?

¿Supongo que habrá, pilas ya programadas para que tu las adaptes a tu micro, pero como se cual es una tcp/ip o una UDP? cual me recomiendas que busque?

En tu red vas a tener IP fijos y dinamicos, recorda las ventajas y desventajas del mismo... una IP fija nunca se mueve, siempre le vas a enviar a eso. Y nunca vas a tener problemas siempre y cuando este configurado correctamente quien entregue las IPs.Lo "feo" de lo fijo es que cada placa estaria programado diferente (si fuera el IP origen), vas a tener que identificarla, no se cual es el receptor de todas tus placas, comunicarse las 32 entre ellas parece una locura... Y para poder comunicarte vos necesitas SI o SI el IP destino.
Si vos tenes un receptor, vas a necesitar saber el IP del mismo, este si te convendría que sea fijo para ser mucho mas simple, la otra es enviarlo por internet, etc.
De todas formas, primero necesitarias crear un diagrama de la red que posee el edificio. Si esta diseñado para que los dispositivos no puedan conectarse entre ellos, ejemplo que sean los routers quienes administren el DHCP, va a ser un problema poco sencillo de resolver, va a requerir el cambio de configuracion de routers/etc.... Asi que primero saber que tenes, quienes son los administradores de DHCP y como estan conectados, o preguntar al encargado de la red si es posible conectar esos 32 equipos y si se pueden comunicar entre ellos, comentale lo maximo que podrias hacer es darles un IP fijo a cada uno, seguramente la otra persona te va a dar la solucion. Hablo sobre una persona que maneja los equipos debido a que estamos hablando de un edificio, donde seguramente tengan controlados switch y todo lo demas desde su casa y ni hablar de que te van a dar el password para que le cambies la configuracion.

Hablando a groso modo, casi todas deberian tener TCP y UDP (especialmente UDP que es mucho mas simple), por ahi lo que fallan algunos es que no poseen los demas protocolos, como ICMP (este te va a recordar del ping por ejemplo). Y los protocoles de aplicacion son: DHCP, MQTT, entre otros. Por ejemplo MQTT te serviria para enviar mensajes a un servidor datalogger,  etc. Depende de la aplicacion que busques, no es necesario crear todo un protocolo sino a veces buscar alguno que ya exista.

Citar
Intentaré ver algunos ejemplos básicos con el ENC28J60 que es de los mas comunes así veo bien como trabaja y en que se basa y apartir de ahí intentaré adaptarlo

Mira los ejemplos pero muchas veces a no ser que entres bien en el protocolo, sobre que informacion le agrega en cada campo ( seguro que lo maneje con estructuras) como calcula los CRC es mejor verlo por arriba. Y esto lo bueno que posee que este formado por capas.

Lo mas sencillo seria el envio de un paquete UDP, porque es preparar el dato, formar el PDU de esta capa, pasa a la capa de IP, forma el PDU de la misma (le agrega los datos necesarios),  enviar al ENC parte del PDU de la capa del MAC (que seria lo que debia enviar si solo lo hacia por cable directo) y listo.

Pensado asi como lo dije arriba es simple, si entras en detalles como ordenar la informacion que llega, frames, etc se pone mas complicado. Es mas ni siquiera buscar ejemplos con Wireshark podes verlo en tu PC, te separa los datos capa por capa.

https://www.wireshark.org/docs/wsug_html_chunked/wsug_graphics/ws-main.png

Por ejemplo esa captura, si ves en la parte de arriba son todos los paquetes capturados, Al seleccionar alguno. Abajo tenes cada capa detallada: DNS (capa de aplicacion) / UDP (transporte) / IP4 (Internet) /  MAC-Ethernet II ( link )
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: elreypic2 en 16 de Mayo de 2019, 08:27:44
Imagino que no tendrás posibilidad de cambiar ese micro por otro, de todos modos aprovecho el tema yo también para preguntar  que estoy bastante perdido en todo esto porque tarde o temprano me tocará usarlo en e ltrabajo… así que mi pregunta sería si alguno conoce algún transceptor Ethernet pero que ya incluya la pila TCP/UDP/IP que descargue de toda la tarea al micro principal, como haría en caso del WiFi los ESP8266 o los ESP32.
Todos los que he visto de Microchip en el datasheet poniendo en la búsqueda TCP no encuentra nada así que entiendo que la mayoría de los de microchip no lo implementan.

Que tal AccioRW,

Yo tampoco tengo nada de experiencia con relación a lo de los protocolos ethernet. Pero existe un circuito integrado que ya incluye la pila TCP/UDP/IP que lo fabrica WIZNET, este es el W5100 y es muy conocido en el mundo de la electronica, de hecho existe un shield para arduino (Arduino Ethernet shield V1) que usa este integrado, y al parecer es relativamente fácil de usar.
Este integrado cuenta con bus directo e indirecto y una interface SPI (al igual que el ENC28J60). Parece que esto sería la respuesta a tu pregunta. Aquí te pongo el link del fabricante para que veas a detalle su datasheet. Y puedes buscar en internet librerías para arduino y quizas hasta para microcontroladores PIC.

https://www.wiznet.io/product-item/w5100/

Este es un pequeño tutorial que puede servir:

https://www.sparkfun.com/tutorials/409

elreypic.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: KILLERJC en 16 de Mayo de 2019, 08:29:25
Ese si que es nuevo para mi... Yo busque por varios lados y no encontre jamas uno con el stack todo incluido.
Hay que agregarle la capa de aplicación nomas. Pero no todo es perfecto, ahi tuvieron un problema con ARP en redes virtuales. que requiere un una vueltita de tuerca, pero que al estar en hardware no se puede actualizar.

Pero para un micro de 8bits, es lo mas genial que hay, mucho mejor que en ENC, especialmente para aplicaciones simples.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: elreypic2 en 16 de Mayo de 2019, 08:37:55
Ese si que es nuevo para mi... Yo busque por varios lados y no encontre jamas uno con el stack todo incluido.
Hay que agregarle la capa de aplicación nomas. Pero no todo es perfecto, ahi tuvieron un problema con ARP en redes virtuales. que requiere un una vueltita de tuerca, pero que al estar en hardware no se puede actualizar.

Pero para un micro de 8bits, es lo mas genial que hay, mucho mejor que en ENC, especialmente para aplicaciones simples.

Así es KILLERJC. A este IC solo hay que agregarle la capa de aplicación.
Los módulos o breakboards no son caros para nada y se pueden conseguir fácilmente. El IC se puede comprar en Digikey, Mouser, Element14 (antes NEWARK), etc.
De cualquier manera espero que esta info sirva de algo.

elreypic.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 16 de Mayo de 2019, 09:18:31
Citar
En tu red vas a tener IP fijos y dinamicos, recorda las ventajas y desventajas del mismo... una IP fija nunca se mueve, siempre le vas a enviar a eso. Y nunca vas a tener problemas siempre y cuando este configurado correctamente quien entregue las IPs.Lo "feo" de lo fijo es que cada placa estaria programado diferente (si fuera el IP origen), vas a tener que identificarla, no se cual es el receptor de todas tus placas, comunicarse las 32 entre ellas parece una locura... Y para poder comunicarte vos necesitas SI o SI el IP destino.

La idea era que uno de los 32 comunicara con los restantes, pero por lo que estoy viendo esto va ha ser complicado por que ademas variara en función de cada edificio. Lo mejor sera rehacerlo y añadir un bus rs485 para esta tarea y dejar el Ethernet para el web service.

olvidando entonces la idea de que se comuniquen entre ellos, para hacer un webservice, ¿me conviene mas el ENC28 o el win5100 del que habla elreypic? ya que voy a modificar la placa de conexión del sistema, (que va aparte) me da igual cambiar tambien el ENC por otra cosa, los demás sistemas si deben ser iguales, osea mismo micro.
La idea es simplemente que escribiendo la dirección del dispositivo se vean sus valores por la web.

El win5100 es mas caro, pero si me va ha abaratar tiempo de desarrollo sin problemas.

un saludo y gracias
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: elreypic2 en 16 de Mayo de 2019, 10:05:39
Que tal juaperser1,

Pues la decisión dependerá de que tiene más peso o qué tiene más prioridad: Costo/tiempo de desarrollo.

Si es por costo entonces usaría el ENC28J60, pero el tiempo de desarrollo será mayor.
Si es por tiempo de desarrollo entonces me inclinaría por el W5100.

saludos

elreypic.

Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: AccioRw en 16 de Mayo de 2019, 11:12:48
En  mi caso creo que voy a probar el w5100, mirare todo este finde y ya lo quedo pedido para ir probando cosas, había visto esas placas de arduino pero por alguna razon había dado por hecho que seria el ENC en vez de cualqueir otro micro :D
muchas gracias por mencionarlo elreypic2.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: planeta9999 en 16 de Mayo de 2019, 12:28:28
 
He usado el W5500 en una aplicación para comunicaciones UDP y funciona muy bien. El W5500 es una versión mejorada, más moderna, del W5100. En mi caso la aplicación fue para un microcontrolador ARM NXP Kinetis MK66, usando las librerías de Teensy bajo el IDE de Arduino.

Como parámetros puedes definir la IP local, la IP remota y la MAC de tu dispositivo. Con la IP remota puedes jugar para hacer broadcast.

Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 17 de Mayo de 2019, 03:02:07
Citar
Que tal juaperser1,

Pues la decisión dependerá de que tiene más peso o qué tiene más prioridad: Costo/tiempo de desarrollo.

Si es por costo entonces usaría el ENC28J60, pero el tiempo de desarrollo será mayor.
Si es por tiempo de desarrollo entonces me inclinaría por el W5100.

En este caso en particular, para el webservice prima el tiempo de desarrollo, así que voy a probar el w5100, bueno el w5500 que planeta dice que es una versión mejorada del mismo. En primer lugar se selecciono el ENC28J60 por que parecía que tenia mucha información e iba a ser fácil.

gracias.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: AccioRw en 17 de Mayo de 2019, 04:21:09
Hola, viendo la página web del fabricante (https://www.wiznet.io/product/tcpip-chip/), veo en el datasheet que la fecha de fabricación de cada uno es de:
W5100   = 2009-2011
W5500   = 2013
W5100S = 2018
W6100   = 2019
Cierto es que el W5500 es más moderno que el W5100, pero tenemos en este orden otros dos más modernos, no sé en cuanto a dificultad cuál de ellos será el más adecuado, me da que pensar sin haber leído mucho que el W5100s debe ser muy similar al w5100 en cuanto a ejemplos que se puedan encontrar o que directamente puedan llegar a ser validos del 5100 pero mejorando en algunos aspectos así que quizás es más sencillo de trabajar y de ahorrarse tiempo.
Solo he mirado por encima por tiempo, profundizaré un poco el finde a ver qué saco en claro y cual termino pidiendo.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: xocas en 17 de Mayo de 2019, 05:58:44
El win5100 es mas caro, pero si me va ha abaratar tiempo de desarrollo sin problemas.
- El W5500 lo puedes encontrar al mismo precio que el ENC, o incluso algo más barato (Mouser).

- Ethernet 10 en ENC28J60 vs Ethernet 10/100 en W5500.

- La gestión por software en el ENC conlleva un montón de trabajo extra para el micro. Si alguna vez usaste Wireshark habrás visto que el tráfico de datos es continuo en una red y es preferible una solución hardware.

Hay mucha información sobre el W5xxx debido a su integración con el entorno Arduino y por ser un componente interesante en IoT.

***

El W6100 ya incorpora el protocolo IPv6

un saludo
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 17 de Mayo de 2019, 15:10:49
Citar
El W6100 ya incorpora el protocolo IPv6

Este creo que lo descarto, debe de ser muy nuevo por que no parece que sea facil de encontrar en ningún proveedor habitual como mouser, digikey etc.
Citar
- El W5500 lo puedes encontrar al mismo precio que el ENC, o incluso algo más barato (Mouser).

- Ethernet 10 en ENC28J60 vs Ethernet 10/100 en W5500.

- La gestión por software en el ENC conlleva un montón de trabajo extra para el micro. Si alguna vez usaste Wireshark habrás visto que el tráfico de datos es continuo en una red y es preferible una solución hardware.

Parece demasiado bonito para ser cierto, un integrado donde solo necesitar el SPI para mandar los datos directamente por le mismo precio o mas barato que el ENC. Lo pongo ya mismo.

he estado mirando los disponibles, la diferencia con respecto al 5100 es la velocidad de datos que es de 15 frente a 25mbps

Yo lo quiero para hacer un servidor web y ver los parametros del sistema desde un PC, con el W5500 me viene bien verdad? o seria recomendable otro para mi aplicación?

un saludo y gracias
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: xocas en 18 de Mayo de 2019, 15:27:04
Yo no conozco otra alternativa del estilo, de echo sé del W5100..5500 porque tengo una placa ethernet que lo lleva y he estado jugando con cosillas IoT + Arduino.

Si no recuerdo mal, el W5500 duplica el número de sockets simultáneos y memoria del W5100.

Depende de lo que entendamos por servidor web, si se trata de leer cuatro valores de sus respectivos sensores y visualizarlos en un navegador ya te digo que sí, pero dependerá de tus necesidades.

Te animaría a comprar una placa que lo lleve y probar hasta que punto te sirve. Te mandaría la mía pero me saldría más caro el envío que lo que te cuesta en amazon...

un saludo
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: xocas en 18 de Mayo de 2019, 16:07:03
La idea era que uno de los 32 comunicara con los restantes, pero por lo que estoy viendo esto va ha ser complicado por que ademas variara en función de cada edificio. Lo mejor sera rehacerlo y añadir un bus rs485 para esta tarea y dejar el Ethernet para el web service.

olvidando entonces la idea de que se comuniquen entre ellos...

Te comento que buena parte de mis visitas a youtube son para ver conciertos, me fascina la música en directo y alucino con los sistemas de sonido profesional que se utilizan en los grandes eventos.

Hace unas semanas, uno de los videos recomendados por youtube era sobre el montaje de un escenario y decidí verlo. Para mi sorpresa, la única conexión que usaron entre la mesa de mezclas que suele estar delante del escenario y el propio escenario era un cable ethernet cat5... espera... y la típica bobina con su manguera tocho gorda y treintena de conectores canon ¿dónde está?

Pues no, que ya no está, que ahora se usa un protocolo llamado Ethersound por el pueden viajar 64 canales de audio + sus correspondientes retornos por un único cable ethernet cat5 o superior.
No encontré mucha información técnica sobre el tema pero parece ser que hay diferentes modalidades, usando TCP/IP en unos casos o basándose en la MAC en otros.

Quizá antes de descartar por completo la interconexión vía ethernet podías hacer una búsqueda más completa sobre el tema.

un saludo
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: AccioRw en 20 de Mayo de 2019, 04:24:40
Yo ya tengo un modulo W5500 pedido, pero me llegara en 3 semanas así que tengo tiempo de ir viendo manuales y demas  :D
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: AcoranTf en 20 de Mayo de 2019, 07:38:42
Hace unas semanas, uno de los videos recomendados por youtube era sobre el montaje de un escenario y decidí verlo. Para mi sorpresa, la única conexión que usaron entre la mesa de mezclas que suele estar delante del escenario y el propio escenario era un cable ethernet cat5... espera... y la típica bobina con su manguera tocho gorda y treintena de conectores canon ¿dónde está?

Pues no, que ya no está, que ahora se usa un protocolo llamado Ethersound por el pueden viajar 64 canales de audio + sus correspondientes retornos por un único cable ethernet cat5 o superior.
No encontré mucha información técnica sobre el tema pero parece ser que hay diferentes modalidades, usando TCP/IP en unos casos o basándose en la MAC en otros.

Quizá antes de descartar por completo la interconexión vía ethernet podías hacer una búsqueda más completa sobre el tema.

un saludo

Hace años andaba yo dandole vueltas a un sistema parecido, pero por dejadez y falta de suficientes conocimientos lo he ido dejando.
Ahora veo que alguien mas penso lo mismo que yo.

Saludos.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 13 de Junio de 2019, 02:58:15
Buenas, alguien que utilice el integrado W5500 que me pueda solventar esta duda:

Estoy haciendo el hardware para un W5500 siguiendo el diseño de referencia de la pagina web del fabricante:

(http://wizwiki.net/wiki/lib/exe/fetch.php?media=products:w5500:w5500_sch_v110_use_mag_.png)

Como vemos en los pines RSVD no se colocan resistencias de pull down, sin embargo por internet veo muchos diseños donde si las colocan, como por ejemplo:

(https://wizwiki.net/wiki/lib/exe/fetch.php?media=w5500_ethernet_shield_s:schematic_2_.png)

Como veis aqui hay resistencias de pull down en todos los pines RSVD menos en el pin 23 que lo deja flotante.

Si nos vamos a la hoja de datos vemos en la asignación de pines que los pines del 38 al 42 deben estan NC y el pin 23 debe tener una pull donw a tierra, que en el diseño del fabricante no aparece.

en la revisión de fallos veo que han cambiado tirar los pines del 38 al 42 a tierra por NC

Citar
1. Changed “descriptions of pin at 1.1 Pin Descriptions”(P.10)
from It must be tied to GND to NC(PIN38~42)

Sin embargo no dice nada del pin 23, que también deja en NC mientras en la tabla de pines dice:

Citar
23 RSVD Pull-down I It must be tied to GND.
   :? :?

Resumiendo, según la revisión y el diseño del fabricante de referencia se dejan del 38 al 42 sin conectar, que esto esta explica la diferencia con respecto a los diseños que se ven por internet que serán mas antiguos.

pero el pin 23, en la tabla dice que lo conectes, en el diseño de referencia del fabricante no aparece conectado, y en los diseños de internet de la gente a veces lo tiran a tierra a veces lo dejan NC.

Alguien que utilice este integrado y me resuelva la duda?

un saludo.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: xocas en 13 de Junio de 2019, 11:56:48
Por lo que yo entiendo son pines reservados que ya incluyen su propia resistencia pull down interna, con lo cual podrían dejarse desconectados sin problema.

Sin embargo, me suena haber leído en algún foro que en caso de haber problemas de electrostática (ESD) se aconsejaba su conexión a GND, ya directamente o vía resistencia pull down externa.

Yo seguiría las indicaciones de la última versión del datasheet: 38..42 NC; 23 pull down a GND. Podrías dejar un puente abierto a GND para el pin 23 y en caso de problemas le aplicas un punto de soldadura...

saludo

pd: yo tengo un shield de Arduino, pero lleva el w5100 y no es aplicable a este caso.
Título: Re:Comunicación entre dispositivos ENC28J60
Publicado por: juaperser1 en 14 de Junio de 2019, 06:04:04
Citar
Yo seguiría las indicaciones de la última versión del datasheet: 38..42 NC; 23 pull down a GND. Podrías dejar un puente abierto a GND para el pin 23 y en caso de problemas le aplicas un punto de soldadura...

Pues eso voy ha hacer, supongo que sera lo mas actualizado y fiable.

un saludo y gracias.