Nos dias de hoje, transferimos informações digitais a todo instante. Porém, você já parou para pensar em como esse envio pode ser feito? Uma das formas é a comunicação, que é bastante comum.

No dia-a-dia, utilizamos diversos dispositivos que fazem este tipo de comunicação, por exemplo o pen drive. Então, vamos ver o que ela é e como a comunicação serial assíncrona funciona.


O que é a comunicação serial

A comunicação serial se trata de um processo de transmissão de dados bit a bit em uma sequência. Isto é, em um canal de comunicação (um fio por exemplo), cada bit é enviado por vez.

Em contrapartida, existe a comunicação paralela, que consiste em 8 canais (normalmente) de comunicação. E, cada canal envia um bit de cada vez. Isso faz ela ser uma comunicação mais rápida, já que, em uma mesma velocidade, dá para enviar mais informações.

A desvantagem é que ela é uma comunicação relativamente cara. Simplificadamente, isso ocorre pois é necessário utilizar um fio para cada canal de transmissão ou recepção de dados.

A comunicação serial, então, possui a vantagem e a desvantagem trocada em relação a paralela: é mais lenta, porém é mais barata de implementar.

Baud Rate

Uma coisa muito importante na hora de transmitir os bits é a velocidade de comunicação. E é comum tratar dessa velocidade como baud rate. Baud rate indica quantos símbolos podem ser enviados por segundo.

E, no meio digital, existem dois símbolos, que são o 0 e o 1. Portanto, baud rate, neste contexto, indica a quantidade de bits enviados por segundo.

Sincronismo

A comunicação serial pode ser síncrona ou assíncrona. A diferença entre as duas é que: a síncrona utiliza um clock em comum entre os dois dispositivos que estão comunicando. E, na assíncrona, cada dispositivo utiliza um clock próprio configurado na mesma velocidade de referência, além de alguns bits de controle.

Alguns tipos de comunicação síncronas, são: SPI e I²C.


Funcionamento da comunicação assíncrona

Diagrama

Imagine que precisamos transmitir informações entre dois dispositivos.

Cada dispositivo precisa receber os dados e enviá-los. Sendo assim, é necessário um canal de recepção (RX) e um de envio (TX) para cada um. Além disso, os dois dispositivos precisam estar com o terra (GND) interligado, para que o referencial seja o mesmo e, assim, a informação seja tratada igual.

ligação da comunicação serial

A imagem acima mostra os dois dispositivos (1 e 2) e suas respectivas comunicações. Como é um tipo de comunicação assíncrona, não existe uma linha de clock para ditar o ritmo da transmissão.

Bloco de dados

O bloco de dados é enviado da seguinte forma:

Comunicação serial bloco de dados transmitidos

A transferência dos dados começa com a linha de transmissão passando de um estado constante de nível alto para nível baixo. E, o responsável por isso é o bit de início, que é 0, pois manda sinal de nível baixo. O bit de parada faz a função contrária, manda sinal de nível alto para que a linha fique constante em nível alto novamente.

Os dados enviados (a informação no caso) normalmente são um conjunto de 8 bits, ou um byte.

O bit de paridade serve para verificar se a comunicação foi bem sucedida. Se ele estiver configurado como par, ele vale 0 se a quantidade de 1’s nos dados enviados for par e 1 se for impar. E caso ele estiver configurado como impar, o contrário acontece. Com isso, é possível fazer uma verificação da validade dos dados, se foram enviados corretamente. As vezes o bit de paridade pode não existir dentro da comunicação serial.

E é claro que esse bloco de transmissão diz respeito a uma pequena quantidade de informação, mas a transmissão é contínua. Portanto, vários blocos mostrados na imagem acima são enviados em sequência.

Uma coisa importante a ser observada, é que ambos os dispositivos devem ter a mesma configuração de velocidade, de quantidade de bits de dados e quantidade de bits de parada (podem ser 1 ou 2). Caso contrário, os dois não vão estar alinhados na comunicação e isso gerará erros.

Obs.: Dentro dos bits dos dados, é preciso saber também qual a ordem de envio, se é do mais significativo pro menos significativo ou o contrário.

Exemplo

Exemplo de comunicação serial assíncrona

No caso da imagem acima, o bit de início mandou a linha de transmissão para 0 como foi dito anteriormente. E o bit de parada elevou a linha para 1 novamente. Após a comunicação ter sido iniciada, o seguinte byte foi enviado: 10110100 (supondo que envia primeiro o mais significativo).

Com isso, existem 4 números 1’s dentro deste byte, ou seja, é uma quantidade par. Portanto, o bit de paridade par equivale a 0.

O bit de paridade é decidido antes do envio dos dados, e o outro dispositivo que recebe os dados apenas verifica se ele está condizente com os dados que foram enviados.

RS-485