Protocolos de Comunicación
El objetivo de la comunicación
Lo fundamental de la comunicación de datos es resolver el problema de llevar la
información de un punto A hacia un punto B sin errores, utilizando sistemas de
comunicaciones con la codificación correspondiente para su transmisión. Para esto
utilizamos canales de comunicación que establecen la unión entre los puntos A y B.
En dichos puntos estarán los equipos transmisores y receptores de datos y sus
convertidores encargados de la codificación y decodificación. Los sistemas de
comunicación no responden ni reaccionan ante el contenido de la información. Un
componente importante en el sistema de comunicación es el protocolo de
comunicación.
Los modelos de comunicación
Comunicación entre dispositivos electrónicos
¿ Qué es un protocolo ?
El protocolo, se define como las reglas para la transmisión de la información entre
dos puntos. Un protocolo de comunicación de datos es un conjunto de reglas que
gobierna el intercambio ordenado de datos dentro de una comunicación.
Los elementos básicos de un protocolo de comunicación son :
a) Un conjunto de símbolos llamados conjunto de caracteres. Hay una
correspondencia entre cada carácter y los grupos de símbolos usados en el
canal de transmisión, que es determinado por el código.
b) Un conjunto de reglas para la secuencia y sincronización de los mensajes
construidos a partir del conjunto de caracteres. Muchos códigos estándar
con sus respectivas equivalencias de grupos de unos y ceros (bits) han sido
definidos con el paso de los años. El conjunto de reglas a seguir por el emisor y
el receptor propicia que haya un significado con secuencias permitidas y a
tiempo, entre los caracteres de control y los mensajes formados a partir de los
símbolos.
c) Los procedimientos para determinar cuando ha ocurrido un error en la
transmisión y cómo corregir el error. El conjunto de caracteres se formará
de un subconjunto con significado para las personas (usualmente
denominado como caracteres imprimibles) y otro subconjunto que transmite
información de control (usualmente denominado caracteres de control). La
detección de error y los procedimientos de corrección permiten la detección y
la recuperación ordenada de los errores causados por factores fuera del
control de la terminal en cada extremo.
Para que exista comunicación en ambos puntos al extremo de un canal se
debe emplear la misma configuración de protocolos.
Comunicaciones Digitales:
Protocolos seriales (uC)
¿Qué es la comunicación serial?
● La comunicación serial es un protocolo de comunicación
entre dispositivos que se incluye de manera estándar en
prácticamente cualquier computadora.
● La mayoría de las computadoras incluyen puertos seriales.
Actualmente puertos USB, aunque aún se encuentran
algunas con puerto serial RS-232.
● La comunicación serial RS232 es un protocolo común utilizado
por dispositivos y equipos usados en instrumentación. La
comunicación serial puede ser utilizada para adquisición de
datos, control, depuración de código, etc.
¿Qué es la comunicación serial?
● El concepto de comunicación serial permite la transmisión-
recepción bit a bit de un byte completo, este método de
comunicación puede alcanzar mayores distancias.
● Por el contrario, la especificación IEEE 488 (comunicación en
paralelo) determina que el largo del cable para el equipo no puede
ser mayor a 20 metros, con no más de 2 metros entre cualesquier
dos dispositivos; por el contrario, utilizando comunicación serial el
largo del cable puede llegar a los 1200 metros.
¿Qué es la comunicación serial?
● Típicamente, la comunicación
serial se utiliza para transmitir datos
en formato ASCII.
● Para realizar la comunicación se
utilizan 3 líneas de transmisión:
● (1) Tierra (o referencia),
● (2) Transmitir,
● (3) Recibir.
●Debido a que la transmisión es
asíncrona, es posible enviar
datos por un línea mientras se
reciben datos por otra.
¿Qué es la comunicación serial?
● Existen otras líneas disponibles
para realizar handshaking, o
intercambio de pulsos de
sincronización, pero no son
forzosamente requeridas.
¿Qué es la comunicación serial?
Las características más importantes de la comunicación serial son:
– la velocidad de transmisión
– El número de bits de datos
– El número de bits de paro
– Y si cuenta con bit de paridad.
Para que dos puertos se puedan comunicar, es necesario que las
características sean iguales.
Velocidad de transmisión (baud rate):
●Indica el número de bits por segundo que se transfieren, y se
mide en baudios (bauds).
● Por ejemplo, 300 baudios representa 300 bits por segundo.
● Cuando se hace referencia a los ciclos de reloj se está
hablando de la velocidad de transmisión.
● Por ejemplo, si el protocolo hace una llamada a 4800 ciclos de reloj,
entonces el reloj está corriendo a 4800 Hz, lo que significa que el
puerto serial está muestreando las líneas de transmisión a 4800 Hz.
Velocidad de transmisión (baud rate):
●Las velocidades de transmisión más comunes son de 115200,
9600, y 4800.
● Es posible tener velocidades más altas, pero se reduciría la
distancia máxima posible entre los dispositivos.
● Las altas velocidades se utilizan en comunicaciones en
paralelo cuando los dispositivos se encuentran uno junto al otro,
como es el caso de dispositivos GPIB / IEEE488.
Bits de datos:
● Se refiere a la cantidad de bits (palabra) en la transmisión.
● Cuando la computadora envía un paquete de información, el
tamaño de ese paquete no necesariamente será de 8 bits.
● Las cantidades más comunes de bits por paquete son 5, 7 y 8
bits.
● El número de bits que se envía depende en el tipo de
información que se transfiere.
Bits de datos:
● Por ejemplo, la representación de caracteres ASCII estándar
tiene un intervalo de valores que va de 0 a 127, es decir, utiliza 7
bits.
● Para ASCII extendido es de 0 a 255, lo que utiliza 8 bits.
● Si el tipo de datos que se está transfiriendo es texto simple
(ASCII estándar), entonces es suficiente con utilizar 7 bits por
paquete para la comunicación.
● Un paquete se refiere a una transferencia de un byte, incluyendo
los bits de inicio/paro, bits de datos, y paridad. Debido a que el
número actual de bits depende en el protocolo que se seleccione,
el término paquete se usar para referirse a todos los casos.
Bits de paro:
● Usado para indicar el fin de la comunicación de un solo paquete.
● Los valores típicos son 1, 1.5 o 2 bits.
● Debido a la manera como se transfiere la información a través
de las líneas de comunicación y que cada dispositivo tiene su
propio reloj, es posible que los dos dispositivos no estén
sincronizados. Por lo tanto, los bits de paro no sólo indican el fin
de la transmisión sino además dan un margen de tolerancia para
esa diferencia de los relojes.
● Mientras más bits de paro se usen, mayor será la tolerancia a
la sincronía de los relojes, sin embargo la transmisión será más
lenta.
Paridad:
● Es una forma sencilla de verificar si hay errores en la
transmisión serial.
● Existen cuatro tipos de paridad:
● par,
● impar,
● marcada y
● espaciada.
● La opción de no usar paridad alguna también está disponible.
Paridad:
En caso de habilitar la paridad par o impar, el puerto serial
fijará el bit de paridad (el último bit después de los bits de datos)
a un valor para asegurarse que la transmisión tenga un número
par o impar de bits en estado lógico alto.
● Por ejemplo, si la información a transmitir es 011 y la paridad es par,
el bit de paridad sería 0 para mantener el número de bits en estado
alto lógico como par.
● Si la paridad seleccionada fuera impar, entonces el bit de
paridad sería 1, para tener 3 bits en estado alto lógico.
Paridad:
● La paridad marcada y espaciada en realidad no verifican el
estado de los bits de datos; simplemente fija el bit de paridad en
estado lógico alto para la marcada, y en estado lógico bajo
para la espaciada.
●Esto permite al dispositivo receptor conocer de antemano el
estado de un bit, lo que serviría para determinar si hay ruido
que esté afectando de manera negativa la transmisión de los
datos, o si los relojes de los dispositivos no están sincronizados.
RS-232 (Estándar ANSI/EIA-232)
Es el conector serial hallado en las PCs IBM y compatibles.
Es utilizado para una gran variedad de propósitos, como
conectar un ratón, impresora o modem, así como
instrumentación industrial.
Gracias a las mejoras que se han ido desarrollando en las
líneas de transmisión y en los cables, existen aplicaciones en
las que se aumenta el desempeño de RS-232 en lo que
respecta a la distancia y velocidad del estándar.
RS-232 (Estándar ANSI/EIA-232)
RS -232 está limitado a comunicaciones de punto a punto entre
los dispositivos y el puerto serial de la computadora. El
hardware de RS-232 se puede utilizar para comunicaciones
seriales en distancias de hasta 50 pies.
● “1” lógico: -3v..-25v
● “0” lógico: +3v..+25v
● Mark: “1”
● Space: “0”
● Start bit: “0”
● Stop bit: “1”
Terminales del RS-232:
¿Qué es RS-422?
RS -422 (Estándar EIA RS-422-A) es el conector serial utilizado
en las computadoras Apple de Macintosh.
RS- 422 usa señales eléctricas diferenciales, en comparación
con señales referenciadas a tierra como en RS-232.
La transmisión diferencial, que utiliza dos líneas para transmitir
y recibir, tiene la ventaja que es más inmune al ruido y puede
lograr mayores distancias que RS-232.
La inmunidad al ruido y la distancia son dos puntos clave para
ambientes y aplicaciones industriales.
¿Qué es RS-485?
RS-485 (Estándar EIA-485) es una mejora sobre RS-422 ya que
incrementa el número de dispositivos que se pueden conectar
(de 10 a 32) y define las características necesarias para
asegurar los valores adecuados de voltaje cuando se tiene la
carga máxima.
Gracias a esta capacidad, es posible crear redes de dispositivos
conectados a un solo puerto RS-485.
¿Qué es RS-485?
Esta capacidad, y la gran inmunidad al ruido, hacen que este tipo
de transmisión serial sea la elección de muchas aplicaciones
industriales que necesitan dispositivos distribuidos en red
conectados a una PC u otro controlador para la colección de
datos, HMI, u otras operaciones.
RS-485 es un conjunto que cubre RS-422, por lo que todos los
dispositivos que se comunican usando RS-422 pueden ser
controlados por RS-485.
El hardware de RS-485 se puede utilizar en comunicaciones
seriales de distancias de hasta 4000 pies de cable.
¿Qué es handshaking?
●El método de comunicación usado por RS-232 requiere de una
conexión muy simple, utilizando sólo tres líneas: Tx, Rx, y GND.
●El esquema se basa en un intercambio establecido de datos o
señales los cuales indican al receptor o transmisor que la contra-
parte está preparada para recibir la información
● Aun y cuando este método es más que suficiente para la
mayoría de las aplicaciones, es limitado en su respuesta a
posibles problemas que puedan surgir durante la comunicación.
¿Qué es handshaking?
por ejemplo, si el receptor se comienza a sobrecargar de
información.
Es en estos casos cuando el intercambio de pulsos de
sincronización, o handshaking, es útil.
Las tres formas más populares de handshaking con RS-232:
– handshaking for software,
– handshaking por hardware, y
– XModem.