Está en la página 1de 7

Comunicación Serie

La comunicación en serie es un método comúnmente utilizado para intercambiar datos


entre ordenadores y dispositivos periféricos. La transmisión serie entre el emisor y el
receptor está sujeta a protocolos estrictos que proporcionan seguridad y fiabilidad y
han llevado a su longevidad. Muchos dispositivos, desde ordenadores personales
hasta dispositivos móviles, utilizan la comunicación en serie.

Tipos de interfaces de comunicación serie


La interfaz serie es responsable de codificar los bits de un número binario. Realiza
esta tarea centrándose en la ubicación "temporal" de los bits en el cable.
El índice de reloj es el mecanismo que impone el funcionamiento eficiente de los
dispositivos serie. Un reloj defectuoso puede conducir a resultados inesperados, y
cada dispositivo tiene una señal de reloj diferente. Los protocolos de comunicación
serie se definen ampliamente como síncronos o asíncronos. En esta unidad
trabajaremos la comunicación asíncrona, dejando la síncrona para la siguiente unidad.
A continuación, se deja un gráfico de comunicación serie

Interfaz serie sincrónica


Una interfaz serie sincrónica utiliza un solo bus de CPU que comparte la señal del reloj
y la transmisión de datos. Esto hace que la transferencia de datos sincrónica sea más
rápida que la alternativa. No hay preocupaciones sobre las velocidades en baudios
que no coinciden y se necesitan menos líneas de E/S para conectar los dispositivos.
Ejemplos de interfaces sincrónicas son SPI e I2C.

Interfaz serie asincrónica


Una interfaz serie asíncrona funciona sin una señal de reloj externa. Su
funcionamiento está controlado por estos cuatro parámetros:

• Control de la tasa de baudios;


• Control del flujo de datos;
• Control de errores;
• Control de transmisión y recepción.
Cuando la estabilidad en la comunicación es importante, se prefieren los protocolos
asincrónicos. También son adecuados para implementar la transmisión de datos a
larga distancia. RS232, RS422 y RS485 son ejemplos de protocolos asincrónicos.

¿Cómo funciona la comunicación Serie?


La comunicación serie es utilizada por microcontroladores y microprocesadores
modernos para la transferencia de datos internos y externos. Veamos un ejemplo
simple e ilustrativo de enviar un archivo desde su ordenador portátil a un teléfono
inteligente. Probablemente lo envíe utilizando el protocolo WiFi o Bluetooth.
Establecer una comunicación serie requiere estos pasos:

• Crear una conexión.


• El portátil realizará una búsqueda de dispositivos cercanos y proporcionará una
lista de los que ha descubierto.
• Seleccione el dispositivo con el que desea comunicarse.
Su teléfono inteligente debe estar emparejado para completar la conexión. El software
funciona con los valores predeterminados, por lo que no necesita configurar los
parámetros manualmente. Hay cuatro parámetros que afectan la comunicación:
velocidad de transmisión, selección de bits de datos (trama), bit de inicio-parada y
paridad.

Velocidad en baudios
La velocidad en baudios se refiere a la velocidad de transmisión promulgada entre el
emisor y el receptor. Se expresa en bits por segundo. Algunas velocidades de
transmisión comúnmente utilizadas son 1200, 2400, 4800, 9600 y 57600.
Tanto el emisor como el receptor deben configurarse con la misma velocidad en
baudios. En este caso, es su ordenador portátil y en el dispositivo móvil.
Nota: Una velocidad de transmisión más alta conduce a una transmisión de datos más
rápida.

Que es un puerto Serie


Un puerto es el nombre genérico con que denominamos a los interfaces, físicos o
virtuales, que permiten la comunicación entre dos ordenadores o dispositivos.
Un puerto serie envía la información mediante una secuencia de bits. Para ello se
necesitan al menos dos conectores para realizar la comunicación de datos, RX
(recepción) y TX (transmisión). No obstante, pueden existir otros conductores para
referencia de tensión, sincronismo de reloj, etc.
Por el contrario, un puerto paralelo envía la información mediante múltiples canales de
forma simultánea. Para ello necesita un número superior de conductores de
comunicación, que varían en función del tipo de puerto. Igualmente existe la
posibilidad de conductores adicionales además de los de comunicación.
Históricamente ambos tipos de puertos han convivido en los ordenadores,
empleándose los puertos paralelos en aquellas aplicaciones que requerían la
transmisión de mayores volúmenes de datos. Sin embargo, a medida que los
procesadores se hicieron más rápidos los puertos de serie fueron desplazando
progresivamente a los puertos paralelos en la mayoría de aplicaciones.
Un ordenador convencional dispone de varios puertos de serie. Los más conocidos
son el popular USB (universal serial port) y el ya casi olvidado RS-232 (el de los
antiguos ratones). Sin embargo, dentro del ámbito de la informática y
automatización existen una gran cantidad adicional de tipos de puertos serie, como por
ejemplo el RS-485, I2C, SPI, Serial Ata, Pcie Express, Ethernet o FireWire, entre otros.
En ocasiones veras referirse a los puertos de serie como UART. La UART (universally
asynchronous receiver/transmitter) es una unidad que incorporan ciertos
procesadores, encargada de realiza la conversión de los datos a una secuencia de bits
y transmitirlos o recibirlos a una velocidad determinada.
Por otro lado, también podéis oír el término TTL (transistor-transistor logic). Esto
significa que la comunicación se realiza mediante variaciones en la señal entre 0V y
Vcc (donde Vcc suele ser 3.3V o 5V). Por el contrario, otros sistemas de transmisión
emplean variaciones de voltaje de -Vcc a +Vcc (por ejemplo, los puertos RS-232
típicamente varían entre -13V a 13V).
Antes de conectar dos sistemas debemos comprobar que los voltajes empleados son
compatibles. En caso de no serlo, necesitaremos un subsistema que adapte los
niveles de la señal, o podemos dañar alguno de los dispositivos.

Arduino y el puerto serie


Prácticamente todas las placas Arduino disponen al menos de una unidad UART. Las
placas Arduino UNO y Mini Pro disponen de una unidad UART que operan a nivel TTL
0V / 5V, por lo que son directamente compatibles con la conexión USB. Por su parte,
Arduino Mega y Arduino Due disponen de 4 unidades UART TTL 0V / 5V.
Los puertos serie están físicamente unidos a distintos pines de la placa Arduino.
Lógicamente, mientras usamos los puertos de serie no podemos usar como entradas o
salidas digitales los pines asociados con el puerto serie en uso.
En Arduino UNO y Mini Pro los pines empleados son 0 (RX) y 1 (TX). En el caso de
Arduino Mega y Arduino Due, que tienen cuatro puertos de serie, el puerto serie 0 está
conectado a los pines 0 (RX) y 1 (TX), el puerto serie 1 a los pines 19 (RX) y 18 (TX) el
puerto serie 2 a los pines 17 (RX) y 16 (TX), y el puerto serie 3 a los pines 15 (RX) y
14 (TX).
Muchos modelos de placas Arduino disponen de un conector USB o Micro
USB conectado a uno de los puertos de serie, lo que simplifica el proceso de conexión
con un ordenador. Sin embargo, algunas placas, como por ejemplo la Mini Pro,
prescinden de este conector por lo que la única forma de conectarse a las mismas es
directamente a través de los pines correspondientes.
No debemos acostumbrarnos a usar el puerto serie si realmente no necesitamos
comunicar con el ordenador. Las librerías empleadas para el uso de puerto serie
ocupan un tamaño considerable, y sólo debemos emplearlas si realmente las
necesitamos. Además, supone inhabilitar de forma innecesaria los pines digitales
asociados.

Instrucciones para utilizar la comunicación serie con Arduino


A continuación, se dejará una tabla con las instrucciones que deben ser llamadas en el
código, para utilizar la comunicación serie en nuestro Arduino. Las mismas se
encuentran dentro de una librería, la cual se explicará más adelante.
Instrucciones Descripción

Establece la velocidad de la UART en baudios para la transmisión serie.


Serial.begin() También es posible configurar el número de bits de datos, la paridad y los
bits de stop. Por defecto es 8 bits de datos, sin paridad y un bit de stop.

Serial.read() Lee el primer byte entrante del buffer serie.

Escribe datos en binario sobre el puerto serie. El dato es enviado como


Serial.write()
un byte o serie de bytes.

Imprime datos al puerto serie como texto ASCII. También permite


Serial.print()
imprimir en otros formatos.

Da el número de bytes (caracteres) disponibles para leer en el puerto


Serial.available() serie. Estos son datos que han llegado y se almacenan en el buffer serie,
el cual tiene un tamaño de 64 bytes.

Serial.find() Lee datos del buffer serie hasta encontrar el string buscado.

Serial.parseInt() Busca el siguiente entero válido en el stream de datos del puerto serie.

Serial.readBytes() Lee datos del buffer serie y lo guarda en una variable buffer.

Configura el máximo de milisegundos de espera para la lectura del puerto


Serial.setTimeout()
serie. Por defecto es un segundo.

Lee caracteres del buffer serie y los guarda en un string. La función


Serial.readString()
termina cuando se produce un timeout.
Monitor Serie
Para realizar la conexión mediante puerto serie únicamente es necesario conectar
nuestra placa Arduino empleando el mismo puerto que empleamos para programarlo.
A continuación, abrimos el IDE de Arduino y hacemos click en el “Monitor Serie” como
se indica en la imagen. El código muestra lo que tiene guardado la variable “valor”.

El monitor de puerto serie es una pequeña utilidad integrada dentro de IDE que nos
permite enviar y recibir fácilmente información a través del puerto serie. Su uso es muy
sencillo, y dispone de dos zonas, una que muestra los datos recibidos, y otra para
enviarlos. Estas zonas se muestran en la siguiente imagen.
Protocoles serie asíncrona
Se dejará un breve resumen de los protocolos de comunicación seria asíncrona mas
utilizados.

Protocolo RS232
RS232 es el primer protocolo serie y fue desarrollado para conectar módems a
máquinas de teletipo. El RS significa Estándar Recomendado y fue presentado
inicialmente por la EIA (Electronic Industries Alliance). La organización encargada de
especificar estándares ahora se conoce como TIA ( Telecommunication Industry
Association).
Con el protocolo RS232, puede conectar un transmisor a un solo receptor. El estándar
se usa en módems, el ya familiar mouse de ordenador y dispositivos de control
numérico computarizado (CNC).
El protocolo RS232 admite longitudes de cable de hasta 50 pies y proporciona los
medios para implementar la transmisión full-duplex a velocidades de hasta 1Mbps.
Los puertos serie pueden emplear el protocolo RS232. Quizás le interese saber cómo
los bytes de datos almacenados en la memoria de un dispositivo se convierten en bits
binarios adecuados para la transmisión en serie. Esta hazaña se logra usando un chip
interno dentro del puerto serie. El chip es un Transmisor Receptor Asíncrono Universal
(UART) que puede convertir los bytes de datos paralelos en datos bit a bit para la
transmisión en serie.

Conexión RS232 Cableada


El puerto serie RS232 estándar contiene nueve pines y puede tener conectores macho
o hembra. Una versión actualizada del protocolo se llama RS232C y es compatible con
todas las características de RS232. RS232C tiene 25 pines en lugar de 9, pero solo se
usan tres pines para conectar dispositivos terminales.
Interfaz RS422
El protocolo RS422 ofrece una capacidad extendida al implementar la comunicación
serie. Se pueden conectar hasta diez transmisores y diez receptores a través de un
solo bus con esta interfaz serie de caída obligatoria. Los datos se transmiten utilizando
una configuración diferencial que emplea dos cables de par trenzado. RS422 admite
velocidades de transmisión de hasta 10 Mbps con una longitud máxima de cable de
4000 pies.

Interfaz RS485
El protocolo RS485 es el protocolo serie preferido utilizado en implementaciones
industriales. Con este protocolo, puede diseñar una configuración diferencial que
comprenda hasta 32 controladores de línea y 32 receptores. Solo un transmisor puede
estar activo en cualquier momento y se conoce como controlador de línea.

Nota: Las conexiones deben terminarse manualmente cuando se usan los protocolos
RS232 o RS485.
La comunicación a larga distancia se beneficia del uso de protocolos cableados
asíncronos. El principal inconveniente son los costos de instalación que pueden ser
muy altos cuando se necesitan conectar más transmisores y receptores.

También podría gustarte