Una guía detallada de la transmisión en serie

¿Eres un principiante que busca una visión de la comunicación en serie? Si es así, entonces has aterrizado en la página correcta. Este artículo te llevará a través de una detallada introducción de la comunicación en serie o quieres entender mejor para que necesitas un convertidor lógico, sus tipos y cómo puedes implementarla usando Arduino.

¿Qué es la comunicación en serie?

La comunicación en serie es una transferencia bidireccional de datos entre un transmisor y un receptor, utilizando un solo canal de comunicación. En palabras simples, es la transferencia de bits entre dos partes, a través de un solo cable. La parte especial de la comunicación en serie es que los bits se transfieren uno tras otro, lo que significa que un solo bit se transmite en un intervalo de tiempo.

Hay ciertos parámetros que deben ser entendidos antes de que avancemos hacia el conocimiento de cómo funciona la comunicación en serie. Aquí hay una breve explicación de estos parámetros:

Baud Rate

La tasa de baudios es una medida del número de bits transmitidos en un segundo. Nos permite medir la velocidad de transmisión, es decir, una mayor tasa de baudios significa que la transmisión es más rápida porque un mayor número de bits viajan del emisor al receptor.

Parity Bits

Hay cuatro tipos de bits de paridad: impares, pares, espaciados y marcados. Se utilizan para la detección y corrección de errores en la comunicación en serie.

Stop Bits

Los bits de parada indican el final de un paquete. Como la transmisión de los bits es continua, estos bits actúan como marcadores entre los sucesivos paquetes de información.

File:Serial frame.png - Wikimedia Commons

¿Cómo funciona la comunicación en serie?

La comunicación en serie requiere dos dispositivos en serie: un emisor y un receptor. Ambos dispositivos deben tener una clavija de transmisión (transmisor) y una clavija de recepción (receptor) y la clavija de transmisión del transmisor debe estar conectada a la clavija de recepción del dispositivo receptor.

La comunicación en serie puede configurarse de tres maneras diferentes: simplex, half-duplex y full-duplex. Estas configuraciones tienen los mismos elementos (emisor, receptor y canal de comunicación), pero difieren entre sí. ¿Cómo? Averigüémoslo.

Simplex

El simplex implica una comunicación unidireccional, es decir, el emisor sólo puede enviar señales al receptor y no recibir nada. Un ejemplo clásico de simplex es la radio donde sólo la estación de radio transmite señales y los oyentes las reciben. Los oyentes no pueden responder a la estación de radio.

Semi-Duplex

Este modo de transmisión es una comunicación parcial de dos vías en la que un dispositivo puede enviar y recibir señales pero no al mismo tiempo. Cuando el emisor transmite una señal al receptor, éste no puede responder al mismo tiempo. Un ejemplo de medio dúplex es un walkie talkie, formalmente conocido como radio de dos vías donde sólo puede hablar una persona a la vez, la otra persona tiene que esperar hasta que la primera termine de hablar.

Full-Duplex 

El dúplex completo es una comunicación bidireccional entre un emisor y un receptor en la que ambas partes pueden enviar y recibir señales al mismo tiempo. Las llamadas de teléfonos móviles son el mejor ejemplo de una configuración full-duplex

Comunicación en serie vs. en paralelo

Ahora que sabes lo que es la comunicación en serie, hablemos de la comunicación paralela. El envío de información de un bit a la vez se llama comunicación en serie y el envío de los mismos lado a lado, al mismo tiempo se denomina comunicación paralela. Usando la comunicación paralela, puedes enviar más cantidad de bits al mismo tiempo, lo que significa que puedes lograr una mayor velocidad en baudios.

Dado que la comunicación paralela permite que se transmitan múltiples bits al mismo tiempo, requiere más cantidad de cables, por lo que es costosa en comparación con la comunicación en serie. Un ejemplo de comunicación en serie es la transmisión de datos entre dos ordenadores, mientras que la comunicación entre un ordenador y una impresora es una comunicación paralela.

Entonces, ¿cuál es mejor? La comunicación paralela podría parecer una mejor opción debido a su alta velocidad, pero prácticamente, la comunicación en serie es la opción más sabia porque soporta la comunicación full duplex y tiene mejores aplicaciones en proyectos basados en microcontroladores.

Implementación de hardware de comunicación en serie

Ahora, vayamos a la parte real. ¿Cómo puedes implementar la comunicación en serie a través del hardware? Hay dos hardware de comunicación en serie muy comunes - RS232 y TTL que discutiremos en la siguiente sección.

RS232 vs. TTL

¿Qué es el RS232?

El RS232 es un protocolo de comunicación serial muy popular usado en muchos dispositivos. También es usado por los puertos seriales de su computadora.  Conecta un DTE (Equipo de Transmisión de Datos) a un DCE (Equipo de Comunicación de Datos), por ejemplo, cuando se conecta una computadora a un módem, el DTE es la computadora y el DCE es el módem.

Las señales RS232 en los ordenadores oscilan entre +13V y -13V donde el evel lógico alto (1) se representa por el voltaje negativo y el nivel lógico bajo (0) se representa por el voltaje positivo. 

RS232 conecta el equipo a través de estos cinco pines - TXD (transmisor), RXD (receptor), RTS (solicitud de envío), CTS (autorización de envío) y GND (tierra). Ofrece un modo de transmisión simple, conectando un máximo de dos dispositivos a través de una longitud máxima de cable de 15m. La máxima velocidad de transferencia de datos que se puede alcanzar es de 20 kbps.

La ventaja de utilizar el RS232 para la comunicación en serie es que es de bajo costo debido al simple cableado y es ampliamente utilizado en todo el mundo. La desventaja de usar este protocolo es su velocidad de 20 kbps, que es muy baja y no funciona para dispositivos colocados a más de 15 pies de distancia.

¿Qué es TTL?

La Lógica de Transistores-Transistores (TTL) es otra comunicación serial usada en muchos microcontroladores hoy en día. Es específicamente usada por UART (Receptor/Transmisor Asíncrono Universal), un sistema de transmisión usado en varios microcontroladores incluyendo el Arduino.

El TTL puede entenderse como una transmisión de 1s y 0s. Siendo 1 el nivel alto (5 voltios o 3,3 voltios) y 0 el nivel bajo (0 voltios). Las señales oscilan entre estos dos niveles solamente. Esto implica que podemos trabajar con bajos voltajes a través de TTL y es muy utilizado en los microcontroladores de hoy en día. Además, es un sistema de transmisión de bajo costo y fácil de usar.

TTL es un poco ruidoso en comparación con el RS232 y tiene una frecuencia limitada. A frecuencias más altas, requiere más potencia para funcionar. 

File:Async serial communication April 04 2008.png - Wikimedia Commons

¿Cuál es mejor?

Podemos comparar el RS232 con el TTL basándonos en las siguientes características:

- Nivel lógico - los niveles lógicos se invierten entre los dos protocolos. RS232 considera que un voltaje positivo es un nivel bajo, mientras que TTL considera que un voltaje negativo/0V es un nivel lógico bajo.

- Ruido - Las señales RS232 oscilan entre +13V y -13V, lo que significa que pueden viajar más lejos que las señales de bajo voltaje en TTL. Por lo tanto, las señales RS232 son más resistentes al ruido y a las interferencias externas.

- Rango de voltaje - Las señales RS232 funcionan a un voltaje mayor (+13V a -13V) en comparación con las señales TTL que oscilan entre 0 voltios y 3,3 voltios o 5 voltios.

- Uso con un microcontrolador - Es bastante obvio que TTL es mucho más compatible con un microcontrolador como Arduino porque el rango de voltaje de Arduino está entre 0 voltios y 3,3/5 voltios.

¿Cómo convertir entre RS232 y TTL?

Ya que el RS232 y el TTL atienden a dos señales completamente diferentes, una con un rango de alto voltaje y la otra con un rango de bajo voltaje. Además, las señales RS232 están invertidas en comparación con las señales TTL. Entonces, ¿cómo puedes convertir entre las dos señales?

La mejor solución para este problema es el convertidor MAX3232, fácil de usar, que se vende por unos 3 dólares. Convierte fácilmente entre RS232 y TTL, sin necesidad de ningún circuito externo. Todo lo que necesitas hacer es conectar sus pines RX y TX a los dispositivos emisores y receptores, respectivamente, y conectar los pines Vcc y GND del módulo. Notará que el indicador LED se enciende y es cuando está listo para empezar.

También puedes construir tu propio circuito usando transistores para invertir las señales entre los dos dispositivos y algunos condensadores para aumentar los voltajes para la conversión de TTL a RS232. Puedes encontrar un esquema de este circuito a través de una simple búsqueda en Google.

Aplicaciones de Arduino

Arduino es compatible con TTL por sus niveles de voltaje (0 o 3,3/5 voltios). Si está conectando su Arduino a su ordenador para la comunicación en serie, entonces necesita un convertidor como el Grove RS232 como se ha mencionado anteriormente. Tiene un conector en serie en un extremo y un conector TTL en el otro extremo. Estos convertidores son esenciales si está trabajando en un proyecto que requiere la monitorización de valores en el ordenador utilizando su puerto serie.

Generalmente, TTL es una mejor opción para la comunicación en serie debido a sus bajos voltajes, es fácil de implementar y es compatible con muchos microcontroladores pero, si su proyecto requiere que use RS232 entonces debe usar un módulo convertidor cuando trabaje con placas Arduino.

Ahora que ya sabe todo sobre la comunicación en serie, le deseamos todo lo mejor para trabajar en sus próximos proyectos de comunicación en serie!

Share