Compreender protocolos seriais

Fundamentos sobre osciloscópios e pontas de prova

Compreender protocolos seriais

Transferência de dados digitais: transmissão paralela versus serial

Sistemas digitais são baseados no conceito de que bits precisam ser transferidos entre dois componentes ou dispositivos. Há muitas formas de transferir bits, mas os diferentes métodos de transferência podem ser divididos em duas categorias principais: transmissão paralela e serial.

Transmissão paralela

A transmissão paralela transfere simultaneamente múltiplos bits entre o transmissor e o receptor, geralmente com um condutor separado por bit. Conexões paralelas funcionam bem em curtas distâncias e/ou conexões ponto a ponto. Elas têm temporização simples e são relativamente fáceis de analisar. Mas apesar da transmissão paralela ter sido muito utilizada no passado, atualmente ela vem sendo substituída pela transmissão serial.

Transmissão serial

Como o nome implica, a transmissão serial envia os bits um por um, todos através do mesmo condutor. A transmissão serial funciona bem para aplicações com distâncias maiores, aplicações que requerem maiores fluxos e aplicações com múltiplos nós. Mas isso faz com que a transmissão serial seja mais complexa e mais difícil de analisar. Apesar dos bits de dados serem enviados por um único condutor ou "fio", a maioria dos protocolos seriais utilizam múltiplos condutores.

Além do fio para os bits de dados, muitos protocolos também adicionam um sinal de clock e algum tipo de função para controle ou endereçamento de múltiplos nós.

Transmissão paralela

Transmissão serial

Exemplos de protocolos seriais

Protocolos seriais são utilizados em uma ampla variedade de aplicações. Os três principais protocolos seriais utilizados para aplicações genéricas são UART, I²C e SPI.

Uma categoria especial de protocolos seriais são os utilizados na indústria automotiva, tais como CAN, LIN e FlexRay. Esses protocolos foram projetados para lidar com os desafios para requisitos de veículos, tais como possibilitar a operação confiável, tanto em velocidades baixas quanto altas, em ambientes com ruídos.

Aplicações genéricas

Receptor/transmissor assíncrono universal (UART)

  • Protocolo serial clássico
  • Fácil de implementar
  • Tem sido utilizado por décadas em portas seriais e COM para PC

Inter-IC (I²C)

  • Comunicação entre circuitos integrados (e mais)

Interface serial periférica (SPI)

  • Maior velocidade em relação ao I²C
  • Utiliza mais fios e é geralmente mais complexa

Aplicações automotivas

Rede de área do controlador (CAN)

  • Alta velocidade
  • Frequentemente utilizada com sensores

Rede de interconexão local (LIN)

  • Menor velocidade
  • Utilizada com acessórios (por ex. janelas, retrovisores)

FlexRay

  • Maior velocidade com redundância

Características de protocolos seriais

Apesar dos detalhes de implementação diferirem entre os protocolos, todos os protocolos seriais têm quatro características básicas que também são importantes para a análise e decodificação de dados seriais:

  • Níveis: como as tensões são utilizadas para representar zero ou um
  • Temporização: como os bits são frequentemente enviados (tempo de bit)
  • Enquadramento: como os bits são organizados em grupos e o papel de cada bit ou grupo de bits
  • Protocolo: quais mensagens são enviadas e recebidas e em que circunstâncias

Níveis

Antes de fazer qualquer tipo de decodificação digital, precisamos poder distinguir entre uns e zeros. Em outras palavras, como os valores de bits são determinados a partir dos níveis de tensão? Uma abordagem simples seria definir que uma tensão "baixa" é igual a zero e uma tensão "alta" é igual a um. Na verdade, alguns protocolos seriais funcionam assim.
Protocolos seriais utilizados em ambientes com condições adversas, tais como no setor automotivo, frequentemente utilizam uma tensão diferencial, pois sinais diferenciais tendem a ser mais imunes contra ruídos. O termo "diferencial" significa que um 0 ou 1 é definido com base na diferença entre duas tensões, ao invés de ser definido em relação ao solo.

Observe: pontas de prova diferenciais são muito úteis nessas medições.

Temporização

Definir os níveis de tensão "0" e "1" não é suficiente para determinar quais bits estão recebendo. Adicionalmente, é importante compreender com que rapidez os bits estão sendo gerados, em outras palavras, o "tempo de bits" ou a "taxa de bits".
Para decodificar dados seriais, o receptor ou instrumento deve utilizar a mesma taxa de bits que o transmissor.

Enquadramento

Protocolos seriais geralmente organizam bits nos chamados "frames". Os bits individuais ou grupos de bits no frame têm significados definidos. Para decodificar frames corretamente, é necessário conhecer essa estrutura.
Por exemplo, ao decodificar o protocolo serial UART, é importante saber que o estado inativo da linha é um nível de alta tensão. Uma transição de alto a baixo é um "bit inicial" indicando o início do frame. Além disso, é necessário compreender quantos bits de dados devem ser lidos, bem como o fato de que existe um bit de parada de nível de alta tensão que termina o frame, seguido por um retorno ao estado inativo. Ao conhecer a estrutura de frames, é possível extrair os dados de usuário podem do fluxo serial de bits e obter outras informações sobre a transmissão.

Bits geralmente são organizados em "frames"; cada bit ou grupo de bits em um frame tem um significado definido

Protocolo

O último aspecto a considerar pode ser denominado "protocolo". Uma definição genérica de protocolo é um conjunto de regras para decodificação e troca e informações. Pode haver regras sobre como e quando os dados são enviados, sobre os tipos e significados de mensagens trocadas entre os pontos de extremidade.
Um protocolo simples seria enviar dados assim que eles estiverem disponíveis, independentemente do receptor estar ou não pronto para os dados. Um protocolo mais sofisticado seria utilizar um mecanismo para pedir permissão antes de enviar dados. Outro protocolo ainda mais sofisticado poderia envolver a espera do emissor pelo reconhecimento de um fator explícito de que os dados foram corretamente recebidos antes de enviar mais dados ou enviar novamente dados em falta ou recebidos com erros.

Decodificação de protocolos seriais

No passado, os protocolos seriais geralmente eram decodificados utilizando testadores de protocolo específicos especiais. Atualmente, o método mais comum é utilizar um moderno osciloscópio de armazenamento digital com um ou mais canais. Após escolher o protocolo serial de interesse, os níveis, a temporização e o enquadramento devem ser configurados para corresponder ao sinal serial analisado. Usando essa informação, o osciloscópio produz resultados na forma de níveis de tensão bruta, bits detectados e frames cujos conteúdos podem ser exibidos em formato binário, hex ou ASCII. A decodificação serial em osciloscópios também inclui frequentemente funcionalidades adicionais, tais como triggering em símbolos específicos dentro do frame e atribuição de rótulos legíveis por pessoas aos padrões definidos por usuários e dados exportados.

Compreender protocolos seriais

Assista nosso vídeo "Compreender protocolos seriais" para aprender mais

Esse vídeo explica a visão geral técnica de protocolos seriais e como as mensagens de protocolos são decodificadas e analisadas utilizando um osciloscópio.

Resumo

Protocolos seriais são usados para transferir bits, em sequência ou um por um, entre componentes ou entre dispositivos separados.

Comunicações seriais são utilizadas em quase todos os aparelhos digitais

Os protocolos seriais podem ser divididos em:

  • Padrões genéricos como UART, I²C e SPI
  • Mais protocolos específicos para aplicações, como CAN, LIN e FlexRay (principalmente utilizados no setor automotivo)

Todos os protocolos seriais têm determinadas características, por exemplo:

  • Como tensões são mapeadas em bits;
  • A temporização ou taxa de bits;
  • Como os bits são organizados em unidades de mensagem, ou frames; bem como
  • Os tipos de frames trocados e as regras sobre quando cada tipo de frame é enviado.

Modernos osciloscópios digitais agora são a ferramenta ideal para analisar e decodificar dados seriais.

Você tem dúvidas ou questões sobre protocolos seriais ou sobre a decodificação de protocolos seriais? Nossos especialistas ajudam você.