COMUNICACION CON EL PUERTO SERIAL - PARTE 1
COMO COMANDAR DISPOSITIVOS CON UNA PC

Los seres humanos nos comunicamos en una forma ordenada, haciendo uso de ademanes, fonemas o símbolos; un emisor da un mensaje con ciertas reglas creando un tipo de código que un receptor será capaz de decodificar. Estos principios también son necesarios para poder comunicar dispositivos electrónicos entre sí, o entre una computadora y dispositivos electrónicos periféricos. En este artículo veremos cómo se puede comunicar a una computadora con diferentes aparatos electrónicos a partir del puerto serial.

COMUNICACION SERIAL

La comunicación serial se establece cuando un dato se transmite bit por bit, para verlo más claro hay que entender primero que las computadoras manejan la información por bytes, es decir un grupo de bits (8, 16, 32), estos bits son representados con ceros lógicos y unos lógicos, ya explicaremos por que ceros y unos, por ejemplo 00110011 es un byte de ocho bits o un dato de ocho bits. Ahora bien, para lograr la comunicación serial un byte se transmite bit por bit, un cero o un uno, por medio de un canal, generalmente un alambre de cobre.

Los bits que son transmitidos lo hacen cada determinado tiempo hasta formar un byte (figura 1). Hay que tener en cuenta que los datos en una comunicación serial pueden ser transmitidos de tres distintas maneras:

  • Modo Simplex en el que la transmisión de datos es en un solo sentido, solo se envían datos del emisor al receptor.

  • Modo Half Duplex en el que la transmisión de datos se realiza en ambos sentidos, se envían datos del emisor a receptor y viceversa, pero no al mismo tiempo.

  • Modo Full Duplex donde la transmisión de datos se realiza en ambos sentidos al mismo tiempo, se envían datos tanto como se reciben por dos líneas diferentes.

Hay que recordar que las computadoras manejan bytes para trabajar, por lo que debe de haber un medio por el cual se comunican los datos.

 
NORMA RS-232
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:

  • Autorización de envío.
  • Terminal de datos lista.
  • Datos listos para enviar.
  • Detector de Acarreo.

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:

  • Autorización de envío.
  • Terminal de datos lista.
  • Datos listos para enviar.
  • Detector de Acarreo.

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.

 
Continúa...
Autores: Francisco Levi Méndez Delgado - Javier Zaragoza Flores y
Adán Borja Cadena
FIGURA 1
 
FIGURA 2 - 3
 
FIGURA 4
 
TABLA 1
 
 
 
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES