Consulta - Conectar LPCXpresso a conversor USB - Serie.

499 views
Skip to first unread message

Mauro Antivero

unread,
Jun 9, 2012, 12:13:16 AM6/9/12
to embeb...@googlegroups.com
Estiamdos, una consulta muy de novato:

Estoy haciendo pruebas con la LPCXpresso para aprender a programar los
uCs Cortex. Luego de hacer cosas muy sencillas lo que quiero hacer ahora
es enviar y recibir datos a trav�s de una de las UART del LPC1769.

Lo que quiero saber entonces es si lo puedo conectar directamente o
necesito adaptar los niveles con un IC tipo MAX232.

Estuve buscando un poco de info y en los foros de NXP algunos dicen que
si, otros dicen que no y otros dicen que los conversores USB - Serie son
en realidad un conversor USB - TTL seguido de uno TTL - RS232 y que por
ende sacando este �ltimo y conectando directamente el primero (USB -
TTL) ya se logra la comunicaci�n.

Anteriormente trabajaba con PICs y mucha simulaci�n en Proteus. Entonces
al usar la comunicaci�n serie, como corr�a todo en Proteus simplemente
mapeaba un conector RS232 al puerto serie de la PC (ya sea un puerto
serie "real", como los de antes o uno del tipo conversor serie - USB y
todo funcionaba de maravillas. Pero como la conexi�n en realidad era
entre mi circuito simulado y el puerto serie de la PC (en un principio
lo hac�a con un cable serie y dos puertos hasta que luego alguien me
mostr� un emulador de puertos y las cosa era todav�a m�s sencilla) no s�
si la conexi�n en el circuito virtual era tan sencilla (conectar
directamente los pines del PIC al puerto serie virtual) porque el
Proteus hace luego "la magia necesaria" o en realidad se puede hacer as�
de simple.

Como ver�n mi pregunta es bien de novato, pero es que siempre que
trabaj� con puerto serie lo hice con simulaciones en Proteus.

Les agradecer�a mucho me ayuden a aclarar esta duda.

Por cierto, para dejarlo en claro lo que quiero hacer es conectar la
LPCXpresso (en realidad en el futuro ser�a cualquier uC con n�cleo
Cortex) a un conversor USB - Serie para recibir datos en una PC (con
Minicom por ejemplo, para no nombrar al otro archifamoso programa
innombrable :P).

Saludos y desde ya muchas gracias.

Mauro.

Marcos Chaparro

unread,
Jun 9, 2012, 10:17:08 AM6/9/12
to embeb...@googlegroups.com
On Saturday 09 June 2012 01:13:16 Mauro Antivero wrote:
> Por cierto, para dejarlo en claro lo que quiero hacer es conectar la
> LPCXpresso (en realidad en el futuro sería cualquier uC con núcleo
> Cortex) a un conversor USB - Serie para recibir datos en una PC (con
> Minicom por ejemplo, para no nombrar al otro archifamoso programa
> innombrable :P).

Ese LPC tiene USB integrado por hardware si no me equivoco, deberías hacer que
una PC lo vea directamente como un COM o tty.

Y los conversores USB-RS232 tienen +-12v del lado que vos querés conectar, lo
vas a hacer percha.

Si es USB-serie, seguramente tenga 0-5v del lado que querés conectar el micro.
Los cortex que uso yo son 5v compatible, no se si el tuyo lo es.

Saludos

--
Marcos

marcos j leguizamon

unread,
Jun 9, 2012, 11:58:56 AM6/9/12
to embeb...@googlegroups.com
A que le decis conversor USB-Serial? al chip solo FTDI (o algo asi, no me acuerdo ahora) o al cable que venden armado con conector DB9? Si es el chip, es TTL, necesita un MAX232. Si hablas del cable armado (el mejor que venden aca es el Manhatan, el Noga apesta) deberias usar un MAX232, porque el cable tira 12V o algo asi, algunos dicen que tiran 5v solamente (nunca lo medi), pero funcionan conectados a equipos con niveles RS232 normales, asi que si le pones un MAX232 te deberia andar.
 Igual, aunque el cable USB solo use niveles TTL, deberia usarlos invertidos, fijate como se codifica en RS232:


          Saludos
        MARCOS

2012/6/9 Marcos Chaparro <mar...@mrkindustries.com.ar>

-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

Alejandro Celery

unread,
Jun 9, 2012, 12:11:41 PM6/9/12
to embeb...@googlegroups.com
Mis dos centavos:

La norma RS232 dice que para viajar por el cable ten�s que andar en los
+/- 12V (alguien que me revise esto, no lo recuerdo seguro) => las PC
tienen el dichoso MAX232 (o similar) que convierte los 5V a los +/- 12V
que deben ir por el cable => si vos queres conectarte con una PC, ESTAS
OBLIGADO a poner un MAX232 (en este caso, 3232 que es el que levanta
desde 3,3V).

Ahora, si vos en vez de MAX3232 quer�s poner un MAX_USB (que es el
famoso FTDI), el tipo del lado del micro no pone niveles RS232 (te
obligar�a a hacer una adaptaci�n m�s al pedo), sino que usa niveles
CMOS/TTL => lo pon�s al micro derecho y del otro lado al conector USB.

Despu�s est� la otra alternativa que es usar el periferico USB del micro
(que absorbe al dichoso FTDI), pero ah� ten�s que implementar vos el
stack USB y eso es algo m�s complejo, por eso TODO EL MUNDO agarr� su
dise�o con UART, le chant� un FTDI y sali� a gritar "USB COMPLIANT!!!".
Y la cereza del postre es que funciona para ambos lados: FTDI te da un
driver para la PC que hace que el puerto serie del micro se vea como un
puerto COM cualquiera (el famoso VCOM o VCP, puerto como virtual) =>
pasa lo mismo: Tu aplicaci�n de PC que usa puerto serie de repente habla
con un perif�rico USB sin hacerle ning�n cambio.

No fui siguiendo el thread, ya no recuerdo tu inquietud inicial pero
espero con esto haber despejado tus dudas.
Desde ya que no soy un experto en estos temas, acepto consejos de los
monos sabios que haya por ah�.

Saludos!

Marcos Chaparro

unread,
Jun 9, 2012, 12:47:19 PM6/9/12
to embeb...@googlegroups.com

On Saturday 09 June 2012 13:11:41 Alejandro Celery wrote:

> Ahora, si vos en vez de MAX3232 querés poner un MAX_USB (que es el 

> famoso FTDI), el tipo del lado del micro no pone niveles RS232 (te 

> obligaría a hacer una adaptación más al pedo), sino que usa niveles 

> CMOS/TTL => lo ponés al micro derecho y del otro lado al conector USB.

 

Si, el MAX3232 no tendría razón de ser acá, no hay razón para querer niveles +-12v en el camino. Además, el cable es carísimo.

 

Si no se arremanga para poner andando el ejemplo de terminal USB de NXP, va a tener que gastar unos cuantos pesos en el FTDI, lo cual es totalmente evitable.

 

http://www.digikey.com/product-detail/en/FT232RL-REEL/768-1007-1-ND/1836402

 

Saludos

 

--

Marcos

 

Fernando Lichtschein

unread,
Jun 9, 2012, 2:42:41 PM6/9/12
to embeb...@googlegroups.com
Mauro,

En realidad la pregunta es más de joven que de novato.

Vamos por partes. Las salidas y entradas de las UART del LPC1769 son TTL 5V tolerant. Los puertos serie de las PC son RS-232, la norma dice que la salida no puede ser menos de +5V/-5V ni más de +15/-15V (o sea que con +/- 5 V de salida alcanza) y que el receptor considera "Marca", "1" u "OFF" menos de -3 V y "Espacio", "0" u "ON" más de +3 V, con un límite de +/- 25 V. Para conectarse con este tipo de puerto, hace falta conversión de niveles, ya sea por medio de integrados como el MAX232  otros equivalentes. Lo mismo vale para comunicarse con cualquier dispositivo RS-232 como modems, line drivers o radios digitales.

El otro tema es que las PCs ya no vienen más con puertos serie, sobre todo las notebooks. En ese caso hay que recurrir a los conversores USB/RS-232, que generalmente (pero no siempre) incluyen al tan mentado FTDI FT232.

Muchos motherboards tienen puerto serie (por ejemplo muchos de ASUS) pero no está la conexión correspondiente al conector DB9 en la parte posterior del gabinete, en ese caso se puede fabricar o a veces se consigue en la red (yo armé uno con información de aquí  http://www.frontx.com/pro/cpx102_2.html )

En otros casos, como se mencionó varias veces en este foro, no hay puerto serie RS232. En estos casos, sería un desperdicio convertir de USB a RS232 con un cable, y en el "sistema embebido" otra vez de RS-232 a TTL, entonces tiene sentido usar un FT232 directamente en nuestra placa, y nos ahorramos dos conversiones de nivel y una de USB a serie, y además ganando en portabilidad porque todas las PC hoy en día tienen puertos USB y el sistema operativo lo ve como un puerto serie más (COMx).

Todo depende con qué te quieras conectar. Es más, si vas a conectarte con otro LCP, ni siquiera haría falta convertir los niveles.

Saludos,

Fernando

El 9 de junio de 2012 01:13, Mauro Antivero <mauro.a...@gmail.com> escribió:
Estiamdos, una consulta muy de novato:

Estoy haciendo pruebas con la LPCXpresso para aprender a programar los uCs Cortex. Luego de hacer cosas muy sencillas lo que quiero hacer ahora es enviar y recibir datos a través de una de las UART del LPC1769.


Lo que quiero saber entonces es si lo puedo conectar directamente o necesito adaptar los niveles con un IC tipo MAX232.

Estuve buscando un poco de info y en los foros de NXP algunos dicen que si, otros dicen que no y otros dicen que los conversores USB - Serie son en realidad un conversor USB - TTL seguido de uno TTL - RS232 y que por ende sacando este último y conectando directamente el primero (USB - TTL) ya se logra la comunicación.

Anteriormente trabajaba con PICs y mucha simulación en Proteus. Entonces al usar la comunicación serie, como corría todo en Proteus simplemente mapeaba un conector RS232 al puerto serie de la PC (ya sea un puerto serie "real", como los de antes o uno del tipo conversor serie - USB y todo funcionaba de maravillas. Pero como la conexión en realidad era entre mi circuito simulado y el puerto serie de la PC (en un principio lo hacía con un cable serie y dos puertos hasta que luego alguien me mostró un emulador de puertos y las cosa era todavía más sencilla) no sé si la conexión en el circuito virtual era tan sencilla (conectar directamente los pines del PIC al puerto serie virtual) porque el Proteus hace luego "la magia necesaria" o en realidad se puede hacer así de simple.

Como verán mi pregunta es bien de novato, pero es que siempre que trabajé con puerto serie lo hice con simulaciones en Proteus.

Les agradecería mucho me ayuden a aclarar esta duda.

Por cierto, para dejarlo en claro lo que quiero hacer es conectar la LPCXpresso (en realidad en el futuro sería cualquier uC con núcleo Cortex) a un conversor USB - Serie para recibir datos en una PC (con Minicom por ejemplo, para no nombrar al otro archifamoso programa innombrable :P).


Saludos y desde ya muchas gracias.

Mauro.

-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32+unsubscribe@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

Mauro Antivero

unread,
Jun 10, 2012, 4:13:12 AM6/10/12
to embeb...@googlegroups.com
El 09/06/12 13:11, Alejandro Celery escribi�:
> Mis dos centavos:
>
> La norma RS232 dice que para viajar por el cable ten�s que andar en
> los +/- 12V (alguien que me revise esto, no lo recuerdo seguro) => las
> PC tienen el dichoso MAX232 (o similar) que convierte los 5V a los +/-
> 12V que deben ir por el cable => si vos queres conectarte con una PC,
> ESTAS OBLIGADO a poner un MAX232 (en este caso, 3232 que es el que
> levanta desde 3,3V).
>
> Ahora, si vos en vez de MAX3232 quer�s poner un MAX_USB (que es el
> famoso FTDI), el tipo del lado del micro no pone niveles RS232 (te
> obligar�a a hacer una adaptaci�n m�s al pedo), sino que usa niveles
> CMOS/TTL => lo pon�s al micro derecho y del otro lado al conector USB.
Osea que si mi conversor es USB - Serie (tengo uno Manhattan, despu�s me
fijo las especificaciones) y no USB - RS232 funcionar�a sin m�s?
>
> Despu�s est� la otra alternativa que es usar el periferico USB del
> micro (que absorbe al dichoso FTDI), pero ah� ten�s que implementar
> vos el stack USB y eso es algo m�s complejo, por eso TODO EL MUNDO
> agarr� su dise�o con UART, le chant� un FTDI y sali� a gritar "USB
> COMPLIANT!!!". Y la cereza del postre es que funciona para ambos
> lados: FTDI te da un driver para la PC que hace que el puerto serie
> del micro se vea como un puerto COM cualquiera (el famoso VCOM o VCP,
> puerto como virtual) => pasa lo mismo: Tu aplicaci�n de PC que usa
> puerto serie de repente habla con un perif�rico USB sin hacerle ning�n
> cambio.
Dejo lo del stack USB para m�s adelante, mejor voy de a poco :)
>
> No fui siguiendo el thread, ya no recuerdo tu inquietud inicial pero
> espero con esto haber despejado tus dudas.
> Desde ya que no soy un experto en estos temas, acepto consejos de los
> monos sabios que haya por ah�.
Mil gracias!
>
> Saludos!
>
> -- Recibiste este mensaje porque est�s suscripto al Grupo Google
> Embebidos32. Para postear en este grupo, escribe un email a
> embeb...@googlegroups.com. Para des-suscribirte, env�a un email a
> embebidos32...@googlegroups.com. Para m�s opciones, visita el

Marcelo Romeo

unread,
Jun 10, 2012, 5:54:01 PM6/10/12
to embeb...@googlegroups.com
Mauro:
De acuerdo con lo que entendí del planteo inical, la solución que propone Fernando es la mejor. Ofrece flexibilidad y seguramente funcionará.
Los chips de conversión serie a USB de FTDI son 99% compatibles con los requerimientos de transmisión para aplicaciones típicas de sistemas embebidos que necesitan transmisión y recepción byte a byte.
Algunos chips alternativos trabajan juntando paquetes de bytes antes de enviarlos/recibirlos por USB y esa espera para juntar bytes puede generar timeouts en el micro.
Saludos.



El sábado, 9 de junio de 2012 01:13:16 UTC-3, Mauro Antivero escribió:
Estiamdos, una consulta muy de novato:

Estoy haciendo pruebas con la LPCXpresso para aprender a programar los
uCs Cortex. Luego de hacer cosas muy sencillas lo que quiero hacer ahora
es enviar y recibir datos a trav�s de una de las UART del LPC1769.

Lo que quiero saber entonces es si lo puedo conectar directamente o
necesito adaptar los niveles con un IC tipo MAX232.

Estuve buscando un poco de info y en los foros de NXP algunos dicen que
si, otros dicen que no y otros dicen que los conversores USB - Serie son
en realidad un conversor USB - TTL seguido de uno TTL - RS232 y que por
ende sacando este �ltimo y conectando directamente el primero (USB -
TTL) ya se logra la comunicaci�n.

Anteriormente trabajaba con PICs y mucha simulaci�n en Proteus. Entonces
al usar la comunicaci�n serie, como corr�a todo en Proteus simplemente
mapeaba un conector RS232 al puerto serie de la PC (ya sea un puerto
serie "real", como los de antes o uno del tipo conversor serie - USB y
todo funcionaba de maravillas. Pero como la conexi�n en realidad era
entre mi circuito simulado y el puerto serie de la PC (en un principio
lo hac�a con un cable serie y dos puertos hasta que luego alguien me
mostr� un emulador de puertos y las cosa era todav�a m�s sencilla) no s�
si la conexi�n en el circuito virtual era tan sencilla (conectar
directamente los pines del PIC al puerto serie virtual) porque el
Proteus hace luego "la magia necesaria" o en realidad se puede hacer as�
de simple.

Como ver�n mi pregunta es bien de novato, pero es que siempre que
trabaj� con puerto serie lo hice con simulaciones en Proteus.

Les agradecer�a mucho me ayuden a aclarar esta duda.

Por cierto, para dejarlo en claro lo que quiero hacer es conectar la
LPCXpresso (en realidad en el futuro ser�a cualquier uC con n�cleo
Cortex) a un conversor USB - Serie para recibir datos en una PC (con
Minicom por ejemplo, para no nombrar al otro archifamoso programa
innombrable :P).

Saludos y desde ya muchas gracias.

Mauro.

El sábado, 9 de junio de 2012 01:13:16 UTC-3, Mauro Antivero escribió:
Estiamdos, una consulta muy de novato:

Estoy haciendo pruebas con la LPCXpresso para aprender a programar los
uCs Cortex. Luego de hacer cosas muy sencillas lo que quiero hacer ahora
es enviar y recibir datos a trav�s de una de las UART del LPC1769.

Lo que quiero saber entonces es si lo puedo conectar directamente o
necesito adaptar los niveles con un IC tipo MAX232.

Estuve buscando un poco de info y en los foros de NXP algunos dicen que
si, otros dicen que no y otros dicen que los conversores USB - Serie son
en realidad un conversor USB - TTL seguido de uno TTL - RS232 y que por
ende sacando este �ltimo y conectando directamente el primero (USB -
TTL) ya se logra la comunicaci�n.

Anteriormente trabajaba con PICs y mucha simulaci�n en Proteus. Entonces
al usar la comunicaci�n serie, como corr�a todo en Proteus simplemente
mapeaba un conector RS232 al puerto serie de la PC (ya sea un puerto
serie "real", como los de antes o uno del tipo conversor serie - USB y
todo funcionaba de maravillas. Pero como la conexi�n en realidad era
entre mi circuito simulado y el puerto serie de la PC (en un principio
lo hac�a con un cable serie y dos puertos hasta que luego alguien me
mostr� un emulador de puertos y las cosa era todav�a m�s sencilla) no s�
si la conexi�n en el circuito virtual era tan sencilla (conectar
directamente los pines del PIC al puerto serie virtual) porque el
Proteus hace luego "la magia necesaria" o en realidad se puede hacer as�
de simple.

Como ver�n mi pregunta es bien de novato, pero es que siempre que
trabaj� con puerto serie lo hice con simulaciones en Proteus.

Les agradecer�a mucho me ayuden a aclarar esta duda.

Por cierto, para dejarlo en claro lo que quiero hacer es conectar la
LPCXpresso (en realidad en el futuro ser�a cualquier uC con n�cleo

JG

unread,
Jun 17, 2012, 8:08:39 AM6/17/12
to embeb...@googlegroups.com, flicht...@ort.edu.ar
Como conversor USB-RS232 use en general unos de CIKA o también unos que regalaron en una conferencia de Microchip (je, me parece que los regalaban porque el conector DB9 era del sexo equivocado ...)

Ambos módulos tenían también en la plaquetita conectores ANTES del conversor de nivels MAXRS232, entonces fue muy simple "descular" las señales y armar un cable para ir directo del FTDI (o el que fuera) hacia, por ejemplo, los pines de la UART del micro. Es má, uno de ellos hasta tenía la cortesía de tener en ese conector un pin para elegir si los niveles de entrada del FTDI (o sea los de sallida del micro) eran 3.3 o 5v.

Slds
JG

Claudio Campos [sistemica]

unread,
Jun 17, 2012, 11:27:05 AM6/17/12
to embeb...@googlegroups.com, flicht...@ort.edu.ar

Estimados,

 

Seria posible o alguien hizo el intento de usar los conversores de cika por ej USB-RS232 para conectar un teléfono Android (por ej Galaxy Note Android gingerbread y microusb) y una placa con UART?

 

Muchas gracias por cualquier ayuda,

 

Cordialmente,

 

Claudio

-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

Ezequiel Leonardo Aceto

unread,
Jun 17, 2012, 11:38:05 AM6/17/12
to embeb...@googlegroups.com, flicht...@ort.edu.ar
Hola Buen día Claudio,

Yo conecté un FT232 a una Motorola Xoom (con Android 3.2 y Android 4). Hay que desarrollar el driver porque, a menos que recompiles el Kernel, por default no hay drivers para dispositivos USBs con VCP (solo HID). Te adelanto algo de lo que presentaré en el SASE 2012 en el track de Android. Donde ademas de USB Host (que es este caso), se va a ver Open Accessory API y comunicación por Bluetooth.

Este es el link a mi blog. Hay 4 paginas sobre desarrollar un driver USB VCP (virtual COM port) y uno sobre el adaptador FTDI que estoy usando. Seguramente tengas que abrir varios cables microUSB porque no todos tienen en su conecto el 5to pin que le permite saber al telefono si tiene que ser USB Host o USB Slave.


Cualquier duda preguntame,

Saludos,

Ezequiel Aceto




-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email aembebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo enhttps://groups.google.com/d/forum/embebidos32?hl=es

-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email aembeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

Claudio Campos [sistemica]

unread,
Jun 17, 2012, 12:20:55 PM6/17/12
to embeb...@googlegroups.com, flicht...@ort.edu.ar

Hola Eze!

 

Por ahora le pegué un vistazo a las páginas del blog, pero que flor de trabajo te felicito…!

 

Muchas gracias por compartir esta información, voy a mirarlo con más detenimiento y seguro te voy a consultar si es posible (*).

 

Que tengas un buen fin de semana,

 

Claudio

 

PD: (*) Voy a procurar estar en SASE2012, tendré que viajar, estoy a un poco más de 500km, en Santa Fe. Bajo que titulo figura tu intervención en el programa del simposio ¿?

-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

Ezequiel Leonardo Aceto

unread,
Jun 17, 2012, 12:38:26 PM6/17/12
to embeb...@googlegroups.com, flicht...@ort.edu.ar, Claudio Campos [sistemica]
Gracias Claudio, cualquier cosa enviame un mail. Lo complicado es hacer ingeniería inversa sobre al dispositivo USB al que te queres conectar, y descubrir como usa los endpoints, la rutina de inicialización. En el caso del FT232 yo hice ese trabajito, luego me puse en contacto con FTDI y ,NDA de por medio, puede acceder a toda la documentación necesaria para completar el driver.

El track es el Jueves 16 a las 10:50hs en el tutorial de Linux  Embebido.

Buen fin de semana,

Ezequiel Aceto
Reply all
Reply to author
Forward
0 new messages