Você está na página 1de 6

PROTOCOLOS DE COMUNICAÇÃO SERIAL

Antes de começar com os protocolos de comunicação serial, vamos dividir a terminologia em três partes.
A comunicação é uma terminologia muito conhecida que envolve a troca de informações entre dois ou mais médiuns.
Em sistemas embarcados, a comunicação significa a troca de dados entre dois microcontroladores na forma de bits.

Essa troca de bits de dados no microcontrolador é feita por um conjunto de regras definidas conhecidas como protocolos de
comunicação .
Agora, se os dados são enviados em série , ou seja, um após o outro, o protocolo de comunicação é conhecido como Protocolo de
Comunicação Serial .

Mais especificamente, os bits de dados são transmitidos um de cada vez de maneira sequencial pelo barramento de dados ou canal
de comunicação na Comunicação Serial.

TIPOS DE PROTOCOLOS DE COMUNICAÇÃO


Existem diferentes tipos de transferência de dados disponíveis na eletrônica digital, como comunicação serial e comunicação
paralela.
Da mesma forma, os protocolos são divididos em dois tipos, como protocolo de comunicação serial e protocolos de
comunicação paralela .

Exemplos de protocolos de comunicação paralela são ISA, ATA, SCSI, PCI e IEEE-488.
Da mesma forma, existem vários exemplos de protocolos de comunicação serial, como CAN, ETHERNET, I2C, SPI, RS232 ,
USB, 1-Wire e SATA etc.

Neste artigo, serão discutidos os diferentes tipos de protocolos de comunicação serial .


A comunicação serial é a abordagem mais amplamente utilizada para transferir informações entre periféricos de processamento de
dados.

Todo dispositivo eletrônico, seja um computador pessoal (PC) ou celular, é executado em comunicação serial.
O protocolo é a forma segura e confiável de comunicação com um conjunto de regras endereçadas pelo host de origem
(remetente) e pelo host de destino (receptor) semelhante à comunicação paralela.

MODOS DE TRANSMISSÃO EM COMUNICAÇÃO SERIAL


Como já foi dito acima, na comunicação serial os dados são enviados na forma de bits, ou seja, pulsos binários e é sabido que o
binário um representa a lógica HIGH e o zero representa a lógica LOW.
Existem vários tipos de comunicação serial, dependendo do tipo de modo de transmissão e transferência de dados.
Os modos de transmissão são classificados como Simplex, Half Duplex e Full Duplex.

MÉTODO SIMPLEX:
No método simplex, o meio, ou seja, o remetente ou o destinatário, pode estar ativo ao mesmo tempo.
Portanto, se o remetente estiver transmitindo os dados, o destinatário só poderá aceitar e vice-versa.
Portanto, o método simplex é uma técnica de comunicação unidirecional .
PROTOCOLOS DE COMUNICAÇÃO SERIAL Página 1 de 6
Os exemplos mais conhecidos do método simplex são a televisão e o rádio.

MÉTODO HALF DUPLEX:


No método half duplex, o remetente e o destinatário podem estar ativos, mas não ao mesmo tempo.
Portanto, se o remetente está transmitindo, o destinatário pode aceitar, mas não pode enviar e vice-versa.
Os exemplos mais conhecidos de half duplex são a internet onde o usuário envia uma solicitação de dados e os obtém do servidor.

MÉTODO FULL DUPLEX:


No método full duplex, tanto o receptor quanto o transmissor podem enviar dados um ao outro ao mesmo tempo.
O exemplo bem conhecido é o telefone celular.
Além disso, para a transmissão adequada de dados, o relógio desempenha um papel importante e é uma das fontes primárias.
O mau funcionamento do relógio resulta em transmissão inesperada de dados e, às vezes, perda de dados.
Portanto, a sincronização do relógio torna-se muito importante ao usar a comunicação serial.

SINCRONIZAÇÃO DO RELÓGIO
O relógio é diferente para dispositivos seriais e é classificado em dois tipos: Interface Serial Síncrona e Interface Serial
Assíncrona.

INTERFACE SERIAL SÍNCRONA:


É uma conexão ponto a ponto de um mestre para um escravo.
Neste tipo de interface, todos os dispositivos utilizam um único barramento de CPU para compartilhar dados e clock.
A transmissão de dados se torna mais rápida com o mesmo barramento para compartilhar relógio e dados.

Também não há incompatibilidade na taxa de transmissão nesta interface.


No lado do transmissor, há um deslocamento dos dados para a linha serial, fornecendo o relógio como um sinal separado, pois não
há início, parada e bits de paridade são adicionados aos dados.

No lado do receptor, os dados são extraídos usando o relógio fornecido pelo transmissor e convertem os dados seriais de volta
para a forma paralela.
Os exemplos bem conhecidos são I2C e SPI.

INTERFACE SERIAL ASSÍNCRONA:


Na Interface Serial assíncrona, o sinal de clock externo está ausente.
As Interfaces Seriais Assíncronas podem ser vistas principalmente em aplicações de longa distância e são um ajuste perfeito para
a comunicação estável.
Na Interface Serial assíncrona a ausência de Fonte de Relógio externa faz com que ela dependa de diversos parâmetros como
Controle de Fluxo de Dados, Controle de Erros, Controle de Taxa de Transmissão, Controle de Transmissão e Controle de
Recepção.

Do lado do transmissor , há um deslocamento de dados paralelos para a linha serial usando seu próprio relógio.
Também adiciona os bits de início, parada e verificação de paridade.
No lado do receptor, o receptor extrai os dados usando seu próprio relógio e converte os dados seriais de volta ao formato paralelo
após retirar os bits de início, parada e paridade.
Os exemplos mais conhecidos são RS-232, RS-422 e RS-485 .

PROTOCOLOS DE COMUNICAÇÃO SERIAL Página 2 de 6


OUTROS TERMOS RELACIONADOS À COMUNICAÇÃO SERIAL
Além da sincronização do relógio, há certas coisas a serem lembradas ao transferir dados serialmente, como taxa de transmissão,
seleção de bits de dados (enquadramento), sincronização e verificação de erros.
Vamos discutir esses termos em breve.

TAXA DE TRANSMISSÃO:
A taxa de transmissão é a taxa na qual os dados são transferidos entre o transmissor e o receptor na forma de bits por segundo
(bps).
A taxa de transmissão mais comumente usada é 9600.
Mas há outras seleções de taxa de transmissão, como 1200, 2400, 4800, 57600, 115200.

Quanto maior a taxa de transmissão, mais os dados serão transferidos por vez.
Também para a comunicação de dados, a taxa de transmissão deve ser a mesma para o transmissor e o receptor.

ENQUADRAMENTO:
O enquadramento refere-se ao número de bits de dados a serem enviados do transmissor ao receptor.
O número de bits de dados difere em caso de aplicação.
A maior parte do aplicativo usa 8 bits como bits de dados padrão, mas também pode ser selecionado como 5, 6 ou 7 bits.

SINCRONIZAÇÃO:
Os bits de sincronização são importantes para selecionar um bloco de dados.
Ele informa o início e o fim dos bits de dados.
O transmissor definirá os bits de início e parada no quadro de dados e o receptor o identificará de acordo e fará o processamento
posterior.

CONTROLE DE ERROS:
O controle de erros desempenha um papel importante durante a comunicação serial, pois há muitos fatores que afetam e
adicionam ruído na comunicação serial.

Para se livrar desse erro, os bits de paridade são usados, onde a paridade verificará a paridade par e ímpar.
Portanto, se o quadro de dados contiver o número par de 1's, será conhecido como paridade par e o bit de paridade no registro será
definido como 1.

Da mesma forma, se o quadro de dados contiver número ímpar de 1's, será conhecido como paridade ímpar e limpará o bit de
paridade ímpar no registrador.
O protocolo é como uma linguagem comum que o sistema usa para entender os dados.
Conforme descrito acima, o protocolo de comunicação serial é dividido em tipos, ou seja, síncrono e assíncrono.
Agora os dois serão discutidos em detalhes.

PROTOCOLOS SERIAIS SÍNCRONOS


Os protocolos seriais do tipo síncrono como SPI, I2C, CAN e LIN são utilizados em diversos projetos por ser um dos melhores
recursos para periféricos embarcados.
Além disso, esses são os protocolos amplamente usados nas principais aplicações.

PROTOCOLO SPI
A Interface Periférica Serial (SPI) é uma interface síncrona que permite que vários microcontroladores SPI sejam
interconectados.
No SPI, são necessários fios separados para linha de dados e relógio.
Além disso, o relógio não está incluído no fluxo de dados e deve ser fornecido como um sinal separado.

O SPI pode ser configurado como mestre ou como escravo.


PROTOCOLOS DE COMUNICAÇÃO SERIAL Página 3 de 6
Os quatro sinais SPI básicos (MISO, MOSI, SCK e SS), Vcc e Ground fazem parte da comunicação de dados.
Portanto, são necessários 6 fios para enviar e receber dados do escravo ou mestre.

Teoricamente, o SPI pode ter um número ilimitado de escravos.


A comunicação de dados é configurada em registradores SPI.
O SPI pode fornecer até 10 Mbps de velocidade e é ideal para comunicação de dados em alta velocidade.

A maioria dos microcontroladores possui suporte embutido para SPI e pode ser conectado diretamente a um dispositivo
compatível com SPI:
 Comunicação SPI com Microcontrolador PIC PIC16F877A
 Como usar a comunicação SPI no microcontrolador STM32
 Como usar SPI no Arduino: Comunicação entre duas placas Arduino

COMUNICAÇÃO SERIAL I2C

Comunicação de duas linhas entre circuitos integrados (I2C) entre diferentes ICs ou módulos onde duas linhas são SDA (Serial
Data Line) e SCL (Serial Clock Line).
Ambas as linhas devem ser conectadas a uma fonte positiva usando um resistor pull up.

O I2C pode fornecer velocidade de até 400 Kbps e usa sistema de endereçamento de 10 bits ou 7 bits para direcionar um
dispositivo específico no barramento i2c para que possa conectar até 1024 dispositivos.
Tem comunicação de comprimento limitado e é ideal para comunicação a bordo.

As redes I2C são fáceis de configurar, pois usam apenas dois fios e novos dispositivos podem ser simplesmente conectados às
duas linhas de barramento I2C comuns.
Assim como o SPI, o microcontrolador geralmente possui pinos I2C para conectar qualquer dispositivo I2C:

PROTOCOLOS DE COMUNICAÇÃO SERIAL Página 4 de 6


 Como usar a comunicação I2C no microcontrolador STM32
 Comunicação I2C com Microcontrolador PIC PIC16F877
 Como usar I2C no Arduino: Comunicação entre duas placas Arduino

USB
USB (Universal Serial Bus) é amplamente protocolo com diferentes versões e velocidades.
Um máximo de 127 periféricos podem ser conectados a um único controlador de host USB.
USB atua como dispositivo "plug and play".

O USB é usado em quase todos os dispositivos como teclados, impressoras, dispositivos de mídia, câmeras, scanners e mouse.
Ele é projetado para fácil instalação, classificação de dados mais rápida, menos cabeamento e hot swapping.
Ele substituiu as portas seriais e paralelas mais volumosas e lentas.
O USB usa sinalização diferencial para reduzir a interferência e permitir a transmissão em alta velocidade em longas distâncias.

Um barramento diferencial é construído com dois fios, um dos quais representa os dados transmitidos e o outro seu complemento.
A ideia é que a tensão 'média' nos fios não carregue nenhuma informação, resultando em menos interferência.
No USB, os dispositivos podem consumir uma certa quantidade de energia sem solicitar ao host.

O USB usa apenas dois fios para transferência de dados e é mais rápido que a interface serial e paralela.
As versões USB suportam diferentes velocidades, como 1,5 Mbps (USB v1.0), 480 Mbps (USB2.0), 5 Gbps (USB v3.0).
O comprimento do cabo USB individual pode atingir até 5 metros sem hub e 40 metros com hub.

CAN
A Rede de Área do Controlador (CAN) é usada, por exemplo, em automóveis para permitir a comunicação entre ECUs (Unidades
de Controle do Motor) e sensores.

O protocolo CAN é robusto, de baixo custo e baseado em mensagens e abrange muitas aplicações - por exemplo, carros,
caminhões, tratores, robôs industriais.
O sistema de barramento CAN permite o diagnóstico central de erros e a configuração em todas as ECUs.

As mensagens CAN são priorizadas por meio de IDs para que os IDs de maior prioridade não sejam interrompidos.
Cada ECU contém um chip para receber todas as mensagens transmitidas, decidir a relevância e agir de acordo - isso permite fácil
modificação e inclusão de nós adicionais (por exemplo, registradores de dados do barramento CAN).

As aplicações incluem partida/parada de veículos, sistemas de prevenção de colisões.


Os sistemas de barramento CAN podem fornecer velocidades de até 1 Mbps.

MICROWIRE
MICROWIRE é uma interface serial de 3 fios de 3 Mbps [full-duplex] essencialmente um subconjunto da interface SPI.
Microwire é uma porta serial de E/S em microcontroladores, então o barramento Microwire também será encontrado em
EEPROMs e outros chips periféricos.
As 3 linhas são SI (Serial Input), SO (SerialOutput) e SK (Serial Clock).

A linha de entrada serial (SI) para o microcontrolador, SO é a linha de saída serial e SK é a linha de relógio serial.
Os dados são deslocados na borda descendente de SK e são valorizados na borda ascendente.
SI é deslocado na borda ascendente de SK.

Um aprimoramento de barramento adicional para MICROWIRE é chamado MICROWIRE/Plus.


A principal diferença entre os dois barramentos parece ser que a arquitetura MICROWIRE/Plus dentro do microcontrolador é
mais complexa.
Ele suporta velocidades de até 3 Mbps.

PROTOCOLOS SERIAIS ASSÍNCRONOS


O tipo assíncrono de protocolos seriais é muito essencial quando se trata de transferência confiável de dados em longas
distâncias.
A comunicação assíncrona não requer um relógio de tempo comum a ambos os dispositivos.
Cada dispositivo escuta e envia pulsos digitais de forma independente que representam bits de dados a uma taxa acordada.

A comunicação serial assíncrona é às vezes chamada de serial Transistor-Transistor Logic (TTL), onde o nível de alta tensão é
lógico 1 e a baixa tensão equivale à lógica 0.
Quase todos os microcontroladores no mercado hoje têm pelo menos um Receptor Assíncrono Universal - Transmissor (UART)
para comunicação serial.
Os exemplos são RS232, RS422, RS485 etc.

RS232
PROTOCOLOS DE COMUNICAÇÃO SERIAL Página 5 de 6
O RS232 (Padrão Recomendado 232) é um protocolo muito comum usado para conectar diferentes periféricos como monitores,
CNCs etc.
O RS232 vem em conectores macho e fêmea.
O RS232 é uma topologia ponto a ponto com no máximo um dispositivo conectado e cobre distâncias de até 15 metros a 9600
bps.

As informações da interface RS-232 são transmitidas digitalmente por 0 e 1 lógicos. O "1" lógico (MARK) corresponde a uma
tensão na faixa de -3 a -15 V. O "0" lógico (SPACE) corresponde a um tensão na faixa de +3 a +15 V.
Vem em conector DB9 que possui 9 pinagens como TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND.

RS422
O RS422 é semelhante ao RS232 que permite enviar e receber mensagens simultaneamente em linhas separadas, mas usa um sinal
diferencial para isso.
Na rede RS-422, pode haver apenas um dispositivo transmissor e até 10 dispositivos receptores.
A velocidade de transferência de dados no RS-422 depende da distância e pode variar de 10 kbps (1200 metros) a 10 Mbps (10
metros).
A linha RS-422 é de 4 fios para transmissão de dados (2 fios trançados para transmissão e 2 fios trançados para recepção) e um fio
terra GND comum.
A tensão nas linhas de dados pode estar na faixa de -6 V a +6 V.
A diferença lógica entre A e B é maior que +0,2 V.
O 1 lógico corresponde à diferença entre A e B menor que -0,2 V.
O padrão RS-422 não define um tipo específico de conector, geralmente pode ser um bloco de terminais ou um conector DB9.

RS485
Como o RS485 usa topologia multiponto, ele é mais usado nas indústrias e é o protocolo preferido da indústria.
O RS422 pode conectar 32 drivers de linha e 32 receptores em configurações diferenciais, mas com a ajuda de repetidores
adicionais e amplificadores de sinal de até 256 dispositivos.

O RS-485 não define um tipo específico de conector, mas geralmente é um bloco de terminais ou um conector DB9.
A velocidade de operação também depende do comprimento da linha e pode chegar a 10 Mbit/s a 10 metros. A tensão nas linhas
está na faixa de -7 V a +12 V.

Existem dois tipos de RS-485, como RS-485 em modo half duplex com 2 contatos e RS-485 em modo full duplex com 4
contatos.
Para saber mais sobre como usar o RS485 com outros microcontroladores, consulte os links:

 Comunicação serial RS-485 MODBUS usando Arduino UNO como escravo


 Comunicação Serial RS-485 entre Raspberry Pi e Arduino Uno
 Comunicação Serial RS485 entre Arduino Uno e Arduino Nano
 Comunicação serial entre STM32F103C8 e Arduino UNO usando RS-485

CONCLUSÃO
A comunicação serial é um dos sistemas de interface de comunicação amplamente utilizados em sistemas eletrônicos e
embarcados.
As taxas de dados podem ser diferentes para diferentes aplicações.
Os protocolos de comunicação serial podem desempenhar um papel decisivo ao lidar com este tipo de aplicações.
Portanto, escolher o protocolo serial correto torna-se muito importante.

PROTOCOLOS DE COMUNICAÇÃO SERIAL Página 6 de 6

Você também pode gostar