Transmitir y recibir datos usando lwIP.

871 views
Skip to first unread message

Mauro Antivero

unread,
Mar 12, 2012, 8:11:30 PM3/12/12
to embeb...@googlegroups.com
Estoy tratando de lograr lo siguiente usando un puerto Ethernet:

- Transmitir los datos capturados en un determinado puerto del micro usando.
- Recibir datos por el puerto Ethernet y "colocarlos" en otro puerto.

Para ello estoy usando:

- La placa de desarrollo LPCXpresso LPC1769.
- Un "MagJack" debidamente conectado, seg�n indica su hoja de datos y la
hoja del Phy que tiene la LPCXpresso:
- MagJack: PulseJack J00 0062NL
- Phy: LAN8720A
- Un proyecto para CoIDE que usa CoOS + lwIP (siendo este �ltimo el
stack TCP/IP que deso usar puesto que vi que hay bastante info dando
vueltas) para el LPC 1766, para el cual supuse que el usar un LPC1769 no
iba a marcar la diferencia. De hecho veo una l�nea que dice "#include
"system_lpc17xx.h"", con lo cual supongo que ser� m�s o menos lo mismo
para un micro que para otro. El ejemplo es el siguiente:
- http://www.coocox.org/EXAMPLE/NXP_LPC1766_GCC.htm

El proyecto compila "de una" y lo puedo bajar sin problemas al micro.
Por defecto se le asigna al mismo la IP 192.168.2.100.


Pero cuando conecto el cable de red entre la PC y el micro, a pesar de
que las luces de la LPCXpresso encienden no puedo obtener respuesta de
ping. La IP de la PC est� bien asignada (192.168.2.x) y el cable de red
no importa si es cruzado o no puesto que el Phy en cuesti�n tiene "auto
crossing".

Y hasta ac� llegu�. Una vez que esto ande me queda la parte m�s dif�cil
que es entender el c�digo, aprender CoOS (le� medianamente, pero no hice
ning�n ejemplo todav�a) y modificarlo para que haga lo que yo quiero. Se
que no es poca cosa, pero si no soluciono esto no puedo seguir.

Se les ocurre qu� puede estar pasando?

Como siempre les agradezco mucho su ayuda.

Saludos, Mauro.

jorge tammela

unread,
Mar 13, 2012, 8:41:33 AM3/13/12
to embeb...@googlegroups.com
Hola Mauro

Te recomiendo usar el uip a mi me parecio mas facil y hay un proyecto de domotica hecho por la gente de la uba que te muestra como usarlo junto con el freertos.

Espero que te sirva.

El 12 de marzo de 2012 21:11, Mauro Antivero <mauro.a...@gmail.com> escribió:
Estoy tratando de lograr lo siguiente usando un puerto Ethernet:

- Transmitir los datos capturados en un determinado puerto del micro usando.
- Recibir datos por el puerto Ethernet y "colocarlos" en otro puerto.

Para ello estoy usando:

- La placa de desarrollo LPCXpresso LPC1769.
- Un "MagJack" debidamente conectado, según indica su hoja de datos y la hoja del Phy que tiene la LPCXpresso:

   - MagJack: PulseJack J00 0062NL
   - Phy: LAN8720A
- Un proyecto para CoIDE que usa CoOS + lwIP (siendo este último el stack TCP/IP que deso usar puesto que vi que hay bastante info dando vueltas) para el LPC 1766, para el cual supuse que el usar un LPC1769 no iba a marcar la diferencia. De hecho veo una línea que dice "#include "system_lpc17xx.h"", con lo cual supongo que será más o menos lo mismo para un micro que para otro. El ejemplo es el siguiente:

   - http://www.coocox.org/EXAMPLE/NXP_LPC1766_GCC.htm

El proyecto compila "de una" y lo puedo bajar sin problemas al micro. Por defecto se le asigna al mismo la IP 192.168.2.100.


Pero cuando conecto el cable de red entre la PC y el micro, a pesar de que las luces de la LPCXpresso encienden no puedo obtener respuesta de ping. La IP de la PC está bien asignada (192.168.2.x) y el cable de red no importa si es cruzado o no puesto que el Phy en cuestión tiene "auto crossing".

Y hasta acá llegué. Una vez que esto ande me queda la parte más difícil que es entender el código, aprender CoOS (leí medianamente, pero no hice ningún ejemplo todavía) y modificarlo para que haga lo que yo quiero. Se que no es poca cosa, pero si no soluciono esto no puedo seguir.

Se les ocurre qué puede estar pasando?

Matias Vara

unread,
Mar 13, 2012, 9:13:29 AM3/13/12
to embeb...@googlegroups.com
Tenés alguna forma de ver el tráfico? utilizando algun sniffer como el Omnipeek, o algo así? De esta manera podrías ver si se esta realizando bien la conversion de MAC a IP, entre otras cosas.
--
MV

Mauro Antivero

unread,
Mar 13, 2012, 4:36:45 PM3/13/12
to embeb...@googlegroups.com
Buena idea. Voy a usar el Wireshark.

Me podrías dar algún dato más de qué mirar específicamente?

Saludos y gracias, Mauro.

El 13/03/12 10:13, Matias Vara escribió:

Mauro Antivero

unread,
Mar 13, 2012, 4:37:39 PM3/13/12
to embeb...@googlegroups.com
Gracias, lo voy a mirar.

Estoy buscando algo que ande en CoOS, pero es bueno el dato que me pasás.

Saludos, Mauro.

El 13/03/12 09:41, jorge tammela escribió:

Mauro Antivero

unread,
Mar 13, 2012, 7:37:57 PM3/13/12
to embeb...@googlegroups.com
Siguiendo lo que dice en el foro de CooCox:

http://www.coocox.org/Forum/topic.php?id=146

Quiero actualizar mi versión de lwIP de la 1.3.1 que es la que viene con el ejemplo a la 1.4.0 que es la última estable que hay.

El problema es que no sé como hacerlo. La 1ra opción "a lo bestia" que es reemplazar el directorio lwip-1.3.1 del proyecto por el directorio 1.4.0  no funciona. Luego traté algo más razonable como reemplazar solo determinados archivos pero tampoco.

He notado que la estructura de directorio de ambos (lwIP-1.3.1 que viene con el ejemplo y lwIP-1.4.0 que uno descarga) es distinta. El primero tiene un subdirectorio "port/CoOS" y el segundo no. Estimo que será necesario hacer el port del lwIP para el micro en cuestión y para ser usado en CoOS, pero no tengo ni idea de como se hace esto.

De todas formas no creo que con esto se solucione mi problema pero ahora me surgió la duda de como tengo que hacer si es que me resulta necesario actualizar la versión de lwIP.

Alguien me podría dar una mano?

Saludos y gracias, Mauro.

El 13/03/12 17:37, Mauro Antivero escribió:
Reply all
Reply to author
Forward
0 new messages