Archive for the 'FTDI' Category

Conversor USB<>TTL ( 5v y 3,3v )

Lunes, junio 23rd, 2008

Seguro que alguna vez habéis necesitado conectar vuesro circuito con PIC, Arduino, Atmel, un GPS, una placa entrenadora o cualquier cosa a un puerto serie de vuestro ordenador y os habéis encontrado que los portátiles modernos ya no llevan conector RS232 y necesitais un adaptador y luego un convertidor de niveles a TTL. Y si resulta que necesitáis que el circuito funcione con niveles de 3,3v pues el lío aún es mayor.

Este circuito permite conseguir esa comunicación serie tan necesaria a veces y además podemos seleccionar el tipo de niveles de tensión con los que vamos a comunicarnos: 5v o 3,3v simplemente con un pequeño jumper de soldadura en la placa.
Añadiría un plus al circuito, y es que puede alimentar un circuito conectado a él ( a 5v o 3.3v ) y hasta un máximo de 100mA de consumo. No esta mal…

El circuito

El circuito gira alrededor de un chip de FTDI, el FT232RL que es un chip con “USB to serial UART interface” integrado. No necesita ningún tipo de programación, solo conectarse con unos pocos componentes alrededor y listo.
Observamos el esquema que es prácticamente uno de los App Note del fabricante pero modificado para el tipo de placa simple y pequeña que me apetecía desarrollar.
Tenemos 5 condensadores de desacoplo de las diferentes tensiones de alimentación que existen en el circuito, que son :
La tensión de salida del USB, la misma tensión después de pasar por el filtro de ferrita (Ferrite Bead), la tensión de salida de 5v, la tensión de salida de 3.3v y la tensión de alimentación del FT232RL. Estos valores se han tomado siguiendo el consejo del fabricante.
JMP1 es el jumper que permite seleccionar la tensión de trabajo del circuito entre 3.3v y 5v, que será la misma que proporcionará a la salida por el pin 1 del conector SV1.
Y R1 es una resistencia de 0 ohm usada como jumper para poder resolver la PCB a una sola cara uniendo dos planos de masa.

La PCB

He intentado que fuera lo más pequeña posible y a una sola cara, para no complicar el asunto de la PCB y desechando componentes tamaño 0805 porque no podia pasar pistas entre las patillas, me decidí por el tamaño 1206 que también es más cómodo de posicionar. Para reducir espacio ( mi prototipo mide 38×17 mm ) usé un conector miniUSB tipo B y el FT232RL tiene un encapsulado SSOP de 28 pines.
El conector de salida es una tira de 5 pines con las siguientes conexiones:
1-VCCOut, 2-TX, 3-RX, 4y5-GND
Así me quedó la placa usando un nuevo proceso para crear el fotolito con impresora laser que aún estoy perfeccionando:

Y este es el fotolito de la PCB:


El resultado final con la simulacion en Eagle 3D:

Los Drivers
Una vez comprobado todo de posibles cortocircuitos y soldado todo ( impresiona ver como se va todo al sitio en el horno de soldadura ) llega el momento de la verdad, así que conectamos el circuito a nuestro puerto USB y parece que nos lo detecta sin problemas:

Le damos el DRIVER DEL FABRICANTE y ya lo tenemos instalado como un nuevo puerto serie:


La Prueba

Pues con un programa de comunicaciones tipo terminal, envío una trama en hexadecimal por el nuevo puerto serie creado, tal que: 0A0F0A0 y esto es lo que obtengo en el pin TX del circuito:
Para JMP1=5v:

Y para JMP1=3.3v

El resultado es que envía datos y como tenía que probar la recepción y la transmisión, que mejor que una fonera y conectada a niveles de 3.3v. Sueldo el Jumper JMP1 para modo 3.3v y preparo un adaptador ( sin quererlo casi se conecta directamente a la fonera ) para conectar con la fonera.

Con el hiperterminal , me conecto a la fonera. Me sale la consola de RedBoot y pulso Control+C … ya está, envío y recibo. El circuito funciona perfectamente.

Descargas:


Copy Protected by Tech Tips's CopyProtect Popup Images .