Lembre-se de quando impressoras, mouses e modems tinhamcabos grossos com aqueles conectores enormes e desajeitados? Aqueles que literalmente tiveram que se aparafusar em um computador? Poucas pessoas sabem que esses componentes UART foram usados para se comunicar com seu computador. A tecnologia USB substituiu quase completamente esses cabos e conectores antigos. As interfaces UART descritas neste artigo não são coisa do passado. Eles são usados em muitos projetos eletrônicos DIY para conectar módulos de leitor de cartão GPS, Bluetooth e RFID a Pi, Arduino ou outros microcontroladores.
Interface UART: descrição
UART significa Universal AssíncronoReceptor Transmissor. Não é um protocolo de comunicação como o SPI e I2C, mas um circuito físico em um microcontrolador. O objetivo principal é transmitir e receber informações. Um dos melhores avanços da tecnologia é que ele usa apenas dois fios.
A interface UART é composta por dois dispositivos quetrocar dados entre si. A fonte transmissora serializa as informações de um dispositivo de controle, como uma unidade de processamento central, e as transmite em ordem sequencial para o UART receptor, que converte os valores para o dispositivo receptor. Apenas dois fios são necessários para transferir informações entre dois dispositivos.
Introdução à comunicação UART
UART RS485 transmitirt dados de forma assíncrona, o que significa que nãosinal para sincronizar a saída dos bits do transmissor para o receptor. Em vez de um sinal de relógio, o UART de transmissão adiciona os bits de início e fim do pacote transmitido. Esses parâmetros definem o início e o fim do documento.
Quando o UART receptor detecta o iníciobit, ele começa a ler os bits de entrada a uma taxa específica conhecida como taxa de baud. A taxa de transmissão é uma medida da velocidade expressa na unidade de medida - bit / s. Ambos os dispositivos devem operar aproximadamente na mesma taxa de transmissão. A velocidade de transmissão entre os dispositivos de transmissão e recepção pode variar em 10%.
Ambos os dispositivos também devem ser configurados para enviar e receber a mesma estrutura de pacotes.
UART - o que é e como funciona?
O UART que vai transmitir informações,obtém do barramento de dados. É usado para enviar informações a outro dispositivo, como processador, memória ou microcontrolador. Depois que o UART de transmissão recebe dados paralelos do barramento de dados, ele adiciona um bit de início, paridade e parada para criar um pacote de dados. Em seguida, o pacote é enviado sequencialmente, peça por peça. O UART receptor lê um bit de dados em seu pino. O UART receptor converte as informações de volta à forma paralela, remove o bit de início e os bits de parada. Finalmente, o UART receptor transmite o pacote de dados em paralelo ao barramento de dados no lado receptor.
A linha de transmissão geralmente é mantida altanível de tensão quando não transmite informações. Para iniciar a transmissão de dados, o UART de transmissão puxa a linha de transmissão de alta para baixa em um ciclo de clock. Quando o UART receptor detecta uma transição de alta para baixa tensão, ele começa a ler os bits no quadro de dados na taxa de transmissão.
Recursos técnicos
O sistema UART básico fornece confiabilidade,velocidade moderada, comunicação full duplex com três sinais: Tx (dados seriais transmitidos), Rx (dados seriais recebidos) e terra. Ao contrário de outros protocolos, como SPI e I2C, nenhum sinal de clock é necessário, pois o usuário fornece ao hardware UART as informações de tempo necessárias.
Sinal de dados típico na descrição da interface UARTÉ simplesmente uma tensão que vai entre a lógica baixa e a lógica alta. O receptor pode converter corretamente esses estados lógicos em dados digitais apenas se souber quando amostrar o sinal. Isso pode ser feito facilmente usando um sinal de clock separado. Por exemplo, o transmissor atualiza o sinal de dados em cada borda ascendente e, em seguida, o receptor faz uma amostra dos dados em cada borda descendente.
Termos chave
O bit de início é o primeiro bit de uma transferência de byte único.Isso indica que a linha de dados está saindo do estado ocioso. O estado inativo geralmente está em um nível lógico alto, portanto, o bit de início está em um nível lógico baixo.
O bit de início é um pouco de informação de serviço. Isso significa que facilita a comunicação entre o receptor e o transmissor, mas não transmite dados significativos.
O bit de parada é o último bit de uma transferência de byte único. Seu nível lógico é igual ao estado ocioso do sinal, ou seja, o máximo lógico.
Procedimento passo a passo
Para sinalizar a conclusão de um pacote de dados, o UART de envio conecta a linha de dados de baixa tensão para alta tensão por dois bits de duração.
Descrição da interface UART:
O UART de transmissão recebe dados em paralelo do barramento de dados e adiciona o bit de início, o bit de paridade e o (s) bit (s) de parada ao quadro de dados.
Todo o pacote é enviado sequencialmente da transmissão para o receptor UART, que faz uma amostra da linha de dados a uma taxa de transmissão pré-configurada.
O UART receptor descarta o bit de início, o bit de paridade e o bit de parada do quadro de dados, converte os dados seriais de volta em paralelo e os transmite ao barramento de dados no lado receptor.
Converte os bytes recebidos do computador em esquemas paralelos em um fluxo de bits serial para transmissão de saída.
Na transmissão de entrada, converte o fluxo de bits serial em bytes que o computador processa.
Adiciona o bit de paridade (se selecionado) às transmissões de saída, verifica a paridade dos bytes de entrada (se selecionado), descarta o bit de paridade.
Adiciona separadores de início e fim para transferências de saída, remove-os das transferências de entrada.
Vantagens e desvantagens
O protocolo de comunicação não é perfeito, mas os UARTs são muito bons no que fazem. Aqui estão alguns prós e contras para ajudá-lo a decidir se eles atendem às necessidades do seu projeto:
Benefícios:
Apenas dois fios são usados.
Sem sinal de sincronização.
Possui um bit de paridade para verificação de erros.
A estrutura do pacote de dados pode ser alterada se ambos os lados estiverem configurados para isso.
Método bem documentado e amplamente utilizado.
Desvantagens:
O tamanho do quadro de dados é limitado a um máximo de 9 bits.
Não suporta múltiplos sistemas escravos ou múltiplos mestres.
Além disso, a taxa de transmissão de cada UART do Arduino deve estar dentro de 10% uma da outra.