COMUNICACION CON EL PUERTO SERIAL - PARTE 2
PROBADOR DEL PUERTO SERIAL

Ahora sabemos cómo se realiza una comunicación serial, es decir, la forma de mandar información en forma seriada de un dispositivo a otro. También sabemos lo esencial de la norma que se usa para establecer una comunicación serial, y cómo se aplica en el puerto serial. Sin embargo, nuestro propósito es llevar la teoría a la práctica y lo más sencillo con lo que podemos empezar, es creando un circuito que nos muestre cómo se realiza la comunicación serial; mandando información a la computadora por medio del puerto serial. Obviamente será cualquier información, en nuestro caso ceros y unos lógicos solamente. Usaremos el modo simplex (sólo enviaremos datos en forma serial), para esto armaremos el circuito que se ve en la figura 5.

DIAGRAMA DEL PROBADOR

A continuación explicaremos las partes que conforman nuestro probador del puerto serial.

Antes que nada recordemos que la comunicación serial en una computadora se realiza de manera asíncrona, por lo que debemos hacer que la información que vamos a transmitir viaje a la misma “velocidad” que se maneja en la computadora, esta puede variar pero la más comercial es 9600 bits/seg. ¿Pero y qué son 9600 bits/seg?, pues es la cantidad de bits que se envían en un segundo, en nuestro caso se envían 9600 bits en un segundo, o lo que es igual, enviaremos un bit en 104.16µs donde µs significa micro segundos (0.00010416 segundos).

La forma de lograr enviar 9600 bits en un segundo es utilizando el temporizador 555, que es, por así decirlo, el pionero de los temporizadores a la hora de establecer modos síncronos o asíncronos en un circuito. El temporizador 555 no es más que un circuito integrado con ocho pines (terminales o “patitas”, pero nosotros los denominaremos pines) como se muestra en la figura 6.

Para enviar bits de manera constante utilizaremos la configuración de modo astable (figura 7) en el 555. Las resistencias R1 y R2, y el capacitor C2 son los elementos de los que dependerá el 555 para lograr una frecuencia que trabaje a 9600Hz, esto es que por cada segundo que pasa se trabaja con 9600 periodos (T) con un tiempo de 104.16µseg cada uno, éste es el tiempo que necesitamos para poder transmitir un bit en la comunicación serial que vamos a establecer.

Usaremos las siguientes fórmulas para proponer los valores de R1, R2 y C2:

t1= 0.693(R1 + R2) C2
t2= 0.693(R2 C2)

En donde: t1= 0.60T con T= 1/f= 104.16 mseg. C2= 0.01µF (micro farads) o 10pf (pico farads)

Aclaremos que t1 y t2 son los tiempos en el que se forma un período T para generar una señal parecida a la representación de la figura 8. En donde t1 va desde un nivel bajo de voltaje a uno alto, y t2 va de un nivel alto de voltaje a uno bajo, y así periódicamente.

Haciendo las operaciones y los despejes necesarios nos quedan los siguientes valores.

R1= 3006.25ohm
R2= 6012.59ohm

Estos valores los aproximaremos a un valor de resistencia que sea comercial, en nuestro caso usamos una de 2.2kohm?para R1 y otra de 5.6kohm?para R2. C2 es un capacitor cerámico de 100pF. En la figura 7 podemos ver que también hay un led conectado al pin 3, éste es opcional y lo usamos para verificar el correcto funcionamiento del temporizador 555, para esto debe usarse una frecuencia de 1Hz lográndolo con solo cambiar C2 por un capacitor de 100µF; no olvide colocar una resistencia antes del led para que éste no se dañe.

Ya tenemos la frecuencia necesaria para trabajar, ahora lo que buscamos es enviar la información bit por bit, para esto usaremos el circuito integrado 74LS165N, en cual cuando entran ocho bits al mismo tiempo se irán desplazando a la salida de dicho circuito uno por uno. El circuito 165 se puede observar en la figura 9. Del pin 11 al pin 14 y del pin 3 al pin 6 (de P0 a P7) entrarán los ocho bits que conformarán un byte de dato, esto sucede al mismo tiempo al estilo de una comunicación en paralelo (8 bits al mismo tiempo). Después en el pin 9 (Q7) la información saldrá bit por bit, empezando desde el bit menos significativo (el primero contando de derecha a izquierda).

La señal que genera el 555 entra en el pin 15 (CP2).

En el diagrama de la figura 10 mostramos la forma de conectar este circuito, recuerde que la señal del 555 sale del pin 3 e irá conectada al pin 15 del 165. Para introducir un dato de ocho bits al circuito 165 utilizaremos un dip switch (en el diagrama está en color rojo) de ocho terminales con el cual controlaremos el dato enviado, estará en la posición ON para enviar un 1 lógico y del número que le corresponde para un 0 lógico. El pin 2 estará conectado a tierra y el pin 10 a Vcc. Analizando el diagrama notamos que el pin 7 no va conectado, simplemente no lo usaremos, y ahora bien lo que resalta es el pin 1 que va conectado a Vcc por medio de R13, y a un botón pulsador (o un switch) que se dirige a tierra. La función de este pin es la de verificar si se ha de registrar un corrimiento de bits o no, si permanece en 1 lógico no habrá un 1 lógico en la salida, pero si esto cambia a un cero lógico las entradas P0 a P7 admitirán los bits que se propongan en el dip switch. Este 0 lógico se logrará presionando el botón pulsador, al soltarlo saldrán los bits del dato por el pin 9.

Sólo hace falta tener un bit de inicio y otro de paro, como ya sabemos el bit de inicio debe ser un 0 lógico y el de paro un 1 lógico, si usamos las propiedades del circuito 165 podemos generar estos bits.

Pues bueno, como siempre hay un 1 lógico en esta entrada sencillamente es éste el que utilizaremos como bit de paro. Para introducir un bit de inicio que indique el comienzo del dato, sólo tendremos que presionar el botón, pero será necesario utilizar algunas compuertas lógicas para poder conservar la integridad del dato. En la figura 11 se muestra como serán conectadas estas compuertas al botón.

En el diagrama se muestra una compuerta AND (74LS08N), una compuerta OR (74LS32N) y una compuerta NOT (74LS04N) para generar un bit de inicio sin alterar la salida del dato 165. Podemos ver que utilizamos un led para verificar el correcto funcionamiento de nuestro circuito, recordemos que para que sea visible el 555 debe de generar una señal de 1Hz. Lo que sucede es que mientras el botón no sea presionado habrá un 1 lógico y la salida del 165 será también 1 lógico (esto se muestra en la figura 7 con color rojo). Mientras tanto, si el botón es presionado habrá un cero lógico que indicará el inicio de una transmisión (esto se representa de color azul en la figura 11) y cuando soltemos el botón iniciará el corrimiento de bits en el 165.

Si prestamos atención, las compuertas logran que lo primero que haya en la salida de datos, (que se da a la salida de la compuerta AND) sea el bit de inicio. Después de soltar el botón, saldrán los bits del dato enviado, que también pasarán por las compuertas, sin sufrir alteración alguna. Como ya hemos visto para establecer una comunicación serial se debe hacer uso del protocolo RS-232 pero el circuito 165 usa tecnología TTL (lógica transistor-transistor), esto quiere decir que las normas usadas para este tipo de tecnologías son diferentes al estándar RS-232, es decir llevar los niveles lógicos a los que son usados en el puerto serial. Por eso haremos uso de un último circuito integrado, el más importante, el MAX 232 (figura 12), conectado como se muestra en la figura 13. Observe que hay pines sin usar, en realidad de setos sólo necesitaremos el pin 13 y el 14 para conectarlos al puerto serial de la computadora, y no olvidemos conectar el pin 16 a Vcc y el 15 a tierra.

Los capacitores C4 a C6 son de 1µF y son utilizados para alcanzar los voltajes necesarios para trabajar con la norma RS-232. Los datos que saldrán de la compuerta AND entrarán al MAX 232 por el pin 11 o el pin 10, nosotros usamos el pin 11, el pin 9 y 12 son salidas de datos a circuitos TTL o CMOS (Lógica Metal-Oxido-Semiconductor con transistores complementarios), éstas no las usaremos, pues recordemos que sólo enviaremos datos, no los recibiremos. En la figura 14 se muestra un conector DB-9 con las conexiones correspondientes que debemos hacerle al extremo que irá conectado al MAX 232, el otro lado lo conectaremos al puerto serial.

Vemos que la terminal 1, 6 y 4 están conectadas entre sí; así como la terminal 8 y 7, esto es para simular que hay un módem conectado y tener lista la terminal que recibirá los datos. La terminal 2 va al pin 14 del MAX 232 y la terminal 3 al pin 13. Recordemos que el protocolo RS-232 indica que la terminal 2 del DB-9 se utiliza para recibir datos; y aunque no enviaremos datos conectemos también la Terminal 3, que es la encargada de hacerlo, solo para familiarizarse con la conexión de las terminales. Por último veamos que la terminal 5 va a tierra.

Lo único que falta es enviar un dato a la computadora; aunque nosotros le proporcionaremos en un futuro un pequeño programa para poder visualizar los datos que envíen a su computadora. Sería bueno que, mientras tanto, usaran la hyperterminal que hay en windows o usar el programa puertocom. exe, el cual puede bajar gratuitamente en nuestra página web: www.webelectronica.com.ar

Debe digitar la clave puerto.

Sería recomendable añadir que primero se arme todo el circuito y al final se coloque el circuito integrado MAX-232 para evitar dañarlo, y si por ejemplo el circuito es armado en un protoboard se recomienda colocar un capacitor cerámico de 10pF para eliminar señales “parásitas” que afecten a la señal del 555. En la figura 15 se muestra la interpretación de los circuitos integrados de las compuertas lógicas.

 
MATERIAL
 
Autores: Francisco Levi Méndez Delgado - Javier Zaragoza Flores y
Adán Borja Cadena
FIGURA 5
 
FIGURA 6
 
FIGURA 7
 
FIGURA 8
 
FIGURA 9
 
FIGURA 10
 
FIGURA 11
 
FIGURA 12
 
FIGURA 13
 
FIGURA 14
 
FIGURA 15