Ya sean periféricos de computadora, dispositivos inteligentes, dispositivos de Internet de las cosas (IoT) o dispositivos electrónicos herramientas de medición, todos utilizan protocolos de comunicación en serie para conectar diferentes componentes electrónicos juntos.
Estos componentes generalmente consisten en un microcontrolador y módulos esclavos como un sensor de huellas dactilares, un ESP8266 (módulo Wi-Fi), servos y pantallas en serie.
Estos dispositivos utilizan diferentes tipos de protocolos de comunicación. A continuación, conocerá algunos de los protocolos de comunicación en serie más populares, cómo funcionan, sus ventajas y por qué siguen utilizándose.
¿Qué es la comunicación en serie?
Los protocolos de comunicación en serie han estado aquí desde la invención del Código Morse en 1838. Hoy en día, los protocolos de comunicación en serie modernos utilizan los mismos principios. Las señales se generan y transmiten en un solo cable al poner en cortocircuito repetidamente dos conductores juntos. Este corto actúa como un interruptor; se enciende (alto) y se apaga (bajo), proporcionando señales binarias. La forma en que se transmita y reciba esta señal dependerá del tipo de protocolo de comunicación en serie utilizado.
Con la invención del transistor y las innovaciones que siguieron, los ingenieros y los técnicos hicieron que las unidades de procesamiento y la memoria fueran más pequeñas, más rápidas y con mayor eficiencia energética. Estos cambios exigieron que los protocolos de comunicación de bus fueran tan avanzados tecnológicamente como los componentes que se conectaban. De ahí la invención de protocolos seriales como UART, I2C y SPI. Aunque estos protocolos seriales tienen varias décadas de antigüedad, todavía se prefieren para microcontroladores y programación completa.
UART (Receptor-Transmisor Asíncrono Universal)
El protocolo UART es uno de los protocolos de comunicación en serie más antiguos pero más confiables que todavía usamos en la actualidad. Este protocolo utiliza dos cables conocidos como Tx (transmitir) y Rx (Recibir) para que ambos componentes se comuniquen.
Para transmitir datos, tanto el transmisor como el receptor deben estar de acuerdo con cinco configuraciones comunes, estas son:
- Velocidad en baudios: La velocidad de transmisión de la velocidad a la que se transmitirán los datos.
- Longitud de datos: El número acordado de bits que el receptor guardará en sus registros.
- Bit de inicio: Una señal baja que le permite al receptor saber cuándo se van a transferir datos.
- Bit de parada: Una señal alta que le permite al receptor saber cuándo se ha enviado el último bit (bit más significativo).
- Bit de paridad: Se utiliza una señal alta o baja para comprobar si los datos enviados son correctos o están dañados.
Dado que UART es un protocolo asincrónico, no tiene su propio reloj que regule la velocidad de transmisión de datos. Como alternativa, utiliza la velocidad en baudios para cronometrar cuando se transmite un bit. La velocidad de transmisión habitual utilizada para UART es de 9600 baudios, lo que significa una velocidad de transmisión de 9600 bits por segundo.
Si hacemos los cálculos y dividimos un bit por 9600 baudios, podemos calcular qué tan rápido se transmite un bit de datos al receptor.
1/9600 =104 microsegundos
Esto significa que nuestros dispositivos UART comenzarán a contar 104 microsegundos para saber cuándo se transmitirá el siguiente bit.
Cuando se han conectado dispositivos UART, la señal predeterminada siempre se eleva a alta. Cuando detecta una señal de baja frecuencia, el receptor comenzará a contar 104 microsegundos más otros 52 microsegundos antes de comenzar a guardar los bits en sus registros (memoria).
Como ya se acordó que ocho bits serían la longitud de los datos, una vez que haya guardado ocho bits de datos, comenzará a verificar la paridad para verificar si los datos son pares o impares. Después de la verificación de paridad, el bit de parada generará una señal alta para notificar a los dispositivos que los ocho bits completos de datos se transmitieron con éxito al receptor.
Al ser el protocolo en serie más minimalista que utiliza solo dos cables, UART se usa comúnmente en la actualidad en tarjetas inteligentes, tarjetas SIM y automóviles.
Relacionado: ¿Que es una tarjeta sim? Cosas que necesitas saber
SPI (interfaz periférica en serie)
SPI es otro protocolo en serie popular que se utiliza para velocidades de datos más rápidas de aproximadamente 20 Mbps. Utiliza un total de cuatro cables, a saber, SCK (línea de reloj en serie), MISO (Master Out Slave In), MOSI (Master In Slave Out) y SS / CS (Chip Select). A diferencia de UART, SPI utiliza un formato de maestro a esclavo para controlar varios dispositivos esclavos con un solo maestro.
MISO y MOSI actúan como Tx y Rx de UART que se utilizan para transmitir y recibir datos. Chip Select se utiliza para seleccionar con qué esclavo quiere comunicarse el maestro.
Dado que SPI es un protocolo síncrono, utiliza un reloj integrado del maestro para garantizar que tanto el dispositivo maestro como el esclavo funcionen en la misma frecuencia. Esto significa que los dos dispositivos ya no necesitan negociar una velocidad en baudios.
El protocolo comienza con el maestro seleccionando el dispositivo esclavo bajando su señal al SS / CK específico conectado al dispositivo esclavo. Cuando el esclavo recibe una señal baja, comienza a escuchar tanto el SCK como el MOSI. Luego, el maestro envía un bit de inicio antes de enviar los bits que contienen datos.
Tanto MOSI como MISO son full-duplex, lo que significa que pueden transmitir y recibir datos al mismo tiempo.
Con su capacidad para conectarse a múltiples esclavos, comunicación full-duplex y menor consumo de energía que otros protocolos síncronos como I2C, SPI se utiliza en dispositivos de memoria, tarjetas de memoria digital, convertidores ADC a DAC y crystal pantallas de memoria.
I2C (circuito interintegrado)
I2C es otro protocolo serial síncrono como SPI, pero con varias ventajas sobre él. Estos incluyen la capacidad de tener múltiples maestros y esclavos, direccionamiento simple (sin necesidad de Chip Seleccione), operando con varios voltajes y usando solo dos cables conectados a dos pull-up resistencias.
I2C se utiliza a menudo en muchos dispositivos de IoT, equipos industriales y electrónica de consumo.
Los dos pines en un protocolo I2C son el SDA (Serial Data Line) que transmite y recibe datos, y el pin SCL (Serial Clock Line), que funciona como un reloj.
- El protocolo comienza con el maestro enviando un bit de inicio (bajo) desde su pin SDA, seguido de una dirección de siete bits que selecciona el esclavo y un bit para seleccionar lectura o escritura.
- Después de recibir el bit de inicio y la dirección, el esclavo envía un bit de reconocimiento al maestro y comienza a escuchar el SCL y SDA para las transmisiones entrantes.
- Una vez que el maestro recibe esto, sabe que se ha realizado la conexión con el esclavo correcto. El maestro ahora seleccionará a qué registro específico (memoria) del esclavo desea acceder. Lo hace enviando otros ocho bits especificando qué registro se utilizará.
- Al recibir la dirección, el esclavo ahora prepara el registro de selección antes de enviar otro acuse de recibo al maestro.
- Habiendo seleccionado qué esclavo específico y cuál de sus registros usar, el maestro finalmente envía el bit de datos al esclavo.
- Una vez enviados los datos, se envía un bit de reconocimiento final al maestro antes de que el maestro finalice con un bit de parada (alto).
Relacionado: Los mejores proyectos de Arduino IoT
Por qué las comunicaciones en serie llegaron para quedarse
Con el auge de los protocolos paralelos e inalámbricos, las comunicaciones en serie nunca han perdido popularidad. Por lo general, al usar solo de dos a cuatro cables para transmitir y recibir datos, los protocolos seriales son un modo de comunicación esencial para la electrónica que solo tiene unos pocos puertos de sobra.
Otra razón es su sencillez que se traduce en fiabilidad. Con solo unos pocos cables enviando datos una vez a la vez, el serial ha demostrado su confiabilidad para enviar los paquetes completos de datos sin ninguna pérdida o corrupción cuando se transmite. Incluso a altas frecuencias y comunicaciones de mayor alcance, los protocolos seriales aún superan a muchos protocolos modernos de comunicaciones paralelas disponibles en la actualidad.
Aunque muchos podrían pensar que las comunicaciones en serie como UART, SPI e I2C tienen la desventaja de ser viejos y desactualizados, el hecho es que han demostrado su confiabilidad a lo largo de varios décadas. El hecho de que los protocolos sean tan antiguos sin ningún reemplazo real solo sugiere que son, de hecho, indispensables y seguirán utilizándose en la electrónica en el futuro previsible.
¿Confundido entre SBC como Raspberry Pi y microcontroladores como Arduino y Raspberry Pi Pico? Esto es lo que necesita saber.
Leer siguiente
- Tecnología explicada
- Uso de datos
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse