Sie sind auf Seite 1von 8

Conectando un PIC al Puerto

Serie (RS232)
ELECTRNICA
etiquetas: tutoriales

FUENTE ORIGINAL DE ARCHIVO HTTP://WWW.NEOTEO.COM/CONECTANDO-UN-PIC-AL-PUERTOSERIE-RS232/

Por muy antiguo que esto pueda parecer, en la actualidad nos encontramos a
diario con aplicaciones autnomas que poseen un conector DB9 (o DB25) y que
se comunican a cualquier ordenador de mesa mediante el protocolo conocido en
forma popular como comunicacin por puerto serie. El propsito de este
artculo es ayudarte a construir un dispositivo autnomo con salida RS232 y que
ste sea capaz de comunicarse con un ordenador de mesa. Esto nos permitir, en
un futuro, utilizar el nuevo circuito integrado de Microchip: el MCP2200. Para
qu se utiliza ese circuito integrado? Muy sencillo: para adaptar una conexin
serie a USB. Dicho de otro modo: para reemplazar a todos esos cables RS232
USB que has comprado y no te han funcionado. Como decimos siempre, antes de
correr debemos aprender a caminar, y ste es el comienzo.
S, por supuesto! Claro que sabemos que el puerto serie ha quedado obsoleto y
ya no se encuentra fcilmente en el panel trasero de cualquier ordenador!
Adems, luego de haber realizado tantas experiencias mediante la
comunicacin USB Ordenador en diferentes artculos publicados en NeoTeo,
comenzar a hablar y traer a la mesa de trabajo una conexin mediante puerto
serie suena como un retroceso tecnolgico, como un viaje al pasado, como

un montaje retro. La explicacin de todo est en el sumario de este artculo. An


restan muchos aos para ver aplicaciones que se comuniquen a un ordenador
mediante el puerto serie, el clsico puerto COM donde se conectaba elratn o
el receptor de infrarrojos para comandar el Winamp desde la cama. Exacto, ese
conector DB9 macho que en ms de una oportunidad nos mataba la placa
madre del ordenador cuando comenzbamos a experimentar con l. Claro, al
dejar de funcionar este puerto ya no podamos utilizar el ratn y debamos apelar a
alguna tarjeta PCI que resolviera nuestras desafortunadas actividades cientficas.
Video en youtube
https://www.youtube.com/watch?v=8nh8C8U30CI

La mayora de las aplicaciones realizadas con microcontroladores que traspasan


la lnea del gadget sencillo, del juguete temporal o de la unidad autnoma de
trabajo, apuntan habitualmente al manejo de datos tiles que, de un modo u otro,
siempre se intenta llevar a un ordenador para su procesamiento. La inmensa
mayora de microcontroladores que hoy existen en el mercado y que tenemos a
mano para cacharrear y jugar un rato traen una unidad de comunicacin serie
en su interior. En estos ltimos aos, esta caracterstica, que permite comunicar
de manera muy eficaz a dosmicrocontroladores entre s, ha comenzado a
presentar un problema de hardware y conectividad al avanzar una creciente
desaparicin (casi en forma definitiva) de los conectores DB9 en los paneles
traseros de los ordenadores. Ahora todo es USB. La conexin serie por naturaleza
se ha trasladado alUniversal Serial Bus y esto se evidencia ms cuando pasamos
a hablar de ordenadores porttiles. Entonces qu hacemos con aquellas
aplicaciones que tenamos que se conectaban al puerto serie de un ordenador? El
mercado (chino, claro) nos trajo una lluvia de soluciones en forma de cables que
serviran para resolver el problema de las conexiones: un adaptador DB9 macho a
USB, la panacea universal en nuestras manos por unas pocas monedas. Qu
ms se le poda pedir a la tecnologa? Que venga con un LCD de 42 de regalo?
Sin embargo, la realidad fue muy cruel con la mayora de los incautos
compradores de estos cables cuando descubran que no funcionaban en absoluto,
y aquellos cables que lo hacan tenan las funciones muy limitadas y/o errticas.
Cuando apareci en escena el circuito integrado FT232 (de la empresa FTDI)
pareca que la luz asomaba en el horizonte y que rpidamente se convertira en la
solucin definitiva. De hecho, existen infinitas aplicaciones que lo incorporan como
solucin de comunicacin entre
el USART (Universal Synchronous Asynchronous Receiver Transmitter) de un
microcontrolador y el bus USB (Arduino es un ejemplo de ello). Sin embargo, su
pequeo encapsulado y su compleja configuracin ahuyentan a ms de un
aficionado novel que naufraga en el intento de implementar esta solucin. Para
muchos es la solucin ideal, para otros es un logro muy difcil de alcanzar. No
todos los aficionados tienen la misma habilidad manual para construir un

dispositivo basado en un encapsulado tan pequeo. Si desarrollar aplicaciones en


encapsulado DIP es toda una hazaa para muchos entusiastas, hablar de
manipular un encapsulado LQFP se traslada al mundo de la ciencia ficcin.

Cual si fuese un jugador muy astuto, y luego de observar este convulsionado, mal
definido, confuso y complejo escenario, Microchip decidi ocupar un espacio
dentro del mundo de los protocolos de comunicaciones con el circuito
integrado MCP2200: un conversor USART USB completo. Adems, ha provisto
al mercado de herramientas para configurar este componente de acuerdo a las
necesidades de cada aplicacin. Pero no avancemos an hacia l. Si todava no
hemos iniciado nuestro trabajo con un desarrollo por puerto serie, trabajar ahora
con el MCP2200 sera tan ilgico como comenzar a ver una pelcula desde la
mitad. Veramos un final glorioso pero no entenderamos por qu sucedieron todas
esas explosiones y quines eran esos muchachitos que lograron escapar justo a
tiempo (por supuesto, seran los buenos de la historia; siempre ganan los buenos.
Si conoces una pelcula donde ganen los malos, avsame).
De lleno al MAX232
El MAX232 (Maxim) es un circuito integrado utilizado para adaptar los niveles
requeridos en una conexin donde interviene un dispositivo que maneja niveles de
tensin TTL (nuestro microcontrolador, por ejemplo) y otro capaz de trabajar bajo
los parmetros de la norma EIA/TIA-232Ey las V.28/V.24. Expresado en lenguaje
de tensiones, los niveles TTL operan entre los 0 y 5Volts y la otra norma, conocida
en el mundo tcnico como RS-232 (Recommended Standard-232), utiliza
tensiones que van desde los -12Volts a los +12Volts. Este circuito integrado
(el MAX232) est especialmente diseado para trabajar en equipos que utilicen
bajos niveles de tensin (5Volts) y requiere de muy pocos componentes externos
para lograr un funcionamiento ptimo.

En su arquitectura interna, el MAX232 posee los accesorios necesarios para


obtener las tensiones que se requieren a ambos lados de los circuitos que enlaza
y cuenta con cuatro adaptadores-inversores de tensin: dos son utilizados para la
conversin TTL RS-232 y los otros dos para la operacin inversa. En la mayora
de las aplicaciones con microcontroladores se utilizan slo dos (uno de cada tipo),
pero cuando se lo emplea en aplicaciones especiales, como puede ser el caso de
redes RS-485, se agrega una conexin extra para controlar la prioridad de uso del
bus (RS-485). Es decir, la seal RTS (RequestTo Send = Peticin de envo) que
proviene desde el ordenador pasa por una unidad de recepcin delMAX 232 y se
entrega al controlador de bus RS-485 en niveles de tensin TTL.

En nuestro circuito hemos utilizado todas las unidades que componen


el MAX232 y que en alguna ocasin podemos llegar a utilizar. La placa realizada
para el montaje coincide en dimensiones y conexin con los zcalos reservados
en la entrenadora NeoTeo. Es decir, la placa est realizada con la intencin de
que pueda ser incrustada en la entrenadora y formar as un bloque nico, tal como
veremos ms adelante en los videos. Vale aclarar que por razones de costos, la
construccin de esta placa no ameritaba una construccin sobre un circuito
impreso de doble faz. Es por este motivo quedebemos alertarte sobre la falta de
una va en el dibujo ofrecido de ejemplo del circuito impreso. La unin de los
nodos de los diodos LEDs (que se encuentran todos unidos) deber conectarse
con el positivo de la alimentacin de esta placa. Este puente se notar al ver el
segundo video y, para facilitar tu trabajo, los puntos a unir estn indicados en el
dibujo inferior con color amarillo. Por supuesto, si deseas puedes construir tu
propio diseo de circuito impreso mejorando la ubicacin de los componentes
segn tu conveniencia y gusto.

Circuito impreso utilizado por nosotros

Aspecto final de la placa terminada


Los colores de los LEDs empleados en el montaje coinciden con los que hemos
observado en otras placas utilizadas para este propsito, no porque sepamos que
existe algn cdigo de colores que indique esta asignacin. Entonces, rojo
en recepcin (Rx) y verde en transmisin (Tx). Para las otras dos conexiones
auxiliares seleccionamos el color amarillo para diferenciar su activacin respecto a
los indicadores de trfico de datos. Todos estos indicadores visuales nos ayudarn
a apreciar el funcionamiento correcto de la placa. Por ltimo, tal como se observa
en las imgenes, la utilizacin deRTS y CTS se realizar mediante puentes
externos hasta la entrenadora, en caso de que la aplicacin lo requiera en algn
momento.

Qu vamos a hacer?
Empleando una sencilla metfora podramos decir que haremos un espejo de
datos. La explicacin es muy simple y fcil de comprender: utilizaremos en el
ordenador, al que nos conectaremos en supuerto serie, cualquier programa hbil
para enviar y recibir datos mediante esta conexin. Podemos utilizar, por ejemplo,
el Hyperterminal (usuarios de Windows). En la mayora de los casos, los
programas utilizados para crear, simular, compilar y depurar (debug) los
contenidos que luego volcaremos sobre un PIC traen incorporado un soft
adicional que permite realizar de manera muy sencilla este trabajo de
comunicacin serie con un terminal remoto conectado a la salida de un
puertoCOM (a eleccin) del ordenador. Nosotros, como vers en los videos,
utilizamos el que trae Proton (PIC Basic).
Video
https://www.youtube.com/watch?v=yw-mFON6Skg

La mecnica de funcionamiento del programa cargado en el PIC se sustenta en


nueve puntos fundamentales. Por supuesto, estos mismos conceptos pueden
aplicarse a otros lenguajes de programacin. Nosotros lo evaluamos y te lo
mostramos en funcin del lenguaje Basic. Estos puntos son:
1.
2.
3.
4.
5.
6.

Indicar PIC y velocidad de reloj.


Indicar al sistema que utilizaremos Bootloader.
Inicializar el LCD y declarar las condiciones de uso de la USART.
Declarar las variables que usaremos en el programa.
Colocar el PIC a la escucha (HSERIN).
Si al completarse 1 segundo no se reciben datos, se salta a la leyenda de espera
de datos.
7. Se reciben datos y se muestran en el LCD (PRINT).
8. Los datos que se reciben se transmiten hacia el ordenador (HSEROUT).
9. Se reinicia el ciclo.
Observa que en tan slo nueve procedimientos bsicos hemos construido,
como te mencionamos antes, un espejo de datos: los datos se reciben, se
muestran y se devuelven al origen, tal como hara un espejo con cualquier imagen
que se refleja en l. Los puntos enumerados estn indicados de manera clara en
la siguiente imagen:

La velocidad de transmisin y recepcin de datos se realiza a 38400 bps. Ten en


cuenta de ingresar al panel de control de tu sistema operativo y controlar que esta

velocidad coincida con la que est definida en el puerto serie de tu ordenador. Por
defecto, siempre est configurada en 9600 bps. y t debers cambiarla. De lo
contrario, cuando realices el programa para tu microcontrolador, coloca en la
declaracin HSERIAL BAUD el valor 9600. El resto de los parmetros deber
coincidir con el software que utilices para enviar los datos a travs del puerto serie.
En el ltimo video te mostramos que la longitud del texto a enviar es de 16
caracteres y que ocupar slo el primer rengln del LCD. Hola Neotenianos es
un texto que ocupa esa cantidad de espacios. El segundo rengln est reservado
para el mensaje de espera de datos (punto 6 en el listado del programa). Por
ltimo, tambin vale mencionar la demostracin del encendido de los LEDs
indicando el trfico de datos. Esto es de una utilidad enorme a la hora de resolver
problemas de conexin. Estar recibiendo los datos? Luego de mostrarlos, los
estar enviando o se dispersa hacia otro lugar el programa? Estos son
interrogantes que los LEDs te resuelven de manera muy elemental (adems de
comportarse como un atractivo visual muy piola).
Resumiendo
Utilizamos la entrenadora NeoTeo para realizar comunicaciones entre el PIC y
un ordenador mediante el uso de su puerto serie. La conexin entre ambos se
realiza con un circuito integrado MAX232 que ayuda a adaptar niveles de
tensin entre el ordenador y el PIC. Cargamos el firmware del PIC mediante el
sistema Bootloader (ya empleado en artculos anteriores), y en el ordenador
utilizamos cualquier software de comunicacin serial, el que ms cmodo nos
resulte. Configuramos en el ordenador la misma velocidad de transferencia de
datos que en el PIC y comenzamos a experimentar la conectividad por puerto
serie. Existen algunos programas dedicados a monitorear de manera profunda la
actividad de los puertos del ordenador. Si dispones de alguno de ellos puedes
utilizarlo para probar a fondo esta aplicacin. Para nuestro propsito, la
implementacin del MCP2200, podemos considerar que hemos dado el primer
paso. Ya estamos caminando. No te pierdas la carrera hacia el USB.

Das könnte Ihnen auch gefallen