Entendiendo el funcionamiento básico de osciloscopios

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

Depuración de protocolos serie con un osciloscopio

Autor: James Lewis l bloguero y experto en T&M

Prepárese para sumergirse en fascinante mundo de los protocolos serie: UART, I2C, (Q)SPI y bus CAN. No solo aprenderá sobre estos protocolos serie, sino que también descubrirá cómo depurarlos con un osciloscopio. Desde consejos prácticos hasta información práctica, hemos preparado los aspectos básicos para ayudarlo a dominar la depuración de protocolos.

Los dispositivos de edge computing (computación frontera) pueden tener un microcontrolador (MCU) conectado a los sensores, los actuadores, los botones y las pantallas. La mayor parte de estos instrumentos discretos se comunican con el microcontrolador por medio de un protocolo digital, como UART, I2C o red CAN. Una de las ventajas de depurar estos protocolos serie con un osciloscopio es que el pequeño número de señales es más fácil de sondear en comparación con los amplios buses paralelos del pasado. Junto con las sondas, los osciloscopios ofrecen un conjunto completo de herramientas de análisis que, de otro modo, requerirían un analizador de protocolos independiente. He aquí algunos consejos sobre cómo utilizar un osciloscopio para decodificar protocolos serie, así como información introductoria para los protocolos serie más comunes.

Osciloscopio vs. analizador lógico

Osciloscopio R&S®RTM3000

Osciloscopio R&S®RTM3000

Características principales:

  • Ancho de banda: de 100 MHz a 1 GHz
  • Frecuencia de muestreo: hasta 5 GSa/s
  • Profundidad de memoria: hasta 80 GSa/s
  • Resolución ADC: 10 bits

Cuando buscamos la decodificación de protocolos, puede utilizarse un osciloscopio, analizador lógico, o un analizador de protocolos especial. Pero, ¿cuál de estas herramientas es la más adecuada? He aquí una breve comparación de las tres.

Los canales del analizador lógico son esencialmente comparadores digitales. Por lo tanto, solo pueden decirle si una señal es alta o baja. Los analizadores lógicos típicos cuentan con al menos 8 canales, pero algunos modelos ofrecen 32 o más. Los analizadores de protocolo son similares a los analizadores lógicos, pero cuentan con hardware y software específicos para cada protocolo para decodificar el enlace serie.

En cambio, los osciloscopios cuentan con muchos bits de resolución, pero suelen limitarse a dos o cuatro canales. La mayor profundidad de bits le permite visualizar las características analógicas de las señales.

Afortunadamente, con los osciloscopios modernos, muy rara vez se necesita escoger una de estas tres opciones. Muchos osciloscopios, entre los que figuran los modelos de Rohde & Schwarz, ofrecen canales lógicos, tanto analógicos como digitales. Estos osciloscopios se llaman «osciloscopio de señal mixta u osciloscopio MSO».

Algunos osciloscopios incluso cuentan con una herramienta de decodificación de protocolos para buses serie. Por ejemplo, el R&S®RTB2000, R&S®MXO 4 o R&S®RTO 6 cuentan con decodificación y disparo de protocolo integrados para los protocolos serie más utilizados.

El osciloscopio brilla especialmente cuando se detecta un error de protocolo. Un canal analógico (o canales) que muestrea(n) el bus puede mostrarle si existe un problema analógico en (o alrededor) el momento del error de protocolo. Esa situación rara vez se da con un analizador analógico.

Debido a que existen muchos protocolos serie y su compatibilidad varía según el modelo de osciloscopio, aquí se tienen algunas notas y trucos para depurar circuitos con los buses más comunes.

UART

El transmisor/receptor asíncrono universal (UART) también a veces es llamado «serie». Las señales de transmisión y recepción son hilos sin reloj discreto. Es punto a punto, lo que significa que por los general solo hay dos instrumentos conectados.

En algunos casos, el UART es la más simple de depurar ya que solo se necesita observar al menos una señal: transmisor o receptor. Sin embargo, en la práctica, por lo general se necesita observar ambas direcciones para entender la comunicación.

Configuración del UART

Configuración del UART

Método de tramado flexible del UART

Método de tramado flexible del UART

El UART cuenta con un método de tramado flexible. Cuenta con un número variable de bits de inicio y de parada y un bit de paridad opcional. La carga útil de los datos suele ser de 8 bits. Dado que el UART es asíncrono, el host y el dispositivo deben tener los mismos parámetros, así como la misma velocidad en baudios. Los mismos requisitos se aplican a un osciloscopio durante la depuración.

Depuración en un osciloscopio

Consejo: los decodificadores por lo general le permiten cambiar la velocidad en baudios tras la captura. Debe ajustarse esta configuración en caso de que la decodificación sea incorrecta. De lo contrario, no podrá decodificar (o disparar) adecuadamente.

SPI y QSPI

Todos los instrumentos comparten el reloj
Todos los instrumentos comparten el reloj

El texto SPI o S-P-I se conoce como la «interfaz periférica serie». Funciona como un registro de desplazamiento. Todos los instrumentos comparten el reloj, las señales MOSI (salida principal, entrada secundaria), así como las señales MISO (entrada principal, salida secundaria). Estas corresponden al "transmisor" y "receptor" del UART. Sin embargo, son explicitas en la dirección en que se mueven los datos. Por ejemplo, con MOSI, lo datos van desde el host hasta el instrumento, y con MISO, los datos van del instrumento al host. Esto reduce la posibilidad que el sondeo detecte una señal errónea.

El protocolo SPI admite múltiples instrumentos en el mismo bus. Cada instrumento cuenta con su propia señal de selección de chip (CS) para diferenciarlos. Sin embargo, los diseños con solo un instrumento SPI podrían omitir (o permitir siempre) la señal de CS. De manera similar, si los datos solo van en una dirección, entonces solo se necesita conectar la señal MOSI o MISO adecuada.

La misma idea se mantiene para la depuración con un osciloscopio. En caso de que solo haya un dispositivo en el bus no es necesario sondear la señal CS. Y si los datos solo se mueven en una dirección, entonces la mayor parte de decodificadores pueden sondear solo uno. Sin embargo, siempre es necesaria la señal de reloj.

¿Qué es QSPI?

Un estándar de interfaz prevalente para chips de memoria USB es el protocolo cuádruple SPI (QSPI). Al igual que el SPI, cuenta con un pin de datos, reloj, así como de habilitación.

Circuito interintegrado (I2C)

Los instrumentos comparten el reloj y las líneas de datos
Los instrumentos comparten el reloj y las líneas de datos

El circuito interintegrado (I2C) fue originalmente desarrollado por Philips, quien posteriormente pasó a formar parte de NXP. Algunos instrumentos que admiten I2C utilizan el nombre de «dos hilos» para evitar problemas de marca de fábrica o de licencia.

Todos los instrumentos del bus comparten el reloj y las líneas de datos, además deben contar con una dirección única. En general, los sensores o instrumentos que utilizan I2C tendrán una dirección base con unos pocos bits para establecer el bit menos significativo de su dirección. Esta técnica es de mucha ayuda cuando se tiene múltiples sensores del mismo tipo en el bus con un mínimo número de pins.

Para I2C, la depuración en el osciloscopio requiere de dos canales. El reloj solo se ejecuta cuando el host se comunica con un dispositivo. Por lo tanto, el osciloscopio debe capturar tanto las señales de reloj como las de datos.

I2C: de 7 y 8 bits (o 10 bits)

Las direcciones I2C pueden ser confusas debido a los dos modos de dirección diferentes: 7 y 10 bits. El modo de 7 bits es el más común, pero tiene una característica confusa: a veces se lo considera como una dirección de 8 bits.

Comparación de los modos de dirección de 7 y 8 bits
Comparación de los modos de dirección de 7 y 8 bits

La confusión proviene del bit lectura/escritura que viene después de la dirección. Para las transacciones de LECTURA, el valor es «1». Y para las transacciones de ESCRITURA el valor es «0». Por lo tanto, si el disparo falla en la dirección esperada al depurar I2C, trate de desplazar la dirección un bit a la izquierda e incluya el valor de lectura/escritura.

Bus CAN

El bus CAN cuenta con señalización diferencial
El bus CAN cuenta con señalización diferencial

La red de área del controlador (red CAN) se desarrolló para utilizarse en automóviles y continúa siendo muy utilizada en la industria del transporte. Su señalización diferencial mejora la inmunidad al ruido eléctrico, por lo que es ideal para aplicaciones industriales.

A pesar de ser diferencial, no requiere de una sonda de osciloscopio diferencial en la mayoría de los casos. En cambio, es suficiente una sonda de un solo extremo en la señal «CANH» o «CANL» para que un decodificador de osciloscopio decodifique el bus.

Existen dos versiones CAN 2.0: la versión base (dirección de 11 bits) y la versión extendida (dirección de 29 bits). Sus tramas de datos difieren ligeramente en los campos de arbitraje y control, pero por lo demás, sus paquetes son los mismos.

Decodificación de la red CAN con el R&S®RTM3000
Decodificación de la red CAN con el R&S®RTM3000

El bus CAN solo utiliza dos hilos de señal, ninguno de los cuales es un reloj. Por lo tanto, si una decodificación parece confusa, intente ajustar el punto de muestreo para cambiar el lugar donde el decodificador muestree los datos.

Decodificación vs. disparo

La decodificación es un método de posprocesamiento el cual analiza las formas de onda capturadas y decodifica el protocolo en formato legible para humanos. Por lo general, los datos decodificados están disponibles como una superposición en la visualización de la forma de onda o como una tabla. (Algunos osciloscopios, como el R&S RTE, RTO6 y RTP, también ofrecen herramientas de análisis adicionales como la utilización del bus.) Los osciloscopios con memoria profunda pueden capturar periodos largos y luego buscar para hallar eventos de interés (o cuán seguido se producen estos eventos). Esta técnica es principalmente un enfoque de «software».

El disparo sin embargo se produce dentro del sistema de disparo del osciloscopio. Un disparo de protocolo continuamente monitorea el bus serie a fin de determinar cuándo se producen eventos. Por ejemplo, dos disparos comunes son una dirección I2C o una condición de error (NAK o error de paridad). Las opciones de disparo por lo general suelen limitarse a unas pocas transacciones específicas del protocolo y también pueden limitarse a la profundidad del bit de dirección, datos o carga útil. Esta técnica es principalmente un enfoque de «hardware».

A veces los osciloscopios combinan las dos técnicas: el sistema de disparo puede «autodispararse» al tiempo que el decodificador de protocolos encuentra el evento de interés y lo sitúa al centro de la pantalla. En caso de su osciloscopio «pase por alto» determinados eventos consulte el manual para determinar que condiciones de disparo se basan en «hardware» y cuales en «software».

Resumen

  • La mayor parte de los instrumentos de edge computing se comunican con el microcontrolador por medio de un protocolo digital, como UART, I2C o red CAN.
  • Los osciloscopios ofrecen una amplia gama de herramientas para decodificar protocolos serie.
  • Algunos osciloscopios incluso cuentan con una herramienta de decodificación de protocolos para buses serie.
  • UART no cuenta con un reloj discreto y es punto a punto lo que significa que solo pueden conectarse dos dispositivos.
  • SPI funciona como un registro de desplazamiento, y todos los instrumentos comparten el reloj, así como las señales MOSI y MISO.
  • Para I2C, la depuración requiere de dos canales. El reloj solo se ejecuta cuando el host se comunica con un instrumento, por lo que el osciloscopio debe capturar tanto las señales de reloj como las de datos.
  • A pesar de ser diferencial, la red CAN no suele requerir una sonda de osciloscopio diferencial. En cambio, es suficiente una sonda de un solo extremo en la señal «CANH» o «CANL» para que un decodificador de osciloscopio decodifique el bus.
  • Todos los osciloscopios de Rohde & Schwarz cuentan con opciones de protocolo serie opcionales. Los disparos disponibles varían en función del modelo de osciloscopio y sus funcione de ancho de banda. Sin embargo, la mayoría es compatible con los protocolos serie que se han indicado aquí.
  • Para depuración de uso general con protocolos serie típicos, échele una mirada al RTB2000 o RTM3000. Para protocolos más rápidos que 480 Mbit/s, échele una mirada a los osciloscopios MXO4 (1.5 GHz), RTO y RTP.

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

Suscribirse a nuestro boletín informativo

También le puede interesar