USB host en lpc1769

359 views
Skip to first unread message

Ing. Javier Danelon - Vesta

unread,
Nov 2, 2011, 12:28:11 PM11/2/11
to embeb...@googlegroups.com
Hola a todos...

    Tengo que hacer un equipo que lea/escriba archivos en FAT32 desde un pendrive (no puede ser SD, debe ser si o si pendrive). Mi idea es utilizar el lpcxpresso (con lpc1769) y la baseboard a modo de prueba, para después desarrollar el PCB.
     En cuanto al File system no tengo problemas, pero me surge el problema de la implementacion host del USB para mass storage, ya que no tengo prácticamente experiencia en la utilización USB como host.

    Alguien tiene experiencia en esto como para poder guiarme?

Muchas gracias a todos!!!!

Saludos!!!!

Javier Danelon



Alejandro Celery

unread,
Nov 2, 2011, 12:55:17 PM11/2/11
to embeb...@googlegroups.com
Mi experiencia es que cuando indagué un poquito en el tema no encontré casi implementaciones libres del stack para host.
Tan solo algunos ejemplos de Keil, pero debieras poder portarlos para GCC.
Si lo lográs hacer andar por favor contame como fue.
Gracias!

Ezequiel Aceto

unread,
Nov 2, 2011, 1:07:38 PM11/2/11
to embeb...@googlegroups.com
Buenas tardes,

Podrías tomar como referencia las implementaciones de Atmel para el AVR Software Framework de AVR32. En ASF esta en C, tenes FAT, manejo de USB OTG como Host para Mass Storage Devices, entre otras funcionalidades.


Esta muy bien programado y documentado, por lo que no debería ser difícil portar las funcionalidades que necesitas a otra plataforma.

Saludos,

-- 
Ezequiel L. Aceto
GTalk / MSN: ezequie...@gmail.com
Skype: ezequiel.aceto
Blog: http://ezequielaceto.com.ar

Cesar A. Schiraldi

unread,
Nov 2, 2011, 1:40:44 PM11/2/11
to embeb...@googlegroups.com
Javier,

Fijate este ejemplo/AppNote:

y este caso en el foro de NXP:


Saludos

cesar

2011/11/2 Ing. Javier Danelon - Vesta <javier....@vesta.com.ar>

Diego Tondo

unread,
Nov 2, 2011, 1:37:12 PM11/2/11
to embeb...@googlegroups.com
Hola Javier,

Yo hice exáctamente lo que decís. Utilizamos el MAX3421E, de Maxxim, junto con un ColdFire de Freescale. Anda bastante bien.
Hay bastante App Notes en la página de Maxxim.

Algo que me resultó muy útil es el protocolo USB para host.

Y con esta monografía te quedan las cosas bastante claras:
http://www.google.com.ar/url?sa=t&rct=j&q=dise%C3%B1o%20de%20un%20driver%20para%20dispositivos%20de%20almacenamiento%20masivo%20msd&source=web&cd=1&ved=0CB0QFjAA&url=http%3A%2F%2Fwww.elo.utfsm.cl%2F~lsb%2Felo325%2Fclases%2FMemoria%2520VolantinesFinal.pdf&ei=dXqxTr7SE8rL0QHThPXCAQ&usg=AFQjCNFnHowrRpMEYur6RRWJF0mUmPyB_Q&cad=rja

Saludos,
Ing. Diego Tondo

2011/11/2 Ing. Javier Danelon - Vesta <javier....@vesta.com.ar>
Hola a todos...

Ricardo Malerba

unread,
Nov 2, 2011, 2:18:30 PM11/2/11
to embeb...@googlegroups.com
Hola Diego, de curioso nomas, que ColdFire usaste ? 

Saludos !
--
Ricardo Malerba

Diego Tondo

unread,
Nov 2, 2011, 3:04:41 PM11/2/11
to embeb...@googlegroups.com
Ricardo,

Usamos un V1, JM que tiene un puerto para USB device y le agregamos el host con el MAX.
Usamos V1 porque venimos de un HCS08GT.

Saludos,
D.

2011/11/2 Ricardo Malerba <rmal...@gmail.com>

Ricardo Malerba

unread,
Nov 2, 2011, 3:30:44 PM11/2/11
to embeb...@googlegroups.com
Gracias !, buenos micros los ColdFire.
--
Ricardo Malerba

Leandro Aguierre

unread,
Nov 2, 2011, 9:03:14 PM11/2/11
to embeb...@googlegroups.com

Dentro del LPCxpresso está un ejemplo del USB host para pendrive. Es FAT 16 pero lo demás es poner la qué vos queres. Te digo más, la migre al coocox y funciona ok. Terminé haciendo un programita tonto que lo que se manda por uart lo escribe. Cualquier cosa me decis. Saludos.
Leandro

Ing. Javier Danelon - Vesta

unread,
Nov 3, 2011, 7:49:10 AM11/3/11
to embeb...@googlegroups.com
Muchas gracias a todos por la ayuda.

Creo que no hay librería completa abierta para GCC. Por lo que encontré 3 opciones.
1º Utilizar un IC host como el
MAX3421E.
2º Utilizar la librería usbhostlite (keil) y portarla al GCC, que supongo no debe ser nada complicado.
3º Buscando por internet encontré una librería llamada LUFA hecha en base a los micros AVR de 8bits con soporte USB, que esta muy completa (host/device/OTG) y ademas tiene un montón de ejemplos de aplicación. Lo que tendría que hacer es portar el lowlevel del stack para el lpc1769.

Por lo que me parece que la opción 2 es la mas adecuada, dado que el código ya está hecho, menor precio final en el producto y un time-to-market rápido. Pero una vez hecho el producto voy a abocar mi tiempo libre en portar la libreria LUFA.

Saludos!!!!!

Javier

martin ribelotta

unread,
Nov 3, 2011, 7:57:50 AM11/3/11
to embeb...@googlegroups.com
El día 3 de noviembre de 2011 08:49, Ing. Javier Danelon - Vesta
<javier....@vesta.com.ar> escribió:

> Muchas gracias a todos por la ayuda.
>
> Creo que no hay librería completa abierta para GCC. Por lo que encontré 3
> opciones.
> 1º Utilizar un IC host como el MAX3421E.
> 2º Utilizar la librería usbhostlite (keil) y portarla al GCC, que supongo no
> debe ser nada complicado.
> 3º Buscando por internet encontré una librería llamada LUFA hecha en base a
> los micros AVR de 8bits con soporte USB, que esta muy completa
> (host/device/OTG) y ademas tiene un montón de ejemplos de aplicación. Lo que
> tendría que hacer es portar el lowlevel del stack para el lpc1769.
>
> Por lo que me parece que la opción 2 es la mas adecuada, dado que el código
> ya está hecho, menor precio final en el producto y un time-to-market rápido.
> Pero una vez hecho el producto voy a abocar mi tiempo libre en portar la
> libreria LUFA.
>
> Saludos!!!!!
>
> Javier
>
>
>
>
> El 02/11/2011 22:03, Leandro Aguierre escribió:
>
> Dentro del LPCxpresso está un ejemplo del USB host para pendrive. Es FAT 16
> pero lo demás es poner la qué vos queres. Te digo más, la migre al coocox y
> funciona ok. Terminé haciendo un programita tonto que lo que se manda por
> uart lo escribe. Cualquier cosa me decis. Saludos.
LUFA ya esta portado a lpc17xx por la gente de OpenDous, aunque el
spoorte no es tan bueno como el de AVR8/32 pero es un punto de partida
>0

http://code.google.com/p/micropendousx/source/browse/trunk/MicropendousX#MicropendousX%2Flibs%2FLUFA

Alan Kharsansky

unread,
Nov 3, 2011, 8:05:48 AM11/3/11
to embeb...@googlegroups.com
Hola Javier, como va?

Hace un tiempo que estoy usando LUFA para AVR (en especial para el 32U4 y el 8U2 todos de 8 bits) y la verdad que el framework es espectacular. Muy completo, y permite hacer cosas bastante complejas. Los ejemplos son muy útiles y por ahora no encontré nada que no puedo hacer a partir de un ejemplo, jeje. 

Aparte Dean Camera, el creador, es un tipo australiano muy amable. Lo agregué por skype y cada tanto le consulto cosas y siempre me ayuda.

El framework esta muy bien estructrado asi que supongo que cambiando la capa más baja del driver vas a poder sacarlo andando.

Saludos,
Alan


2011/11/3 martin ribelotta <martinr...@gmail.com>

Ing. Javier Danelon - Vesta

unread,
Nov 3, 2011, 8:35:56 AM11/3/11
to embeb...@googlegroups.com
Si. En la pagina de Dean Camera, aparece un link de un port para lpc13xx, que no esta aun completo pero que quizás ayude a portarlo mas fácilmente.

Gracias Alan!!!.... Nos vemos en el próximo SASE.

Javier

Federico Martin Roasio

unread,
Nov 3, 2011, 8:28:00 AM11/3/11
to Embebidos32
Esto tal vez le sirva en unos dias, porque lo lanzan el 7 de
noviembre, saludos.

http://www.lpcware.com/content/project/nxpusblib

Saludos.

On 3 nov, 11:05, Alan Kharsansky <akha...@gmail.com> wrote:
> Hola Javier, como va?
>
> Hace un tiempo que estoy usando LUFA para AVR (en especial para el 32U4 y
> el 8U2 todos de 8 bits) y la verdad que el framework es espectacular. Muy
> completo, y permite hacer cosas bastante complejas. Los ejemplos son muy
> útiles y por ahora no encontré nada que no puedo hacer a partir de un
> ejemplo, jeje.
>
> Aparte Dean Camera, el creador, es un tipo australiano muy amable. Lo
> agregué por skype y cada tanto le consulto cosas y siempre me ayuda.
>
> El framework esta muy bien estructrado asi que supongo que cambiando la
> capa más baja del driver vas a poder sacarlo andando.
>
> Saludos,
> Alan
>
> 2011/11/3 martin ribelotta <martinribelo...@gmail.com>
>
>
>
>
>
>
>
> > El día 3 de noviembre de 2011 08:49, Ing. Javier Danelon - Vesta
> > <javier.dane...@vesta.com.ar> escribió:
> >http://code.google.com/p/micropendousx/source/browse/trunk/Micropendo...
>
> > > Leandro
>
> > > El 02/11/2011 13:28, "Ing. Javier Danelon - Vesta"
> > > <javier.dane...@vesta.com.ar> escribió:

Ing. Javier Danelon - Vesta

unread,
Nov 7, 2011, 7:09:50 AM11/7/11
to embeb...@googlegroups.com
Que fantástico!!!!
Yo pregunto por librería USB para NXP. No consigo mucho, y me interesa la idea de portar la librería LUFA(Para AVRs) de Dean Camera.....

Bueno. Hoy acaba de salir la versión beta del port LUFA para NXP....
Recomiendo verla.
http://www.lpcware.com/content/project/nxpusblib

Gracias Federico Roasio!!!!!

Saludos a todos!

Javier Danelon

Federico Martin Roasio

unread,
Nov 7, 2011, 8:47:42 AM11/7/11
to Embebidos32
Hola Javier, me alegro que te sirva, ademas podes fijarte en la pagina
de LPCWare que hay ejemplos con la libreria por lo que estuve viendo,
asi que implementar algo deberia ser mas facil aun.

Por ejemplo:

http://www.lpcware.com/content/page/use-it-mouse-device-example

y hay otros.

Y ya que estamos podes ver en esta pagina tambien que desde el
laboratorio estamos publicando proyectos realizados en el mismo, si
gustas podes chusmearlos y rankearlos ;). La pagina no esta lanzada
oficialmente todavia, solo por el boca en boca, pero pronto se va a
lanzar y creo que va a ser muy util para todos los que trabajamos con
productos de NXP.

Saludos.

Federico Martin Roasio.
Laboratorio de Sistemas Embebidos,
Facultad de Ingeniería - UBA.
http://laboratorios.fi.uba.ar/lse

Ing. Javier Danelon - Vesta

unread,
Nov 7, 2011, 8:58:11 AM11/7/11
to embeb...@googlegroups.com
Ya estuve viendo algunos proyectos. Son muy interesantes.

Voy a seguir de cerca a lpcware.com

Muchas gracias.

Saludos!!!

Javier Danelon


martin herrera

unread,
May 20, 2015, 9:02:47 AM5/20/15
to embeb...@googlegroups.com
Hola Federico, Con la librería usb, puedo usarlo como host al micro lpc 1769, para un joytick , gracias , tendrías algun ejemplo ?
Reply all
Reply to author
Forward
0 new messages