Ya hemos visto
en forma breve cómo se realiza una comunicación
serial, pero lo que se quiere es mandar un dato
a la computadora, y recordemos que las computadoras,
y en sí los dispositivos que se conectan
a ella, manejan los datos en forma de bytes, por
lo que debe de haber un medio para diferenciar cuándo
se van a trabajar los datos en forma de bytes y
cuándo en forma de bits. Es aquí cuando,
por fin, hace aparición el puerto serial,
que es el encargado de establecer si se recibe información
que hay que trabajarla por bytes o si se envía
información que hay que trabajar por bits.
Este puerto se localiza en la mayoría
de las computadoras y es conocido como COM, claro
que hay más de un puerto serial por lo
que generalmente se encontrará COM1, COM2
(el primero casi siempre dedicado al mouse y el
otro libre aunque esto puede ser modificado a
voluntad), aunque pueden ser más.
Hay que saber que existe una norma que se utiliza
para el manejo del puerto serial y aunque existen
variantes de esta norma la más general
es la llamada RS-232c. Esta norma define un sistema
en el cual dos dispositivos están interconectados
por un cable, del cual existen dos variantes de
terminales, DB9 y DB25.
En las figuras 2 y 3, observamos las características
de estas fichas.. Aún cuando la documentación
original del estándar no especifica un
conector en especial, la mayoría de las
computadoras comenzaron a utilizan el conector
DB-9 (fig. C) dado que 9 son los conectores que
se requieren para la comunicación asíncrona
(hablaremos de esto más adelante). En la
siguiente tabla se da la correspondencia de las
9 terminales en el DB-9 y el DB-25 y enseguida
se da una breve explicación de la función.
Transmisión de datos (TD).
Esta línea es utilizada para transmitir
datos desde el DTE (Data Terminal Equipment –
Equipo Terminal de Datos) al DCE (Data Carrier
Equipment – Equipo Transmisor de Datos).
Es mantenida en estado de 1 lógico cuando
nada se transmite. La Terminal comenzará
a transmitir cuando un 1 lógico esté
presente en las siguientes líneas:
Recepción de datos (RD).
Utilizada para recibir datos desde el DCE al DTE.
La terminal comenzará a transmitir cuando
un 1 lógico esté presente en las
siguientes líneas:
El estándar especifica que los niveles
de salida son -5 a -15 volt para el 1 lógico
y +5 a +15 volt para el 0 lógico, mientras
que los niveles de entrada son -3 a -15 volt para
un 1 lógico y +3 a +15 volt para un 0 lógico.
Esto asegura que los bits puedan ser leídos
correctamente aún con grandes distancias
entre la DTE y la DCE, especificados como 16.5
metros o 50 pies, aún cuando estas señales
soportan mayores distancias dependiendo de la
calidad del cableado y el blindaje.
Solicitud de envío (RTS).
En esta línea el DTE envía
una señal cuando está listo para
recibir datos del DCE. El DCE revisa esta línea
para conocer el estado del DTE y saber si puede
enviar datos.
Autorización de envío (CTS).
Aquí el DCE envía una señal
cuando está listo para recibir datos del
DTE.
Datos listos para enviar (DSR).
Cuando se está en 1 lógico
indica al DTE que el DCE está listo para
enviar datos.
Tierra señalada.
Esta es la tierra lógica que es
utilizada como punto de referencia por todas las
señales recibidas y transmitidas. Esta
señal es indispensable y debe de estar
presente para todas las comunicaciones.
Detector de Acarreo (CD).
En esta línea el DCE indica al
DTE que ha establecido una línea portadora
(una conexión) con un dispositivo remoto.
Datos listos para enviar (DTR).
Cuando esta línea está
en estado de 1 lógico se puede comenzar
a enviar y recibir datos. Cuando esta línea
está en nivel de 0 lógico, el DCE
terminará la comunicación.
Indicador de Terminado (RI).
Esta línea es utilizada, comúnmente,
por el software de comunicaciones cuando el dispositivo
no está en modo de auto responder para
indicarle que un dispositivo remoto está
llamando. Esta señal es optativa cuando
no se utiliza software que contestará la
llamada automáticamente.
Antes de empezar con el diseño de un probador
para establecer una comunicación con el
puerto serial, hay que mencionar que un bit faltante
en la Terminal de recepción puede provocar
que todos los bits siguientes sean cambiados o
recorridos, resultando en datos incorrectos al
convertirlos de regreso a una señal paralela
(es decir utilizando los ocho bits al mismo tiempo).
Por lo tanto, para conseguir una comunicación
serial confiable se deben prevenir estos errores
de bit que pueden emerger en formas distintas.
Existen dos métodos para corregir errores
de bit en comunicaciones seriales: la comunicación
síncrona y la comunicación asíncrona.
El método usado por las computadoras, es
el de la comunicación asíncrona.
La comunicación asíncrona consiste
en introducir un bit de inicio que indica el comienzo
de una transmisión de un dato. La posición
de cada bit puede ser determinada cronometrando
los bits a intervalos regulares, tomemos en cuenta
que los dos sistemas (transmisor y receptor) pueden
no estar sincronizados por una señal de
reloj, es decir que en este método las
terminales de la comunicación no están
sincronizadas por una línea de señal,
por eso es importante que ambos sistemas estén
configurados a la misma velocidad de transmisión.
Cuando el dispositivo receptor de la comunicación
recibe el bit de inicio, comienza un temporizador
de corto tiempo, y ya que los datos son una pequeña
cantidad de bits es difícil que el reloj
salga de sincronía.
Comúnmente en las computadoras se usan
datos de 7 a 8 bits que representan símbolos
o letras (caracteres). Estos caracteres son interpretados
como código ASCII (Código Estándar
Americano para el Intercambio de Información,
por sus siglas en inglés) para acomodar
todas las letras mayúsculas y minúsculas
del alfabeto, dando un total de 256 caracteres
de 8 bits, aunque algunas computadoras aún
usan el código ASCII con 127 caracteres
de 7 bits utilizando el octavo como bit de paridad,
esto lo explicaremos enseguida. Por convención,
el bit menos significativo de la palabra es enviado
primero y el más significativo al final.
Cuando se establece una comunicación,
el dispositivo transmisor codifica cada dato transmitido
agregándole un bit de inicio al principio
y 1 o 2 bits al final. En algunas ocasiones se
agrega un bit de paridad entre el último
bit del dato y el primer bit de paro, esto es
utilizado como verificación de integridad
de datos.
Pueden ser utilizados 5 tipos diferentes de bits
de paridad, los cuales son los siguientes:
-
Bit marcador de paridad (siempre
es un 1 lógico).
-
Bit de paridad de espacio
(siempre es un 0 lógico).
-
Bit de paridad par es puesto
en 1 lógico, si cuando al contar el número
de bits en la palabra el resultado es par.
-
Bit de paridad non es puesto
en 1 lógico, si cuando al contar el número
de bits en la palabra, el resultado es non.
-
Dato sin bit de paridad,
ó sin paridad, es cuando se elimina el
bit de paridad del dato.
Según se conforme el marco de datos es
la forma como se da referencia al marco mismo.
Con marco nos referimos a un carácter transmitido,
es decir el conjunto de bits que conforman a dicho
carácter.
Por ejemplo: Un dato de 8 bits, con paridad Non
y 1 bit de paro es conocido como 8N1 (ver figura
4). Otro factor importante de toda señal
serial asíncrona es la velocidad de comunicación,
que es la velocidad a la que los datos son transmitidos.
Las velocidades a las que se envía la información
comienzan en los 50 bps (bits por segundo) y casi
de manera estándar, se van duplicando hasta
los 384 000 bps.
|