ARM - Ethernet

Estoy trabajando con un LPC2132 y un ENC28j60, hasta ahora logre inicializar el modulo ethernet, enviar y recibir en la capa 2 (direcciones MAC).

Hasta aca lo hice todo a pedal, ahora me tocaria desarrollar las capas superiores TCP/IP y manejar los paquetes ARP, cosa que hasta ahora lo veo bastante complejo, ¿alguien tiene experiencia en esto?

Lo que encontre fue esto, pero realmente estoy perdido :D :

http://www.sics.se/~adam/uip/index.php/Main_Page

Si a alguien le interesa, puedo subir el codigo para la inicializacion del modulo, obviamente esta hecho en C y pensado para ARM.
 
Hi Cosme!
Yo estoy empezando con el LPC2478, tengo las rutinas de TCP/IP..
Que IDE y compilador estas utilizando?
Sldos.
 

Adjuntos

  • lwIP.zip
    551 KB · Visitas: 24
Ok..
Y vas a usar una red ya estructurada o vas a colocar tu propio cableado?
Lo que sucede es que dependiendo de por cuantos routers pases, van hacer los protocolos que necesitas...
 
Internet por el momento no voy a usar, pero la idea de usar capa TCP/IP es para que en el futuro no solo pueda realizarse el control dentro de la red, sino tambien a traves de internet.

Este proyecto en principio lo presente para hacerlo funcionar en capa 2 (MAC), pero el problema es que por linux no se como realizar la comunicacion, ya que todas las funciones en C estan implementadas con Sockets.
 
Hola de nuevo Cosme!
La verdad nunca he trabajado con Linux, pero creo que lo que ocupas es una
libreria de ARP, para buscar nodos por la red si tener que usar los sockets.
La mayoria de los software sniffers lo usan para poder monitorear la red sin
establecer conexiones.
Hace tiempo que hizimos esa prueba pero utilizando Visual C,
lo que sucede es que los sistemas operativos evitan ese tipo de funciones por seguridad.
De hecho para realizar la prueba tubimos que deshabilitar el firewall.
:)
 
Les comento que al final opte por seguir con la comunicacion MAC (seee.... ya se, es de cavernicolas, teniendo al alcance la posibilidad de usar TCP/IP) para facilitar las cosas, de todas formas la idea de usar TCP/IP es fija para mas adelante.

Para la comunicacion desde la PC, use las librerias Jpcap de java que son muy utiles:

http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/

Con una "mini" aplicacion, encender o apagar y agregando la MAC de destino, me alcanzo para lograr la comunicacion (algo bastante sencillo y que ademas tambien funciona con ubuntu :)):



Voy a ver si despues le agrego un indicador de estado, que confirme que la orden llego bien.
 
Que interesante proyecto , si quieres crear un servidor WEB completo te recomiendo que uses las librerías de Microchip que están escritas en C standar...y lo portes a Keil C.
 
¿Para qué usar librerías de Microchip si ya hay escritas en C para ARM desde antes que las que se hicieron para Microchip? ¿Has mirado en FreeRTOS? ¿IwIP?
 
Hi, chicos...
Supongo que cada quien utiliza lo que se le facilita mas,
he mi caso solo en una ocasion utilice un micro de microchip,
era un programa muy sencillo convertia una señal SPI a RS232;
por eso no estoy muy acostumbrada a trabajar con microchip.
:)
 
Yo particularmente nunca use Pic por los precios que tienen, comparado con un Arm (el de menor linea, un lpc2103), son mucho mas caros, y en cuanto a prestaciones no sabria decir bien, pero si comparamos el 18f452 que menciona jalva, a simple vista el Arm tiene:

- Mas memoria ram 8k contra un poco mas de 1k
- Ser de 32 bits y poder trabajar en 16 bits si es necesario
- Clock de 70MHz mediante un PLL interno, contra (si no leo mal) 40MHz tambien con un PLL interno.
- Tener 2 puertos series completos (con señales de control)

En cambio el 18f452 tiene las siguientes ventajas:

- Un RS-485 cosa que no tiene ese modelo de ARM.
- Tener 4 timers, 2 mas que el modelo de ARM.
- Tener 3 interrupciones externas, 1 mas que el ARM.

Ba, eso es lo que se ve a simple vista, seguramente me pierdo de cosas. Pero tengan en cuenta que un modelo ARM Cortex no es tan caro, y tengo entendido que las prestaciones son enormes comparado con los ARM7.
 
Atrás
Arriba