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.
|