Introducción a los protocolos en serie

¿Desea saber más?

R&S®Essentials | Principios básicos del osciloscopio digital y las sondas

Introducción a los protocolos en serie

Transferencia de datos digitales: transmisión en paralelo frente a transmisión en serie

Los sistemas digitales se basan en un concepto de bits, los cuales deben transferirse entre dos componentes o dispositivos. Existen muchas formas de transportar bits, pero entre los distintos métodos para transferirlos se pueden diferenciar dos categorías principales: la transmisión en paralelo y en serie.

Transmisión en paralelo

La transmisión en paralelo transporta múltiples bits de forma simultánea entre un transmisor y un receptor, generalmente con un conductor separado por bit. Las conexiones en paralelo son apropiadas para conexiones de corta distanciay/o conexiones punto a punto. Estas tienen una temporización sencilla y se analizan con relativa facilidad. Sin embargo, la transmisión en paralelo antiguamente tan popular se ha ido sustituyendo en gran medida por la transmisión en serie.

Transmisión en serie

Como su nombre indica, la transmisión en serie envía un bit tras otro, y todos los bits se envían a través del mismo conductor. La transmisión en serie es la mejor opción para aplicaciones de larga distancia, aplicaciones que requieren mayor rendimientoy aplicaciones en las que participan muchos nodos. Todo esto tiene su precio, haciendo la transmisión en serie más compleja y más difícil de analizar. Si bien es cierto que los bits de datos se envían a través de un único conductor o «hilo», la mayoría de los protocolos serie utilizan varios conductores.

Además del hilo para los bits de datos, muchos protocolos añaden también una señal de reloj, y algún tipo de control o función de direccionamiento para nodos múltiples.

Transmisión en paralelo

Transmisión en serie

Ejemplos de protocolos en serie

Los protocolos en serie se utilizan para numerosas aplicaciones. Los tres protocolos en serie principales utilizados para aplicaciones genéricas son UART, I²C y SPI..

Como categoría especial de los protocolos en serie cabe destacar los que se utilizan en el sector automovilístico, como CAN, LINy FlexRay. Estos protocolos fueron diseñados para procesar los requisitos avanzados de los vehículos, como el de garantizar un funcionamiento fiable en un entorno que combina velocidades bajas y altas y que es, además, ruidoso.

Aplicaciones genéricas

UART (receptor/transmisor asíncrono universal)

  • protocolo en serie clásico
  • fácil de implementar
  • utilizado durante décadas en puertos serie y COM de PC

I²C (Inter-IC)

  • comunicación entre circuitos integrados (y otras)

SPI (Serial Peripheral Interface)

  • velocidad más alta que en el I²C
  • utiliza más hilos y suele ser más complejo

Aplicaciones para automóviles

CAN (Controller Area Network)

  • alta velocidad
  • se utiliza a menudo con sensores

LIN (Local Interconnect Network)

  • velocidad inferior
  • se utiliza con accesorios (p. ej. ventanas, espejos)

FlexRay

  • velocidad más alta con redundancia

Características de los protocolos en serie

Si bien los detalles de la implementación difieren entre los distintos protocolos, todos los protocolos en serie tienen cuatro características básicas que son también importantes para el análisis y la decodificación de los datos en serie:

  • Niveles: cómo se aplican las tensiones para representar los ceros o unos
  • Temporización: con qué frecuencia se envían bits (tiempo de bits)
  • Alineación de trama: cómo están organizados los bits en grupos y el rol de cada bit o grupo de bits
  • Protocolo: qué mensajes se intercambian y en qué circunstancias

Niveles

Antes de llevar a cabo cualquier decodificación digital es necesario diferenciar los unos y ceros. Es decir: ¿cómo se determinan los valores de bit a partir de los niveles de tensión? Un enfoque sencillo sería definir que una tensión «baja» equivale a cero y una tensión «alta» equivale a uno. De hecho, es así como funcionan algunos protocolos en serie.
Los protocolos en serie utilizados en entornos más exigentes, como el sector del automóvil, utilizan a menudo una tensión diferencial, ya que las señales diferenciales suelen ser más inmunes al ruido. Diferencial significa que un 0 o un 1 se define partiendo de la base de la diferencia entre dos tensiones, en lugar hacerlo con respecto a la masa.

Observación: para este tipo de medidas resultan especialmente útiles las sondas diferenciales.

Temporización

La definición de los niveles de tensión para «0» y «1» no es suficiente para determinar qué bits se reciben. Aparte, es importante saber con qué rapidez se generan los bits o, expresado de otro modo, cuál es el «tiempo de bit» o la «velocidad de bits».
Para decodificar datos en serie, el receptor o el instrumento debe utilizar la misma velocidad de bits que el transmisor.

Alineación de trama

Los protocolos en serie generalmente organizan los bits en lo que se denomina tramas. Los bits individuales o grupos de bits de la trama tienen significados definidos. Para decodificar tramas correctamente se requieren conocimientos básicos de esta estructura.
Por ejemplo, cuando se decodifica el protocolo en serie UART es importante saber que el estado de reposo de la línea es un nivel de alta tensión. Una transición del estado alto al bajo es un «bit de inicio» que indica el inicio de la trama. Además, es necesario saber cuántos bits de datos deben leerse, así como que existe un bit de parada con nivel de alta tensión que termina la trama, seguido de un retorno al estado de reposo. Si se conoce la estructura de la trama es posible extraer la carga útil (los datos) de la secuencia de bits en serie, así como deducir más información sobre la transmisión.

Los bits se organizan normalmente en «tramas»; cada bit o grupo de bits de una trama tiene un significado definido

Protocolo

El último aspecto por considerar puede denominarse «protocolo». La definición genérica de protocolo es un conjunto de reglas para la codificación y el intercambio de información. Pueden existir reglas de cómo y cuándo se envían datos, y de los tipos y significados de los mensajes intercambiados entre puntos de conexión.
Un protocolo simple sería enviar datos en cuanto estén disponibles, independientemente de si el receptor está listo para recibirlos o no. Un protocolo más sofisticado consistiría en utilizar un mecanismo para solicitar autorización antes de enviar datos. Si fuera más sofisticado, podría especificar que el remitente espere a una confirmación explícita de que los datos se han recibido correctamente antes de enviar más datos o de reenviar datos faltantes o enviados incorrectamente.

Decodificación de protocolos en serie

Antiguamente, los protocolos en serie se decodificaban utilizando comprobadores de protocolo específicos. Hoy en día, el método más común es utilizar un osciloscopio moderno con memoria digital que tenga uno o más canales. Tras seleccionar el protocolo en serie de interés, deben configurarse los niveles, la temporización y la alineación de trama para adaptarlos a la señal en serie analizada. Utilizando esta información, el osciloscopio produce resultados en forma de niveles de tensión brutos, bits detectados y tramas cuyo contenido se puede visualizar en formato binario, hexadecimal o ASCII. La decodificación en serie con osciloscopios incluye también a menudo funciones adicionales como el disparo en símbolos específicos dentro de la trama, la asignación de etiquetas que pueda leer una persona a patrones definidos por el usuario y la exportación de datos.

Resumen

Los protocolos en serie se utilizan para transportar bits de forma secuencial, o uno por uno, entre componentes o entre dispositivos separados.

Las comunicaciones en serie se utilizan prácticamente en todos los dispositivos digitales.

Los protocolos en serie pueden dividirse en:

  • estándares genéricos, como UART, I²C y SPI
  • protocolos más específicos de la aplicación, como CAN, LIN y FlexRay (utilizados principalmente en el sector automovilístico)

Todos los protocolos en serie tienen determinadas características, como p. ej.:

  • cómo se asignan las tensiones a los bits,
  • la temporización o velocidad de bits,
  • cómo están organizados los bits en unidades de mensaje, o tramas, así como
  • qué tipos de tramas se intercambian y las reglas de cuándo se envía cada tipo de trama.

Los osciloscopios digitales modernos son hoy en día la herramienta por excelencia para analizar y decodificar datos en serie.

¿Tiene preguntas sobre los protocolos en serie o sobre la decodificación de protocolos en serie? Nuestros expertos le asesorarán con mucho gusto.

¿Le interesa indagar más en los principios básicos de las medidas?

Suscríbase a nuestro boletín