El documento describe el módulo USB2TTL, el cual permite la comunicación serial entre un dispositivo y una computadora a través de un puerto USB. Incluye información sobre las características, especificaciones técnicas, instalación de drivers y uso básico del módulo.
3. USB2TTL
El módulo USB2TTL serial es un sistema que permite realizar comunicación
con el puerto USB mediante protocolo serial, pero en niveles TTL (0 a 5V).
Así, es una sencilla manera de proveerle conectividad USB a
microcontroladores que carezcan de este módulo. Con soporte para
diferentes sistemas operativos, tanto Windows, Linux como MAC OS, el
USB2TTL se convierte en una alternativa OEM para diseños de sistemas
electrónicos que requieran de conectividad con estaciones de trabajo o
computadoras personales.
○ Acceso a todas las líneas del estándar RS232 (TXD, RXD, DCD, CTS,
RTS, DTR, DSR, IR).
○ Selección de nivel TTL para las líneas del enlace serial (3,3V o 5V).
○ Leds de estado de comunicación (RXD, TXD).
○ Modo bitbang, permite controlar las líneas del protocolo RS232 como si
fuera un puerto de E/S.
○ Provee alimentación desde el puerto USB (5V, máxima corriente definida
por el puerto USB).
○ Fácil conexión a protoboard.
Revisión 1.0 Página 3
2. CARACTERÍSTICAS
1. INTRODUCCIÓN
4. USB2TTL
El USB2TTL es un módulo de dimensiones reducidas (5x2,2 cm), que al ser
conectado al computador mediante un cable USB, es reconocido como un
puerto serial virtual, o “Virtual Serial Comm Port”. El voltaje de salida de los
pines que componen la interfaz serial o UART puede ser establecido ya sea
en 3.3V o 5V.
Esto le otorga mayor versatilidad al módulo, al poder interactuar con
sistemas de bajo consumo. El estado de la comunicación puede ser
verificado a través los leds que se incluyen, tanto para recepción como para
transmisión. El módulo incluye todas las líneas utilizadas en el protocolo
serial RS232, y además de éstas, cinco líneas de propósito general, que
pueden ser programadas de diferente manera, desde generar una señal de
reloj para un microcontrolador hasta señales de E/S de propósito general.
El USB2TTL usa el integrado FT232RL de FTDI, el cual se encarga de
controlar el puerto serial virtual generado cuando el dispositivo se conecta
al PC. USB2TTL cuenta con dos interfaces, la primera dispone la
alimentación y las líneas RXD y TXD, a través de PORT1, como se observa
en la ilustración [2]. La otra interfaz, definida como PORT2, provee además
las líneas del estándar RS232, junto con cinco líneas de propósito general
(CBUS0..4), que pueden ser controladas mediante las librerías proveídas
por el fabricante del chip, en su página web [1]. Además, es posible
seleccionar el nivel de las salidas, entre 3,3V y 5V, gracias al selector SC1
de la tarjeta.
Revisión 1.0 Página 4
3. DESCRIPCIÓN
5. USB2TTL
Revisión 1.0 Página 5
LED Rx
Jumper de
alimentación
SC1
LED Tx
Dispositivo
FTDI
Puerto Mini-USB
PORT1
7. USB2TTL
USB2TTL consta de 16 pines en la cara anterior, y 7 pines en la posterior,
demarcados cada uno para su fácil reconocimiento. La figura [3] muestra la
disposición de pines en el dispositivo.
Revisión 1.0 Página 7
4. PINOUT
8. USB2TTL
Descripción de pines:
PORT2a:
CB3: Línea propósito general 3.
CB2: Línea propósito general 2.
CB4: Línea propósito general 4.
RST: Reset.
CB1: Línea propósito general 1.
CB0: Línea propósito general 0.
GND: Tierra.
VCC: Alimentación (5V).
PORT2b:
CTS: Línea CTS de estándar RS232.
DCD: Línea DCD de estándar RS232.
DSR: Línea DSR de estándar RS232.
RI: Línea RI de estándar RS232.
RXD: Línea RXD de estándar RS232.
RTS: Línea RTS de estándar RS232.
DTR: Línea DTR de estándar RS232.
TXD: Línea TXD de estándar RS232.
Revisión 1.0 Página 8
9. USB2TTL
PORT1:
VCC: Alimentación (5V).
RXD: Línea RXD de estándar RS232.
TXD: Línea TXD de estándar RS232.
GND: Tierra.
SC1:
5V: Salidas a 5V.
VCC: Alimentación.
3.3V: Salidas a 3,3V.
Revisión 1.0 Página 9
10. USB2TTL
INSTALACIÓN DE DRIVERS
Los drivers para el dispositivo se encuentran disponibles tanto para
Windows como Linux y MAC OS. En la página de FTDI [1] se encuentran
disponibles para su descarga. Existen dos tipos de drivers, el VCP y el
D2XX. El primero (VCP: Virtual Comm Port) reconoce el dispositivo como un
puerto serial, y permite establecer los parámetros generales, como tasa de
baudios, bits de parada, bits de datos, paridad, etc. El segundo permite
tratar directamente el dispositivo USB por medio de una librería DLL. Está
disponible un driver similar para sistemas Linux, sin embargo no se incluyen
las fuentes. De todas maneras existen drivers de terceros que sí entregan el
código utilizado ([3] y [4]).
Windows
En Windows la instalación del driver es sencilla. Descargue el driver
correspondiente a su versión de Windows. Descomprima el archivo en el
lugar que desee. Posteriormente, conecte el dispositivo, usando un cable
USB A-B, como lo muestra la figura 1 de la tabla [5]. Si ha sido
correctamente conectado, Windows alerta al usuario sobre el nuevo
dispositivo conectado (figura 2). Aparece entonces la ventana de la figura 3.
Seleccione la opción “Instalar desde una lista o ubicación específica” y
continúe. Seleccione en la casilla “Incluir esta ubicación en la búsqueda” y
seleccione la carpeta previamente descomprimida que contiene el driver
(figura 4). Por último, continúe, y si todo ha salido en orden, observará que
el sistema reconoce el dispositivo, y en el administrador de dispositivos
aparecerá éste, identificado con la cadena “COM” seguida de un número
que se asigna dependiendo del puerto USB donde haya sido conectado.
Revisión 1.0 Página 10
5. SOFTWARE
11. USB2TTL
Tabla 1: Instalación de drivers FTDI
Linux
En Linux, a partir del kernel 2.4, el driver VCP se encuentra incluído [2], por
lo que no es necesaria la instalación de software adicional para manejar el
módulo emulando un puerto serial, a menos que se desee utilizar el modo
bitbang, por lo que en ese caso, se recomienda seguir el siguiente link para
mayor información [4].
Revisión 1.0 Página 11
12. USB2TTL
PRIMEROS PASOS
Con los drivers ya instalados, basta con seguir los siguientes pasos para
probar el funcionamiento del módulo USB2TTL.
Conexión al PC:
Inserte un cable USB A-B del módulo al computador, tal como lo muestra la
figura 1 de la tabla [5]. Al conectar correctamente el sistema, debe
aparecer un aviso en sistemas Windows, indicando que un nuevo dispositivo
ha sido conectado (ver figura 6 de la tabla [5]).
Verificación del puerto asignado:
Será necesario verificar que nombre de puerto serial le ha sido asignado al
módulo, ya que esta cadena servirá para poder interactuar con él.
Generalmente en sistemas Windows el nombre asignado corresponde a
COM seguido de una numeración, generalmente dependiente del puerto
USB donde haya sido conectado el módulo. En sistemas Linux, si éste es el
único conversor USB-serial conectado, seguramente le habrá sido asignado
el nombre ttyUSB0 (recuerde que los dispositivos se hallan en la carpeta
/dev). Para verificar el número de puerto asignado se puede utilizar el
administrador de dispositivos en Windows, y en Linux verificar la lista de
interfaces seriales con el comando ls /dev | grep ttyUSB.
Terminal serial:
Cuando el nombre del puerto ha sido satisfactoriamente identificado, se
puede proceder a las pruebas del módulo. Para ello será necesario contar
con un software terminal. En Windows XP y previos se cuenta con
Hyperterminal, un programa bastante sencillo y suficiente para las pruebas
a realizar. En Vista será necesario instalar uno, ya que el hyperterminal no
ha sido incluido con esta distribución. Se recomienda instalar el puTTY [6].
En Linux se puede utilizar gtkterm [7] o moni [4] como terminal, que
también son bastante sencillos y bastarán para las pruebas a realizar en
esta sección (ver imágenes de la tabla [6]).
Revisión 1.0 Página 12
13. USB2TTL
Tabla 2: Terminales seriales de Windows y Linux
Se debe ejecutar el terminal, y abrir el puerto de acuerdo al nombre que
previamente hemos identificado. Compruebe que la opción de eco se
encuentra activa, de tal forma que se puedan observar los caracteres
escritos en la terminal.
Configuración del módulo USB2TTL para pruebas:
En el módulo USB2TTL, utilice el jumper de selección de voltaje de las
líneas, para colocarlo en PORT1, uniendo las señales RXD y TXD. De esta
manera, todo lo que se envíe por la interfaz serial, deberá regresar al
terminal. Las ilustraciones de la tabla [7] muestran el jumper colocado
primero en la posición de selección de 5V, y luego en la posición para
pruebas, cortocircuitando las líneas RXD y TXD. Esta configuración debe ser
utilizada únicamente para pruebas; en operación normal del dispositivo el
jumper debe estar ubicado en alguno de las dos opciones de voltaje de
salida: 3,3V o 5V.
Revisión 1.0 Página 13
14. USB2TTL
Tabla 3: Configuración normal y de pruebas del módulo USB2TTL
MODO BITBANG
El modo Bitbang es útil cuando se quiere utilizar las salidas del módulo
USB2TTL como un puerto digital de E/S. De esta manera, es posible
controlar el estado de cada una de las señales involucradas en el estándar
RS232, con lo cual se dispone de hasta 8 líneas libres de E/S. Por supuesto,
la velocidad de conmutación que permiten estas salidas no será tan alta,
debido a que se debe definir su estado una a una. Pero para efectos
prácticos resultan muy útiles, en sistemas que necesiten de una señal de
reset, o simplemente cuando se quieran realizar pruebas sencillas del
módulo. La descripción de operación en este modo se puede encontrar en
[8] para sistemas Windows, mientras que para Linux la información más
completa se encuentra en [4].
Revisión 1.0 Página 14