A interface UART é uma tecnologia que permite receber dados em um dispositivo, e transmitir em outro.
Para projetos com essa finalidade, o protocolo UART acaba se tornando uma das opções mais escolhidas para demandas de comunicação serial e, ainda, com o diferencial de usar apenas dois fios: muito mais praticidade e organização.
Esse é um método de comunicação muito bem documentado e amplamente utilizado, e, para destacar suas funcionalidades e vantagens, a gente preparou um conteúdo especial sobre interface UART!
Acompanhe abaixo o guia completo da Victor Vision, sua especialista em displays, para saber o que é o sistema UART, principais características, e até como aplicar em um projeto com Arduino.
Boa leitura!
O que é interface UART? (Universal Asynchronous Receiver/Transmitter)
Vamos começar esse conteúdo falando sobre os conceitos básicos?
A sigla está em inglês, mas já dá para se ter uma boa ideia do que se trata um sistema UART: transmissão ou recebimento universal assíncrono.
Ou seja: essa interface é responsável por permitir a comunicação entre dois dispositivos (sim, apenas dois), onde um recebe os dados, e o outro, transmite.
A assincronicidade do sistema UART diz respeito a sua falta de clock, o que, em outras palavras, significa que a interface não possui um sinal de relógio para coordenar as ações desempenhadas nos dispositivos integrados.
Ainda, a interface UART é universal porque, mesmo só permitindo a comunicação entre dois dispositivos, eles podem ser diversos, o que torna essa tecnologia muito versátil.
Como funciona a interface UART?
Foto: Shutterstock
A função da interface UART, como citamos, é realizar a transmissão de dados entre um dispositivo e outro, que podem ser microcontroladores, memória, ou até processadores.
Basicamente, o UART pega os bytes de dados e transmite seus bits, individuais, de forma sequencial; o outro dispositivo linkado ao UART é o destino final, reunindo os bits transmitidos e transformando-os em bytes completos.
A transmissão em uma interface UART pode ser feita de forma síncrona e assíncrona; vamos saber como elas funcionam e as diferenças entre elas? Confira:
1. Transmissão serial síncrona
Justamente pela sua possibilidade de fazer transmissões de forma síncrona e assíncrona, outra forma de chamar o sistema é por meio da sigla USART, que define o transmissor como capaz de realizar comunicações em ambas as modalidades.
Na transmissão síncrona, o emissor e o transmissor demandam um trabalho em conjunto: o remetente deve enviar um sinal estroboscópico, ou um outro sinal de tempo, de modo que o receptor entenda em qual momento ele deve ler o bit de dados que vai chegar em breve.
Quer um exemplo? Uma forma comum de transmissão síncrona é a forma de operação de uma impressora: os dados são enviados por meio de um conjunto de fios, enquanto existe um clock (ou um strobe), que é enviado por um fio diferente.
Esse tipo de transmissão é considerada muito eficiente, uma vez que somente os bits de dados são transmitidos entre o remetente e seu receptor, tornando essa comunicação ainda mais rápida e econômica.
2. Transmissão serial assíncrona
Já na transmissão serial assíncrona, os dados podem ser receptados sem que o emissor precise enviar um sinal de relógio.
Aqui, o remetente e o dispositivo que recebe o sinal devem trabalhar de forma paralela, conjunta, agindo em concordância com os parâmetros de tempo definidos.
Além disso, bits essenciais são adicionados a cada dado enviado, sincronizando as unidades nos processos de transmissão e recebimento.
Isso torna a transmissão serial assíncrona quase que automatizada, com os dados auto-sincronizados; isso implica em uma linha de transmissão inativa, se não houverem dados para transmitir.
3. Demais funções UART
A conversão e transmissão de dados não são as únicas funções de uma interface UART.
Também é possível usar esse sistema para fornecer circuitos adicionais para sinais, por exemplo, além de poder ser usado para a regulagem de fluxo de dados, no caso de dispositivos remotos não mais preparados para recepção.
Como funciona a comunicação UART com arduino?
Citamos na introdução do artigo que é possível aliar as funcionalidades do Arduino à interface UART, proporcionando uma comunicação serial diferenciada.
Por meio desse canal de transmissão, contamos com o upload de do código para a placa em questão, o que é um recurso poderoso.
Isso acontece, quando temos uma comunicação UART com arduino, porque acontece a comunicação entre a placa e o computador, ou qualquer outro dispositivo, que, quando ligado aos pinos digitais, conectados a um microcontrolador, podem traduzir um sinal de comunicação entre um USB e um computador.
Foto: Shutterstock
Projeto de Interface Gráfica (Exemplo com Arduino Uno e C#)
Também é possível trabalhar um projeto de interface gráfica com o UART – e, ainda, usando um hardware Arduino Uno.
Desenvolver uma interface gráfica com esses recursos facilita muito o projeto e a sua manipulação, e a escolha de um Arduino Uno para desenvolver um receptor de sinal promove facilidade no uso de periféricos, graças à sua fácil prototipagem.
Para um projeto assim, você vai precisar de:
- Arduino Uno;
- botão push-bottom;
- Visual Studio 2017;
- 3 resistores de 1 kΩ;
- 1 resistor de 100 kΩ;
- Arduino Software IDE;
- Shield LCD Keypad Arduino.
O código para esse projeto pode ser acessado aqui.
Receptor e transmissão serial
O Arduino é utilizado nesse projeto, assim como acontece com vários outros, justamente pela sua prototipação prática e versátil.
É preciso seguir um diagrama de montagem para garantir que o receptor esteja pronto para receber a transmissão, além de ser importante a realização de testes no esquema elétrico, quando montado.
Protocolo
A comunicação serial, aqui nesse projeto, é dividida nas partes do cabeçalho e dos dados úteis.
É graças ao cabeçalho que é possível saber quais dados serão manipulados: entrada e saída digitais, LCD e os dados seriais.
O código para o Sketch do Arduino também está disponível aqui no GitHub.
Conclusão
No artigo de hoje, você viu o que é uma interface UART, e de que forma ela pode ser aplicada em diversos projetos, inclusive com o suporte de um arduino.
Quer mais dicas? Acesse aqui o blog da Victor Vision.
💡Leia também: Programas de modelagem 3D: as melhores ferramentas para criar projetos tridimensionais