Ethernet con uC Cortex M3.

55 views
Skip to first unread message

Mauro Antivero

unread,
Feb 14, 2012, 3:11:18 PM2/14/12
to embeb...@googlegroups.com
Estimados:

Para aquellos que vengan viendo mis consultas a la lista ya sabr�n que
soy novato en este tema de los uC de 32 Bits y quiz�s por eso esta
pregunta les parezca un tanto loca, pero es algo que realmente tengo que
hacer (parte del proyecto de fin de carrera):

Necesito implementar conectividad Ethernet utilizando un
microcontrolador con n�cleo Cortex M3 (uso es n�cleo porque dispongo un
par de Kits y justamente estaba tratando de aprender a usarlos).

En si lo que tengo que hacer es tomar los datos por alguno (o varios) de
los puertos del uC y "retransmitirlos" usando el protocolo TCP/IP.
Estuve leyendo ya algo sobre el tema y me encontr� fundamentalmente con
dos cosas:

A nivel hardware:

El uC debe tener la capacidad de un puerto Ethernet (claro est�) lo cual
implica la implementaci�n de una capa MAC (generalmente implementada
dentro del micro) y de una capa f�sica (com�nmente llamada PHY), la cual
suele estar generalmente fuera del micro (salvo alguno que otro la tiene
en su mayor�a implementada dentro, como el MC9S12NE64 de Freescale).

En dispongo de los kits LPCXpresso (solo le falta el conector con el
"magnetics", osea lo que aisla el�ctricamente el sistema) y el Stellaris
LM3S8962 Eval. Kit, el cual ya tiene todo listo, conector incluido.

A nivel software:

Una implementaci�n del stack TCP/IP, que preferiblemente sea libre o en
su defecto gratuita. Consultando a un amigo que anda en el tema me
nombro dos; lwIP y uIP, de los cuales todav�a no he visto nada. Y
despu�s claro est� aprender a usar esto jeje.

Les quer�a preguntar entonces por recomendaciones que me puedan dar.
Para la LPCXpreso que conector con el magnetics (no me sale una
traducci�n al castellano t�cnica para el mismo :S ) incorporado me
recomiendan? En DigiKey he visto que hay varios pero como nunca us�
prefiero preguntar.

Tambi�n me han recomendado que mire el ejemplo de EasyWeb, el cual se
encuentra disponible para ambos kits. Hasta ahora todo lo que hice fue
importar el proyecto y mirarlo muy por arriba.

Se que tengo bastante trabajo (y lecturas) por delante, pero bueno,
tengo que empezar por alg�n lado.

Les estoy muy agradecido de antemano por su ayuda.

Saludos!

Mauro.

Alejandro Celery

unread,
Feb 14, 2012, 3:16:36 PM2/14/12
to embeb...@googlegroups.com
Je, ten�s MUCHA lectura por delante. El arranque m�s suave que se me
ocurre es este (con el stellaris):
http://www.state-machine.com/lwip/

De paso ca�azo vas a aprender algo de programaci�n orientada a eventos
(el framework LwIP trabaja as�).
Creo que es para el board que ten�s y todo, debiera salir como tiro. Te
dir�a que una vez que lo tengas andando empieces a desmenuzar, pero
creeme que ah� entre MAC, PHY, TCP/IP, el micro y la mar en coche ten�s
para leer hasta que te jubiles.

Saludos!

El 14/02/2012 05:11 p.m., Mauro Antivero escribi�:


--
Alejandro Celery,
Laboratorio de Sistemas Embebidos,
Facultad de Ingenier�a - UBA.
http://laboratorios.fi.uba.ar/lse

Ing. Rodrigo Alejandro Melo

unread,
Feb 14, 2012, 3:24:25 PM2/14/12
to embeb...@googlegroups.com
El 14/02/12 17:11, Mauro Antivero escribi�:

> A nivel software:
>
> Una implementaci�n del stack TCP/IP, que preferiblemente sea libre o
> en su defecto gratuita. Consultando a un amigo que anda en el tema me
> nombro dos; lwIP y uIP, de los cuales todav�a no he visto nada. Y
> despu�s claro est� aprender a usar esto jeje.

Buenas.

Yo utilice el uIP 1.0 (�ltimo antes de quedar incluido en contiki os) y
la verdad que no fue muy complicado hacerlo andar en el proyecto que lo
utiliza (un avr embebido en una FPGA). Los ejemplos que trae, solo
necesitaron el driver de la MAC para empezar andando (una MAC
desarrollada por m�, as� q ah� puede ser medio tramposo mi comentario
porq la conoc�a bien, habr�a q ver agregarle cualquier otra cuanto se te
puede complicar)). Adem�s, modifique sin demasiados problemas el ejemplo
de webserver para agregarle la funcionalidad de escribir y leer
registros, con lo cual puedo por ejemplo setear y leer el estado de los
leds, pulsadores y dipswitches del kit con FPGA.

No use otro como para decirte cual es mejor. De todo lo que busque,
llegue a q uIP era lo m�nimo a nivel c�digo sin dejar de hacer lo q se
espera de un stack TCP/IP. Por lo menos de mi experiencia, es f�cil de
trabajarlo. Repito, solo resolver lo del driver de la MAC y despu�s con
los ejemplos podes ir metiendo mano.

Salu2

--
Ing. Rodrigo Alejandro Melo<rm...@inti.gob.ar>
INTI- Electr�nica e Inform�tica
Av. Gral. Paz 5445, CC157, (CP B1650WAB)
San Mart�n, Bs. As., Argentina Te:+54 011 4724-6315
0800 444 4004 | www.inti.gob.ar

Leandro Aguierre

unread,
Feb 14, 2012, 3:26:45 PM2/14/12
to embeb...@googlegroups.com
Recomiendo en arrancar con un kit, lo podes comprar acá
(http://www.micro4you.com/store/dev-tools/arm.html) o por ebay. Yo tengo el
de LPC, ya teniendo seguro que anda el hard, se puede hacer algo con el
Soft. En ARM, los driver de LAN son bastante diferentes al ENC de Microchip,
tienen otras cuestiones, así que arrancar con algo seguro e ir creciendo.

-----Mensaje original-----
De: embeb...@googlegroups.com [mailto:embeb...@googlegroups.com] En
nombre de Mauro Antivero
Enviado el: martes, 14 de febrero de 2012 05:11 p.m.
Para: embeb...@googlegroups.com
Asunto: [embeb32] Ethernet con uC Cortex M3.

Estimados:

Para aquellos que vengan viendo mis consultas a la lista ya sabrán que
soy novato en este tema de los uC de 32 Bits y quizás por eso esta

pregunta les parezca un tanto loca, pero es algo que realmente tengo que
hacer (parte del proyecto de fin de carrera):

Necesito implementar conectividad Ethernet utilizando un

microcontrolador con núcleo Cortex M3 (uso es núcleo porque dispongo un

par de Kits y justamente estaba tratando de aprender a usarlos).

En si lo que tengo que hacer es tomar los datos por alguno (o varios) de
los puertos del uC y "retransmitirlos" usando el protocolo TCP/IP.

Estuve leyendo ya algo sobre el tema y me encontré fundamentalmente con
dos cosas:

A nivel hardware:

El uC debe tener la capacidad de un puerto Ethernet (claro está) lo cual
implica la implementación de una capa MAC (generalmente implementada
dentro del micro) y de una capa física (comúnmente llamada PHY), la cual

suele estar generalmente fuera del micro (salvo alguno que otro la tiene

en su mayoría implementada dentro, como el MC9S12NE64 de Freescale).

En dispongo de los kits LPCXpresso (solo le falta el conector con el

"magnetics", osea lo que aisla eléctricamente el sistema) y el Stellaris

LM3S8962 Eval. Kit, el cual ya tiene todo listo, conector incluido.

A nivel software:

Una implementación del stack TCP/IP, que preferiblemente sea libre o en

su defecto gratuita. Consultando a un amigo que anda en el tema me

nombro dos; lwIP y uIP, de los cuales todavía no he visto nada. Y
después claro está aprender a usar esto jeje.

Les quería preguntar entonces por recomendaciones que me puedan dar.

Para la LPCXpreso que conector con el magnetics (no me sale una

traducción al castellano técnica para el mismo :S ) incorporado me
recomiendan? En DigiKey he visto que hay varios pero como nunca usé
prefiero preguntar.

También me han recomendado que mire el ejemplo de EasyWeb, el cual se

encuentra disponible para ambos kits. Hasta ahora todo lo que hice fue
importar el proyecto y mirarlo muy por arriba.

Se que tengo bastante trabajo (y lecturas) por delante, pero bueno,

tengo que empezar por algún lado.

Reply all
Reply to author
Forward
0 new messages