|
Configuración Alimentada por Bus USB
Un dispositivo alimentado por el bus USB obtiene
su potencia del propio bus USB (figura 7). Las reglas
básicas para dichos dispositivos son las
siguientes:
a. Al enchufar, el dispositivo no debe extraer más
de 100mA.
b. Al suspender USB, el dispositivo no debe extraer
más de 500µA.
c. Un dispositivo de alta potencia alimentado por
bus (uno que extrae más de 100mA) debe usar
la pata PWREN# para mantener la corriente debajo
de 100mA al enchufar (conectar) y 500 uA al suspender
USB.
d. Un dispositivo que consume más de 100mA
no debe enchufarse a un hub alimentado por el bus
USB.
e. Ningún dispositivo puede extraer más
de 500mA del bus USB.
PWRCTL (pata 14) se pone en estado bajo para decirle
al dispositivo que use un descriptor de potencia
del bus USB. El descriptor de potencia de la EEPROM
debe programarse para que coincida con la corriente
extraída por el dispositivo.
Se conecta una cuenta de ferrita en serie con la
alimentación USB para evitar que se irradie
ruido del dispositivo y circuito asociado (EMI)
por el cable USB al anfitrión. El valor de
la cuenta de ferrita depende de la cuenta total
requerida por el circuito.
Configuración del FT232BM con Alimentación
Externa
En la figura 8 se muestra el circuito del FT232BM
cuando se lo alimenta con una fuente externa. Las
principales características de esta configuración
son las siguientes:
a. Un dispositivo autoalimentado no debe forzar corriente
por el bus USB cuando el Anfitrión USB o Controlador
de Hub esté apagado.
b. Un dispositivo autoalimentado puede tomar tanta
corriente como necesite durante la operación
normal y la suspensión de USB dado que tiene
su propia fuente de alimentación.
c. Un dispositivo autoalimentado puede usarse con
cualquier Anfitrión USB y Hubs alimentados
por el bus USB y autoalimentados.
PWRCTL (pata 14) debe ponerse alta para decirle al
dispositivo que use el descriptor de potencia del
bus USB.
El descriptor de potencia de la EEPROM debe programarse
en cero. Para satisfacer el requerimiento (a), el
resistor de pull-up de 1,5k en USBDP se conecta
a RSTOUT# . Sin embargo, la potencia del bus USB se
usa para controlar la pata RESET# de la FT232BM. Cuando
el Anfitrión USB o Hub está encendido,
RSTOUT# conectará el resistor de 1,5k
en USBDP a 3,3V, identificando así al dispositivo
como de velocidad plena para USB.
Cuando el Anfitrión USB o Hub están
apagados, RESET# pasará a bajo y el dispositivo
se mantendrá en reinicialización. Si
RESET# está en estado bajo, RSTOUT# también,
de modo que no se forzará ninguna corriente
por USBDP a través del resistor de pull-up
de 1,5k cuando el anfitrión o el hub
están apagados. Si esto no ocurre, puede pasar
que algun anfitrión USB o controlador de hub
se encienda erráticamente.
Nota: cuando la FT232BM está en reinicialización,
las patas de la interfaz de la UART pasarán
todas al estado tri-state. Estas patas
tienen resistores internos de pull-up de 200k
conectadas a VCCIO, de modo que suavemente pasarán
a alto a menos que sean excitadas por algún
circuito lógico externo.
Conversor USB a RS232/RS422
La figura 9 muestra cómo conectar la interfaz
de la UART de la FT232BM a un circuito integrado
Conversor de Nivel RS232 para formar un conversor
USB<=>RS232 usando la serie popular 213
de conversores de nivel TTL a RS232. Estos dispositivos
tienen 4 transmisores y 5 receptores en un envase
de 28 patas y presentan un conversor de tensión
incorporado para convertir los 5V (nominales) a
±9V requeridos por RS232. Una característica
importante de estos dispositivos es la pata SHDN3
que puede bajar la potencia del dispositivo a una
corriente de reposo baja durante el modo de suspensión
de USB.
El dispositivo usado en el ejemplo es un SIPEX SP213EHCA
que es capaz de la comunicación RS232 hasta
500kbaudios (500kb/s). Si es aceptable una velocidad
menor, entonces hay muchas alternativas de compatibilidad
de patas tales como SP213CA, Maxim MAX213CAI y Analog
Devices ADM213E que son buenas para la comunicación
hasta 115200 baud. Si se desea una velocidad mayor,
use MAX3245CAI que es capaz de comunicación
RS232 a velocidades de hasta 1Mbaud. MAX3245 no
tiene compatibilidad de patas con los dispositivos
de la serie 213; asimismo, su pata SHDN es activa
alta, de modo que conéctela a PWREN# en vez
de SLEEP#.
La figura 10 muestra cómo conectar la interfaz
de la UART de la FT232BM a un C.I. Conversor de
Nivel TTL-RS422 para formar un conversor USB <=>
RS422. Hay muchos conversores de nivel disponibles
y este ejemplo usa los dispositivos SIPEX SP491
que tienen habilitaciones tanto en el transmisor
como en el receptor. Debido a que la habilitación
del transmisor es activa al ta, se conecta a la
pata SLEEP#. La habilitación del receptor
es activa baja y se conecta a la pata PWREN#. Esto
asegura que tanto los transmisores como los receptores
estén habilitados cuando el dispositivo está
activo, y deshabilitados cuando el dispositivo está
en el modo de suspensión de USB. Si el diseño
es alimentado por el bus USB, puede ser que sea
necesario usar un MOSFET de nivel lógico
de Canal P (controlado por PWREN#) en la línea
VCC de los dispositivos SP491 para asegurar que
se satisface la corriente de reposo USB de 500µA.
El SP491 es bueno para enviar y recibir datos a
velocidades de hasta 5Mbaudios, pero en este caso
la velocidad máxima está limitada
a 3Mbaudios por la FT232BM.
La figura 11 muestra cómo conectar la interfaz
de la UART de la FT232BM a un C.I. Conversor de
Nivel RS485 para formar un conversor USB => RS485.
Este ejemplo usa el dispositivo Sipex SP481 pero
hay componentes similares de Maxim y Analog Devices
entre otros. El SP481 es un dispositivo RS485 en
un envase compacto SOP de 8 patas. Tiene habilitaciones
separadas tanto en el transmisor como en el receptor.
Con RS485, el transmisor sólo está
habilitado cuando se transmite un carácter
desde la UART. La pata TXDEN de la FT232BM se provee
exactamente para ese propósito y entonces
la habilitación del transmisor está
conectada a TXDEN. La habilitación del receptor
es activa baja, de modo que se conecta a la pata
PWREN# para deshabilitar el receptor en el modo
de suspensión de USB.
RS485 es una red de visitas múltiples, o
sea , muchos dispositivos se pueden comunicar entre
sí a través de un solo cable bifilar.
El cable RS485 requiere que esté terminado
en cada extremo del cable. Se provee un enlace para
permitir que el cable esté terminado si el
dispositivo está ubicado físicamente
en cualquier extremo del cable.
En este ejemplo, los datos transmitidos por la FT232BM
también son recibidos por el dispositivo
que está transmitiendo. Esta es una característica
común de RS485 y requiere software de aplicación
para eliminar los datos transmitidos de la corriente
de datos recibidos. Con la FT232BM, es posible hacer
esto completamente por hardware, simplemente modificando
el circuito de modo que RXD de la FT232BM sea la
OR lógica de la salida del receptor SP481
con TXDEN usando una HC32 o compuerta lógica
similar.
Señalización de Tx y Rx
La FT232BM tiene 2 patas de E/S dedicadas a controlar
los indicadores de estado de LEDs, uno para los
datos transmitidos y el otro para los datos recibidos
(vea la figura 12). Cuando el dato está siendo
transmitido/recibido, las patas respectivas pasan
de tri-state a bajo a fin de indicar
la transferencia del dato en los LEDs. Se usa un
monostable digital de modo que incluso un pequeño
porcentaje de la transferencia del dato sea visible
al usuario final. La figura 12 muestra una configuración
que usa 2 LEDs: uno para el dato transmitido y el
otro para el dato recibido. En la figura 13 los
indicadores de transmisión y de recepción
se conectan en OR cableada (wired OR)
para dar un solo LED indicador que indica cualquier
actividad de transmisión o de recepción
del dato.
Otra posibilidad (que aquí no se muestra)
es usar un LED tricolor de ánodo común
de 3 patas basado en el circuito de la figura 13
que pueda mostrar la actividad en una diversidad
de colores de acuerdo con la relación de
la actividad transmisora en comparación con
la actividad receptora. Note que los LEDs están
conectados a VCCIO.
Circuito de Alimentación del FT232BM con
3,3V
La figura 14 muestra cómo configurar la
FT232BM para interfasear
con un dispositivo lógico de 3,3V. En este
ejemplo, se usa un regulador discreto de 3,3V para
suministrar los 3,3V al circuito lógico a partir
de la fuente USB. VCCIO se conecta a la salida del
regulador de 3,3V que a su vez hará que las
patas de E/S de la interfaz de la UART exciten con
nivel de 3,3V. Para circuitos alimentados por el bus
USB, se deben tomar en cuenta algunas consideraciones
al seleccionar el regulador:
a. El regulador debe ser capaz de mantener su tensión
de salida con una tensión de entrada de 4,35V.
Se debe seleccionar un regulador de alta confiabilidad.
b. La corriente de reposo del regulador debe ser baja
a fin de satisfacer el requerimiento de 500µA
máximo durante la suspensión de USB.
Un ejemplo de familia de reguladores que satisfacen
estos requerimientos es la Serie TC55 de MicroChip.
Estos dispositivos pueden suministrar hasta 250mA
y tienen una corriente de reposo debajo de 1µA.
En algunos casos donde se requiera sólo una
pequeña cantidad de corriente, (<5mA), es
posible usar el regulador incorporado de la FT232BM
para suministrar los 3,3V sin necesidad de otros componentes.
En este caso, conecte VCCIO a la pata 3v3OUT de la
FT232BM.
Nota: debe enfatizarse que la fuente de 3,3V para
VCCIO en un diseño alimentado por el bus con
una interfaz lógica de 3,3V debe provenir de
un regulador de alta confiabilidad que es alimentado
por el bus USB, o de la pata 3v3OUT de la FT232BM,
y no de cualquier otra fuente.
La figura 15 es un ejemplo de diseño autoalimentado
por el bus USB con una interfaz de 3,3V. En este caso
VCCIO está alimentado por una fuente externa
de 3,3V a fin de hacer que las patas de E/S del dispositivo
exciten con nivel lógico de 3,3V, permitiendo
así que se conecte a un MCU de 3,3V u otro
circuito lógico externo. Un diseño autoalimentado
por el bus USB usa su propia fuente de alimentación
y no extrae su potencia del bus USB. En tal caso,
no se necesita tomar ninguna precaución para
satisfacer la corriente de suspensión de USB
(0,5mA) dado que el dispositivo no obtiene su potencia
del puerto USB.
Como en el caso del diseño alimentado por el
bus, cuando se requiere una pequeña cantidad
de corriente (<5mA), es posible usar el regulador
incorporado de la FT232BM para suministrar los 3,3V
sin necesidad de otros componentes. En ese caso, conecte
VCCIO a la pata 3v3OUT de la FT232BM.
Note que en este caso PWRCTL se eleva a VCCIO y no
a VCC.
Los circuitos alimentados por el bus USB deben poder
reducir su potencia en el modo de suspensión
de USB a fin de satisfacer el requerimiento de la
corriente de suspensión total de 500µA
máximo (incluyendo la lógica externa).
Algún circuito lógico externo puede
reducir su potencia a un estado de baja corriente
monitoreando la pata PWREN#. Para los circuitos lógicos
externos que no pueden hacerlo, la FT232BM provee
un modo simple y eficaz de apagar la alimentación
a circuitos externos durante la suspensión
de USB.
La figura 16 muestra cómo usar un MOSFET de
Nivel Lógico de Canal P para controlar la potencia
a circuitos lógicos externos. Un dispositivo
adecuado puede ser un Fairchild NDT456P o un International
Rectifier IRLM6402, o equivalente. Se recomienda que
se use un circuito de arranque suave formado
por un resistor serie de 1k y un capacitor de
0,1µF para reducir la corriente de surgimiento
cuando se enciende el MOSFET. De lo contrario, hay
peligro de que ese pico de corriente transitoria reinicialice
la FT232BM o el Anfitrión USB/ controlador
de hub. Los valores usados aquí permiten que
los circuitos conectados aumenten la potencia con
una velocidad de crecimiento de 12,5V/ms, o en otras
palabras, la tensión de salida pasará
de GND (tierra) a 5V en 400ms.
Alternativamente, se puede usar un C.I. de conmutación
de potencia con arranque suave incorporado
en vez de un MOSFET. Uno adecuado podría ser
el MIC2025-2BM o equivalente.
En diseños con control de potencia se debe
tener en cuenta lo siguiente:
a. El circuito lógico controlado debe tener
su propio circuito de reinicialización de modo
que se reinicialice automáticamente cuando
se reaplique la alimentación al salir de la
suspensión.
b. Ponga la opción Baje al Suspender (Pull-down
on Suspend) en la EEPROM de la FT232BM.
c. Para un dispositivo de alta potencia alimentado
por el bus USB (uno que consume más de 100mA
y hasta 500mA de corriente del bus USB), el consumo
de potencia del dispositivo debe establecerse en el
campo de potencia máxima de la EEPROM. Un dispositivo
de alta potencia alimentado por el bus USB debe usar
este descriptor de la EEPROM para informar al sistema
sobre sus requerimientos de potencia.
d. Para circuitos de potencia controlada de 3,3V,
VCCIO no debe reducir su potencia con el circuito
externo (PWREN# obtiene su VCC a partir de VCCIO).
Conecte el conmutador de potencia entre la salida
del regulador de 3,3V y el circuito lógico
externo de 3,3V o si es apropiado alimente VCCIO de
la pata 3V3OUT de la FT232BM.
La Tarjeta Conversora
El presente artículo fue elaborado debido
a que resultó interesante la nota de aplicación
publicada por Ricardo Gómez González
en el sitio http://www.iearobotics.com/personal/ricardo/
lo que nos motivo a entrar en contacto con la información
provista por Future Technolog Devices Intl. Ltd.
Por tal motivo, y respetando los dichos en la página
mencionada, proponemos la tarjeta que incluye una
memoria EEPROM en la cual, es posible guardar datos
de producto. Aclaramos que los drivers para crear
un puerto virtual COM a partir de un puerto USB
en Windows son provistos por FTDI en forma gratuita
y, más adelante, daremos información
de dónde bajarlos.
En base al FT 232BM se construye la placa conversora
de la figura 17 con el objeto de reemplazar el puerto
USB de una computadora por otro puerto serial o
RS232. Las características sobresalientes
de esta placa son las siguientes:
* Compatible con USB 1.1 y USB 2.0.
* Tensión de alimentación de 4,35V
a 5,25V (externa o tomada del propio puerto).
* Descripción del producto, número
de serie, PID y USB VID almacenados en una memoria
EEPROM externa.
* EEPROM programable en placa directamente desde
USB.
* Disponibilidad de las señales Tx, Rx, RTS
y CTS.
* Indicadores de transmisión y recepción
independientes.
Sobre el funcionamiento de la placa no hay mucho
que decir, ya que se ha descripto anteriormente
con el desarrollo del circuito integrado, aclarando
que, en este caso, para convertir los niveles TTL-RS232
se emplea un MAX232 y que también se incluye
una memoria EEPROM 93LC46 donde se pueden almacenar
datos de producto.
En la figura 18 se puede observar el diagrama de
circuito impreso propuesto, mientras que en las
figuras 19 y 20 se pueden observar detalles de instalación
de componentes en ambos lados de la placa. Por último,
en la figura 21 se puede observar la función
de cada terminal de los puertos RS232 y USB.
Resta ahora armar esta tarjeta e instalar el driver
para obtener el puerto COM virtual en
nuestra computadora, tema que veremos en la próxima
edición pero que Ud. puede bajar
de nuestra web: www.webelectronica.com.ar, haciendo
click en el ícono password e ingresando la
clave: USBRS232.
|