Compreender a operação básica de osciloscópios

R&S®Essentials | Princípios básicos dos osciloscópios digitais

Depuração de protocolos seriais com um osciloscópio

Autor: James Lewis l Especialista em teste e medição e blogueiro

Prepare-se para mergulhar no fascinante mundo dos protocolos UART, I2C, (Q)SPI e barramento CAN. Você não apenas aprenderá sobre esses protocolos seriais, mas também descobrirá como depurá-los usando um osciloscópio. Desde dicas práticas até insights do mundo real, nós preparamos o básico para ajudá-lo a dominar a depuração de protocolos.

Os dispositivos de computação de borda podem ter um microcontrolador (MCU) conectado a sensores, atuadores, botões e telas. A maioria desses dispositivos discretos se comunica com o MCU usando um protocolo digital, como o UART, I2C ou CAN. Uma das vantagens de depurar esses protocolos seriais com um osciloscópio é que o pequeno número de sinais é mais fácil de ser testado em comparação com os amplos barramentos paralelos antigos. Com as pontas de prova, os osciloscópios oferecem um conjunto abrangente de ferramentas de análise que, se não fosse isso, seria necessário um analisador de protocolos à parte. Aqui estão algumas dicas sobre como usar um osciloscópio para decodificar protocolos seriais e informações introdutórias sobre os protocolos seriais mais comuns.

Osciloscópios vs. analisadores lógicos

Osciloscópio R&S®RTM3000

Osciloscópio R&S®RTM3000

Principais características:

  • Largura de banda: entre 100 MHz e 1 GHz
  • Taxa de amostragem: até 5 Gsamples/s
  • Profundidade de memória: até 80 Msample
  • Resolução do conversor A/D: 10-bit

Ao analisar a decodificação de protocolo, você pode usar um osciloscópio, um analisador lógico ou um analisador de protocolos específico. Mas qual dessas ferramentas é mais adequada? Veja a seguir uma breve comparação entre os três.

Os canais do analisador lógico são essencialmente comparadores digitais. Portanto, eles só podem dizer se um sinal é alto ou baixo. Os analisadores lógicos comuns têm pelo menos oito canais, sendo que alguns modelos oferecem 32 ou mais. Os analisadores de protocolo são semelhantes aos analisadores lógicos, mas têm softwares e hardwares específicos de protocolo para decodificar a comunicação serial.

Por outro lado, os osciloscópios têm muitos bits de resolução, mas normalmente são limitados a dois ou quatro canais. A maior profundidade de bits permite que você veja as características analógicas dos sinais.

Felizmente, com os osciloscópios modernos, raramente é necessário escolher uma dessas três opções. Muitos osciloscópios, incluindo todos os modelos da Rohde & Schwarz, oferecem canais lógicos, tanto analógicos quanto digitais. Esses osciloscópios são chamados de «osciloscópios de sinais mistos».

Alguns osciloscópios têm até ferramentas de decodificação de protocolo para barramentos seriais! Por exemplo, o R&S®RTB2000, o R&S®MXO 4 ou o R&S®RTO 6 possuem decodificação de protocolo integrada e triggers para protocolos seriais usados frequentemente.

O osciloscópio se destaca especialmente quando um erro de protocolo é detectado. Um canal analógico (ou canais) de amostragem do barramento pode mostrar se há um problema analógico no momento (ou próximo dele) do erro de protocolo. Essa situação raramente ocorre com um analisador lógico.

Como existem muitos protocolos seriais e seu suporte varia de acordo com o modelo do osciloscópio, aqui estão algumas observações e truques para depurar circuitos com os barramentos mais comuns.

UART

O receptor/transmissor assíncrono universal (UART) também é chamado de «serial». Os sinais de recepção e transmissão são fios sem um clock discreto. Ele é ponto a ponto, o que significa que, em geral, você só tem dois dispositivos conectados.

Em alguns casos, a UART é a mais simples de depurar porque você só precisa examinar no mínimo um sinal: o transmissor ou o receptor. No entanto, na prática, geralmente é necessário ver ambas as direções para entender a comunicação.

1/2

Configuração do UART

Configuração do UART

O UART tem um método de framing flexível. Há um número variável de bits de início e parada, além de um bit de paridade opcional. A carga útil de dados é normalmente de 8 bits. Como a UART é assíncrona, o host e o dispositivo devem concordar com esses parâmetros, bem como com a taxa de Baud. Os mesmos requisitos se aplicam a um osciloscópio durante a depuração.

Depuração em um osciloscópio

Dica: os decodificadores geralmente permitem que você altere a taxa de Baud após a captura. Ajuste essa configuração se estiver decodificando lixo. Caso contrário, ele não conseguirá decodificar (ou disparar) corretamente.

SPI e QSPI

Todos os dispositivos compartilham o clock
Todos os dispositivos compartilham o clock

O texto SPI ou S-P-I é conhecido como «interface periférica serial». Ele funciona como um registrador de deslocamento. Todos os dispositivos compartilham o clock, os sinais de entrada secundária e saída principal (MOSI) e os sinais de saída secundária e entrada principal (MISO). Eles correspondem ao transmissor e receptor da UART. No entanto, eles são claros quanto à direção em que os dados se movem. Por exemplo, com o MOSI, os dados vão do host para o dispositivo, e com o MISO, os dados vão do dispositivo para o host. Isso torna a sondagem do sinal errado menos provável!

O protocolo SPI é compatível com múltiplos dispositivos no mesmo barramento. Cada dispositivo tem um sinal de seleção de chip (CS) para diferenciar os dispositivos. Entretanto, os designs com apenas um dispositivo SPI podem omitir (ou sempre ativar) o sinal de CS. Da mesma forma, se os dados forem transmitidos apenas em uma direção, então somente o sinal MISO ou MOSI apropriado precisará ser conectado.

A mesma ideia é válida para a depuração com um osciloscópio. Se apenas um dispositivo estiver no barramento, não será necessário sondar o CS. E se os dados se deslocarem em apenas uma direção, a maioria dos decodificadores pode lidar com o fato de ter apenas uma sondagem. O sinal do clock, entretanto, é sempre necessário.

O que é QSPI?

Um padrão de interface predominante para chips de memória flash é o protocolo quad SPI (QSPI). Como o SPI, ele tem um pino de dados, ativação e clock.

Circuito interintegrado (I2C)

Os dispositivos compartilham o clock e as linhas de dados
Os dispositivos compartilham o clock e as linhas de dados

O circuito interintegrado (I2C) foi originalmente desenvolvido pela Philips, que mais tarde se tornou parte da NXP. Às vezes, os dispositivos compatíveis com o I2C usam o nome «two wires» (dois fios) para evitar problemas de licenciamento e de marca registrada.

Todos os dispositivos no barramento compartilham o clock e as linhas de dados, e cada dispositivo deve ter um endereço exclusivo. No geral, os sensores ou dispositivos que usam I2C terão um endereço base com alguns bits para definir os bits menos importantes de seu endereço. Essa técnica é útil quando você tem vários sensores iguais no barramento com um número mínimo de pinos.

Para I2C, a depuração no osciloscópio requer dois canais. O clock só funciona quando o host está se comunicando com um dispositivo. Portanto, o osciloscópio deve capturar tanto os sinais de dados quanto de clock.

I2C: 7-bit ou 8-bit (ou 10-bit)

Os endereços de I2C podem ser confusos devido aos dois modos de endereço diferentes: 7 bits e 10 bits. O modo de 7 bits é mais comum, mas possui uma característica que pode causar confusão: às vezes, ele é considerado um endereço de 8 bits!

Comparação dos modos de endereço de 7 e 8 bits
Comparação dos modos de endereço de 7 e 8 bits

A confusão vem do bit de leitura/gravação (R/W) que vem depois do endereço. Para transações de leitura (READ), o valor é «1». E para transações de gravação (WRITE), o valor é «0». Portanto, se o disparo estiver falhando no endereço esperado ao depurar o I2C, tente deslocar o endereço um bit para a esquerda e incluir o valor de R/W.

Barramento CAN

O barramento CAN possui uma sinalização diferencial
O barramento CAN possui uma sinalização diferencial

A rede de área de controlador («Controller Area Network» ou CAN) foi desenvolvida para o uso em automóveis e continua sendo muito usada na indústria de transportes. Sua sinalização diferencial melhora a imunidade a ruídos elétricos, tornando-o ideal para aplicações industriais.

Apesar de ser diferencial, ela não requer uma ponta de prova diferencial para osciloscópios na maioria dos casos. Em vez disso, uma ponta de prova de extremidade única no sinal «CANL» ou «CANH» é suficiente para que um decodificador de osciloscópio decodifique o barramento.

duas versões do CAN 2.0: básica (endereço de 11 bits) e estendida (endereço de 29 bits). Seus frames de dados são ligeiramente diferentes nos campos de controle e arbitragem, mas, fora isso, seus pacotes são iguais.

Decodificação de CAN usando o R&S®RTM3000
Decodificação de CAN usando o R&S®RTM3000

O barramento CAN usa apenas dois fios de sinal, nenhum deles é um clock. Portanto, se uma decodificação parecer confusa, tente ajustar o ponto de amostragem para alterar onde o decodificador faz a amostragem dos dados.

Decodificação vs. trigger

A decodificação é um método pós-processo que analisa a forma de onda capturada e decodifica o protocolo em um formato legível para humanos. Normalmente, os dados decodificados estão disponíveis como uma sobreposição na exibição de formas de onda ou como uma tabela. (Alguns osciloscópios, como o R&S RTE, RTO6 e RTP, também oferecem ferramentas de análise adicionais como a utilização de barramento) Os osciloscópios com memória profunda podem capturar longos períodos e, em seguida, pesquisar para encontrar eventos de interesse (ou a periodicidade com que esses eventos ocorrem). Essa técnica é principalmente uma abordagem de «software».

O disparo, no entanto, ocorre dentro do sistema de trigger do osciloscópio. Um trigger de protocolo monitora continuamente o barramento serial para determinar quando ocorrem eventos. Por exemplo, dois triggers comuns são um endereço de I2C ou uma condição de erro (NAK ou erro de paridade). As opções de trigger geralmente são limitadas a algumas transações específicas do protocolo e também podem ser limitadas à profundidade de bits do endereço, dos dados ou da carga útil. Essa técnica é principalmente uma abordagem de «hardware».

Às vezes, os osciloscópios combinam as duas técnicas: o sistema de trigger pode «disparar automaticamente» enquanto o decodificador de protocolo encontra o evento de interesse e o coloca no centro da tela. Se o osciloscópio «deixar passar» determinados eventos, consulte o manual para determinar quais condições de disparo são baseadas em «hardware» e quais são baseadas em «software».

Resumo

  • A maioria dos dispositivos de computação de borda se comunica com a MCU usando um protocolo digital, como UART, SPI, I2C ou CAN.
  • Os osciloscópios oferecem uma ampla variedade de ferramentas para decodificar protocolos seriais.
  • Alguns osciloscópios têm até ferramentas de decodificação de protocolo para barramentos seriais.
  • O UART não tem um clock discreto e é ponto a ponto, o que significa que apenas dois dispositivos estão conectados.
  • O SPI funciona como um registrador de deslocamento, e todos os dispositivos compartilham o clock, os sinais MOSI e sinais MISO.
  • Para I2C, a depuração requer dois canais. O clock só é executado quando o host está se comunicando com um dispositivo, portanto, o osciloscópio deve capturar tanto os sinais de dados quanto de clock.
  • Apesar de ser diferencial, o CAN normalmente não exige uma ponta de prova diferencial para osciloscópios. Em vez disso, uma ponta de prova de extremidade única no sinal «CANL» ou «CANH» é suficiente para que um decodificador de osciloscópio decodifique o barramento.
  • Todos os osciloscópios da Rohde & Schwarz têm opções de protocolo serial adicionais. Os triggers disponíveis variam de acordo com o modelo do osciloscópio e seus recursos de largura de banda. No entanto, a maioria oferece suporte para os protocolos seriais básicos listados aqui.
  • Para depuração de uso geral com protocolos seriais comuns, procure o RTB2000 ou o RTM3000. Para protocolos mais rápidos que 480 Mbit/s, procure os osciloscópios MXO4 (1,5 GHz), RTO e RTP.

Você quer saber mais sobre os princípios básicos dos testes?

Inscreva-se para receber nossos boletins informativos

Você também pode gostar de