Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Compreendendo o UART


O UART, ou receptor-transmissor assíncrono universal, é um dos protocolos de comunicação dispositivo a dispositivo mais usados. Este artigo mostra como usar um UART como protocolo de comunicação de hardware seguindo o procedimento padrão.

Quando configurado corretamente, o UART pode funcionar com muitos tipos diferentes de protocolos seriais que envolvem a transmissão e o recebimento de dados seriais. Na comunicação serial, os dados são transferidos bit a bit usando uma única linha ou fio. Na comunicação bidirecional, usamos dois fios para uma transferência de dados seriais com sucesso. Dependendo da aplicação e dos requisitos do sistema, as comunicações seriais precisam de menos circuitos e fios, o que reduz o custo de implementação.

Neste artigo, discutiremos os princípios fundamentais ao usar um UART, com foco na transmissão de pacotes, protocolo de quadro padrão e protocolos de quadro personalizados que são recursos de valor agregado para conformidade de segurança quando implementados, especialmente durante o desenvolvimento de código. Durante o desenvolvimento do produto, este documento também visa compartilhar algumas etapas básicas ao verificar em uma planilha de dados para uso real.

No final do artigo, o objetivo é obter um melhor entendimento e conformidade com os padrões UART para maximizar os recursos e a aplicação, principalmente no desenvolvimento de novos produtos.

“O maior problema de comunicação é a ilusão de que isso aconteceu.”

—George Bernard Shaw

O protocolo de comunicação desempenha um grande papel na organização da comunicação entre os dispositivos. Ele é projetado de maneiras diferentes com base nos requisitos do sistema e esses protocolos têm uma regra específica acordada entre os dispositivos para obter uma comunicação bem-sucedida.

Sistemas embarcados, microcontroladores e computadores usam principalmente um UART como uma forma de protocolo de comunicação de hardware de dispositivo para dispositivo. Entre os protocolos de comunicação disponíveis, um UART usa apenas dois fios para suas extremidades de transmissão e recepção.

Apesar de ser um método amplamente utilizado de protocolo de comunicação de hardware, ele não é totalmente otimizado o tempo todo. A implementação adequada do protocolo de quadro é comumente desconsiderada ao usar o módulo UART dentro do microcontrolador.

Por definição, UART é um protocolo de comunicação de hardware que usa comunicação serial assíncrona com velocidade configurável. Assíncrono significa que não há sinal de clock para sincronizar os bits de saída do dispositivo de transmissão que vai para a extremidade de recepção.

Interface


Figura 1. Dois UARTs se comunicam diretamente entre si.

Os dois sinais de cada dispositivo UART são nomeados:


O objetivo principal de uma linha transmissora e receptora para cada dispositivo é transmitir e receber dados seriais destinados à comunicação serial.


Figura 2. UART com barramento de dados.

O UART de transmissão é conectado a um barramento de dados de controle que envia dados de forma paralela. A partir disso, os dados serão agora transmitidos na linha de transmissão (fio) em série, bit a bit, para o UART receptor. Isso, por sua vez, converterá os dados seriais em paralelo para o dispositivo receptor.

As linhas UART servem como meio de comunicação para transmitir e receber dados para outro. Observe que um dispositivo UART tem um pino de transmissão e recepção dedicado para transmissão ou recepção.

Para UART e a maioria das comunicações seriais, a taxa de baud deve ser definida da mesma forma no dispositivo de transmissão e recepção. A taxa de transmissão é a taxa na qual as informações são transferidas para um canal de comunicação. No contexto da porta serial, a taxa de transmissão definida servirá como o número máximo de bits por segundo a serem transferidos.

A Tabela 1 resume o que devemos saber sobre a UART.

Tabela 1. Resumo UART
Wires2Speed9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1000000, 1500000Métodos de transmissãoAsynchronousMaximum Number of Masters1Maximum Number of Slaves1
A interface UART não usa um sinal de relógio para sincronizar os dispositivos transmissor e receptor; ele transmite dados de forma assíncrona. Em vez de um sinal de relógio, o transmissor gera um fluxo de bits com base em seu sinal de relógio, enquanto o receptor usa seu sinal de relógio interno para amostrar os dados de entrada. O ponto de sincronização é gerenciado por ter a mesma taxa de transmissão em ambos os dispositivos. Deixar de fazer isso pode afetar o tempo de envio e recebimento de dados, o que pode causar discrepâncias durante o tratamento dos dados. A diferença permitida de taxa de transmissão é de até 10% antes que o tempo dos bits fique muito distante.

Transmissão de Dados

Em um UART, o modo de transmissão é na forma de um pacote. A peça que conecta o transmissor e o receptor inclui a criação de pacotes seriais e controla essas linhas de hardware físico. Um pacote consiste em um bit de início, um quadro de dados, um bit de paridade e bits de parada.


Figura 3. Pacote UART.

Bit de início

A linha de transmissão de dados UART é normalmente mantida em um nível de alta tensão quando não está transmitindo dados. Para iniciar a transferência de dados, o UART de transmissão puxa a linha de transmissão de alta para baixa por um (1) ciclo de clock. Quando o UART receptor detecta a transição de alta para baixa tensão, ele começa a ler os bits no quadro de dados na frequência da taxa de transmissão.


Figura 4. Bit inicial.

Quadro de dados

O quadro de dados contém os dados reais que estão sendo transferidos. Pode ter cinco (5) bits até oito (8) bits se um bit de paridade for usado. Se nenhum bit de paridade for usado, o quadro de dados pode ter nove (9) bits de comprimento. Na maioria dos casos, os dados são enviados com o bit menos significativo primeiro.


Figura 5. Quadro de dados.

Paridade

A paridade descreve a uniformidade ou imparcialidade de um número. O bit de paridade é uma forma de o UART receptor saber se algum dado foi alterado durante a transmissão. Os bits podem ser alterados por radiação eletromagnética, taxas de transmissão incompatíveis ou transferências de dados de longa distância.

Depois que o UART receptor lê o quadro de dados, ele conta o número de bits com um valor de 1 e verifica se o total é um número par ou ímpar. Se o bit de paridade for 0 (paridade par), o 1 ou bit lógico alto no quadro de dados deve totalizar um número par. Se o bit de paridade for 1 (paridade ímpar), o bit 1 ou altos lógicos no quadro de dados deve totalizar um número ímpar.

Quando o bit de paridade corresponde aos dados, o UART sabe que a transmissão estava livre de erros. Mas se o bit de paridade for 0 e o total for ímpar, ou o bit de paridade for 1, e o total for par, o UART sabe que os bits no quadro de dados mudaram.


Figura 6. Bits de paridade.

Stop Bits

Para sinalizar o fim do pacote de dados, o UART de envio conduz a linha de transmissão de dados de uma tensão baixa para uma tensão alta por um (1) a dois (2) bit (s) de duração.


Figura 7. Bits de parada.

Etapas de transmissão UART

Primeiro:O UART transmissor recebe dados em paralelo do barramento de dados.


Figura 8. Barramento de dados para o UART de transmissão.

Segundo:O UART de transmissão adiciona o bit de início, o bit de paridade e o (s) bit (s) de parada ao quadro de dados.


Figura 9. Frame de dados UART no lado Tx.

Terceiro:O pacote inteiro é enviado serialmente, começando do bit de início ao bit de parada, do UART de transmissão para o UART de recebimento. O UART de recebimento faz uma amostra da linha de dados na taxa de transmissão pré-configurada.


Figura 10. Transmissão UART.

Quarto:O UART receptor descarta o bit de início, o bit de paridade e o bit de parada do quadro de dados.


Figura 11. O quadro de dados UART no lado Rx.

Quinto:O UART receptor converte os dados seriais de volta em paralelo e os transfere para o barramento de dados na extremidade receptora.


Figura 12. Recebendo UART para barramento de dados.

Protocolo de Quadro

Um recurso importante que está disponível no UART, mas não totalmente usado, é a implementação de um protocolo de quadro. O principal uso e importância disso é um valor agregado para segurança e proteção em cada dispositivo.

Por exemplo, quando dois dispositivos usam o mesmo protocolo de quadro UART, há tendências de que, ao se conectar ao mesmo UART sem verificar a configuração, o dispositivo seja conectado a pinos diferentes que podem causar mau funcionamento do sistema.

Por outro lado, implementar isso garante a segurança devido à necessidade de analisar as informações recebidas em alinhamento com o protocolo do quadro de design. Cada protocolo de quadro é projetado especificamente para ser único e seguro.

Ao projetar um protocolo de quadro, os projetistas podem definir os cabeçalhos e trailers desejados, incluindo CRC, para dispositivos diferentes. Na Figura 13, dois (2) bytes são definidos como parte do cabeçalho.

Segundo:no mapa de memória, verifique o endereço UART.


Figura 13. Exemplo de protocolo de quadro UART.

Com base na amostra, você pode definir um cabeçalho, um trailer e um CRC exclusivos para o seu dispositivo.

Cabeçalho 1 (H1 é 0xAB) e Cabeçalho 2 (H2 é 0xCD)

Cabeçalho é o identificador único que determina se você está se comunicando com

o dispositivo correto.

Seleção de Comando (CMD)

O comando dependerá da lista de comandos projetada para criar a comunicação entre dois dispositivos.

Comprimento de dados (DL) por comando

O comprimento dos dados será baseado no comando escolhido. Você pode maximizar o comprimento dos dados dependendo do comando escolhido, então ele pode variar com base na seleção. Nesse caso, o comprimento dos dados pode ser ajustado.

Dados n (dados variáveis)

Os dados são a carga útil a ser transferida dos dispositivos.

Trailer 1 (T1 é 0xE1) e Trailer 2 (T2 é 0xE2)

Trailers são dados adicionados após o término da transmissão. Assim como o cabeçalho, eles podem ser identificados de maneira única.

Verificação de redundância cíclica (fórmula CRC)

A fórmula de verificação de redundância cíclica é um modo de detecção de erro adicionado para detectar mudanças acidentais em dados brutos. O valor CRC do dispositivo de transmissão deve ser sempre igual aos cálculos CRC na extremidade do receptor.

É aconselhável adicionar segurança implementando protocolos de quadro para cada dispositivo UART. O protocolo de quadro precisa de configurações idênticas nos dispositivos de transmissão e recepção.

Operações UART

Ao usar qualquer protocolo de comunicação de hardware, é um pré-requisito verificar a folha de dados e o manual de referência de hardware.

Aqui estão as etapas a seguir:

Primeiro:Verifique a interface da planilha de dados do dispositivo.


Figura 14. Folha de dados do microcontrolador.


Figura 15. Mapa de memória do microcontrolador.

Terceiro:Verifique os detalhes específicos da PORTA UART, como modo de operação, comprimento dos bits de dados, bit de paridade e bits de parada. Detalhes da porta UART de amostra na planilha de dados:

Porta UART
Os MCUs de amostra fornecem uma porta UART full-duplex, que é totalmente compatível com UARTs padrão de PC. A porta UART fornece uma interface UART simplificada para outros periféricos ou hosts, suportando full-duplex, DMA e transferência assíncrona de dados seriais. A porta UART inclui suporte para cinco a oito bits de dados e nenhuma paridade, par ou ímpar. Um quadro é encerrado por um e meio ou dois bits de parada.

Quarto:Verifique os detalhes da operação UART, incluindo o cálculo da taxa de transmissão. A taxa de transmissão é configurada usando a seguinte fórmula de amostra. Esta fórmula varia dependendo do microcontrolador.

Detalhes de amostra de operações UART:


Onde,

OSR (taxa de sobreamostragem)
UART_LCR2.OSR =0 a 3
DIV (divisor de taxa de transmissão)
UART_DIV =1 a 65535
M (DIVM taxa de transmissão fracionária M)
UART_FBR.DIVM =1 a 3
N (DIVM taxa de transmissão fracionária M)
UART_FBR.DIVN =0 a 2047

Quinto:Para a taxa de transmissão, certifique-se de verificar qual clock periférico (PCLK) usar. Neste exemplo, há um PCLK de 26 MHz e um PCLK de 16 MHz disponíveis. Observe que OSR, DIV, DIVM e DIVN variam por dispositivo.

Tabela 2. Exemplo de taxa de transmissão baseada em 26 MHz PCLK
Taxa Baud OSR DIV DIVM DIVN 9600324310781152003411563
Tabela 3. Exemplo de taxa de transmissão com base em 16 MHz PCLK
Taxa Baud OSR DIV DIVM DIVN 960031731078115200322348
Sexto:a próxima parte é verificar os registros detalhados para a configuração do UART. Dê uma olhada nos parâmetros de cálculo da taxa de transmissão, como UART_LCR2, UART_DIV e UART_FBR. A Tabela 4 levará a um registro específico a ser coberto.

Tabela 4. Descrições de registro UART
Nome Descrição UART_DIVBud rate dividerUART_FIBRFractional baud rateUART_LCR2Segundo controle de linha
Sétimo:Em cada registro, verifique os detalhes e substitua os valores para calcular a taxa de bauds, em seguida, comece a implementar o UART.

Por que é importante?

A familiaridade com o protocolo de comunicação UART é vantajosa ao desenvolver produtos robustos e voltados para a qualidade. Saber como enviar dados usando apenas dois fios, bem como transportar um pacote inteiro de dados ou uma carga útil, ajudará a garantir que os dados sejam transferidos e recebidos sem erros. Como o UART é o protocolo de comunicação de hardware mais comumente usado, esse conhecimento pode permitir flexibilidade de projeto em projetos futuros.

Casos de uso

Você pode usar o UART para muitos aplicativos, como:


Referências

“Noções básicas de comunicação UART.” Electronics Hub, julho de 2017.

Campbell, Scott. “Noções básicas de comunicação UART.” Noções básicas de circuito . Keim, Robert.

“De volta ao básico:o receptor / transmissor assíncrono universal.” Tudo sobre circuitos , Dezembro de 2016.

“O que é protocolo UART? Comunicação UART explicada. ” Flecha.

Integrado

  1. Compreendendo o Processo de Fabricação do Eixo
  2. Compreendendo a importância da cultura da nuvem
  3. Compreendendo os benefícios da manutenção preditiva
  4. Noções básicas de fresadora
  5. Entendendo a linha de corte no comprimento
  6. Entendendo os vários tipos de estresse residual
  7. Entendendo o funcionamento do amortecedor
  8. Entendendo os diferentes tipos de fluxo de fluido
  9. Entendendo o termo acoplamento
  10. Entendendo a flexibilidade de um material