Entendiendo los protocolos serie

¿Está interesado?

R&S®Essentials | Aspectos básicos de osciloscopios digitales y sondas

Entendiendo los protocolos serie

Transferencia de datos digitales: transmisión en paralelo o en serie

Los sistemas digitales se basan en el concepto de bits, que necesitan transferirse entre dos componentes o dispositivos. Existen muchas maneras de transferir bits, pero los diferentes métodos de transferencia de bits básicamente se pueden dividir en dos categorías principales: transmisión en serie o paralelo.

Transmisión en paralelo

La transmisión en paralelo mueve en simultáneo múltiples bits entre el transmisor y el receptor, por lo general con un conductor por bit separado. Las conexiones en paralelo funcionan bien para distancias cortasy/o conexiones punto a punto. Tienen un temporizador simple y son relativamente fáciles de analizar. Pero a pesar de lo popular que alguna vez fue la transmisión en paralelo, ahora está siendo en gran medida remplazada por la trasmisión en serie.

Transmisión en serie

Como el nombre lo indica, la transmisión en serie envía un bit a la vez, así, todos los bits se envían por medio del mismo conductor. La transmisión en serie funciona bien para aplicaciones de mayor distancia, aplicaciones que necesitan un mayor rendimiento, y aplicaciones en donde hay múltiples nodos. Pero esto tiene un costo, la trasmisión en serie es más compleja y más difícil de analizar. Si bien es verdad que los bits de datos se envían por medio de un solo conductor o «cable», la mayor parte de protocolos serie utilizan múltiples conductores.

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

Transmisión en paralelo

Transmisión en serie

Ejemplos de protocolos serie

Los protocolos serie se utilizan en una amplia variedad de aplicaciones. Los tres principales protocolos serie que se utilizan para aplicaciones genéricas son UAR, I²C y SPI..

Una categoría especial de protocolos serie son aquellos que se utilizan en la industria automotriz, como CAN, LIy FlexRay. Estos protocolos se diseñaron para lidiar con los exigentes requisitos de los vehículos como proporcionarles un funcionamiento eficiente a una combinación de velocidades bajas y altas y en un entorno con mucho ruido.

Aplicaciones genéricas

UART (transmisor-receptor asíncrono universal)

  • Protocolo serie clásico
  • fácil de implementar
  • se ha usado en PC en serie y puertos COM durante décadas

I²C (Circuito Ínter-integrado)

  • Comunicación entre circuitos integrados (y más)

SPI (interfaz periférica serial)

  • Mayor velocidad que I²C
  • utiliza una mayor cantidad de cables y generalmente es más compleja

Aplicaciones automotrices

CAN (controlador de red de zona)

  • Gran velocidad
  • a menudo se usa con sensores

LIN (red de interconexión local)

  • Menor velocidad
  • se usa con accesorios (p. ej. Windows, mirrors)

FlexRay

  • Mayor velocidad con redundancia

Característica de los protocolos serie

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

  • Niveles: cómo se utilizan los voltajes para representar los ceros y unos
  • Tiempocon qué frecuencia se envían los bits (tiempo de bit)
  • Tramacómo los bits se organizan en grupos y el rol de cada bit o grupo de bits
  • Protocoloqué mensajes se intercambian y bajo qué circunstancias

Niveles

Antes de realizar cualquier clase de decodificación digital, necesitamos poder hacer una distinción entre ceros y unos. En otras palabras, ¿cómo se determinan los valores de bit a partir de los niveles de voltaje? Un enfoque simple sería definir que un voltaje «bajo» es igual a cero y un voltaje «alto» es igual a uno. De hecho, así es como algunos protocolos en serie funcionan.
Los protocolos en serie que se usan en entornos desafiantes, como en automóviles, a menudo utilizan un voltaje diferencial, porque las señales diferenciales tienden a ser más inmunes al ruido. Diferencial significa que un 0 o un 1 se define en base de la diferencia entre dos voltajes, y no con respecto a tierra.

Nota: las sondas diferenciales son de mucha ayuda para estas mediciones.

Tiempo

Definir los niveles de voltaje para «0» y «1» no es suficiente para determinar que bits se están recibiendo. Adicionalmente, es importante entender qué tan rápido se generan los bits o, dicho de otra manera, cuál es el «tiempo de bit» o «velocidad de bit».
Para decodificar datos en serie, el receptor o instrumento debe utilizar la misma velocidad de bits que el transmisor.

Trama

Los protocolos en serie normalmente organizan los bits en las llamadas tramas. Los bits individuales o los grupos de bits en la trama tienen significados definidos. Para decodificar correctamente las tramas, es necesario conocer un poco sobre esta estructura.
Por ejemplo, al decodificar el protocolo en serie UART es importante saber que el estado de reposo de la línea es un nivel de alto voltaje. Una transición de alto a bajo es un «bit de inicio» que indica el inicio de la trama. Además, en necesario entender cuántos bits de datos leer, como también, el hecho de que hay un bit de parada de nivel de alto voltaje que termina la trama, seguido de un retorno al estado de reposo. Al conocer la estructura de la trama, los datos del usuario pueden extraerse de la secuencia de bits en serie, así como extraer otra información sobre la transmisión.

Los bits usualmente se organizan en «tramas». Cada bit o grupo de bits, en una trama, tiene un significado definido

Protocolo

El último aspecto a considerar puede llamarse «protocolo». Una definición genérica de protocolo es un conjunto de reglas para cifrar e intercambiar información. Puede haber reglas sobre cómo y cuándo los datos se envían, además de los tipos y significados de los mensajes que los puntos de conexión intercambian.
Un protocolo sencillo sería enviar los datos apenas estén disponibles, independientemente de si el receptor esté listo o no para recibirlos. Un protocolo más sofisticado sería utilizar algún tipo de mecanismo que pida permiso antes de enviar los datos. Un protocolo aún más sofisticado supondría que el remitente espere un acuse de recibo explícito de que los datos fueron correctamente recibidos antes de enviar más datos o datos que faltan o con errores.

Decodificación de protocolos serie

En el pasado, los protocolos serie generalmente se decodificaban usando probadores de protocolos dedicados especiales. Hoy en día, el método más común es utilizar un osciloscopio de almacenamiento digital moderno, con uno o más canales. Después de elegir el protocolo serie de interés, los niveles, el tiempo y la trama deben configurarse para que coincidan con la señal en serie analizada. Con esta información, el osciloscopio produce resultados en forma de niveles de voltaje sin procesar, bits detectados y tramas cuyo contenido se pueden mostrar en código binario, hexadecimal o ASCII. La decodificación en serie en osciloscopios también incluye generalmente funciones adicionales como activación de símbolos específicos dentro de la trama, asignación de etiquetas legibles por personas a patrones definidos por el usuario y exportación de datos.

Resumen

Los protocolos en serie se utilizan para mover bits de manera secuencial o uno a la vez, entre componentes o entre dispositivos separados.

Las comunicaciones en serie se utilizan en casi todos los dispositivos digitales

Los protocolos serie pueden dividirse:

  • normas genéricas como UART, I²C y SPI
  • protocolos de aplicaciones más específicos como CAN, LIN, y FlexRay (usado principalmente en automóviles)

Todos los protocolos en serie poseen ciertas características, tales como:

  • cómo los voltajes se mapean en bits
  • tiempo o velocidad de bits
  • cómo los bits se organizan en unidades de mensaje o tramas, así como
  • los tipos de tramas intercambiadas y las reglas para cuando se envía cada tipo de trama.

los osciloscopios digitales modernos ahora son una herramienta de elección para analizar y decodificar datos en serie.

¿Tiene alguna pregunta sobre los protocolos serie o la decodificación de los protocolos serie? Nuestros expertos lo ayudarán.

¿Tiene curiosidad por conocer más sobre los aspectos básicos de pruebas?

Suscríbase a nuestro boletín informativo