Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

IOT - Internet das Coisas
Protocolos de Comunicação com Periféricos
Prof. Luiz Eduardo C. Leite
Protocolos de Comunicação 
com Periféricos
Tipo de Comunicação
Paralela Serial
Assíncrona Síncrona
LPT
IDE
PCI
Outros RS-232
RS-485
OneWire
Outros
SPI
I2C
I2S
Outros
Tipos de Comunicação
• Paralela: um conjunto de vias é utilizado para transmissão simultânea 
e sincronizada de um padrão de 8 Bits ou de múltiplos de 8. 
• Geralmente conseguem taxas de transmissão maiores do que a 
transmissão serial.
• Uma via de transmissão é necessária para cada bit.
• Demanda conectores maiores (maior quantidade de vias).
• Pode haver interferência entre as vias de transmissão.
• Geralmente não conseguem transmitir a longas distâncias.
• Serial: Os bits são transmitidos em série.
• Utiliza uma quantidade menor de vias do que a transmissão paralela.
• São geralmente menos susceptíveis a interferências
• Transmissão Assíncrona: Não utilizam linha de clock.
• Transmissão Síncrona: Utilizam linha de clock.
Comunicação Serial
• Em telecomunicações e ciência da computação, comunicação serial 
é o processo de enviar dados um bit de cada vez, sequencialmente, 
num canal de comunicação ou barramento. 
• É diferente da comunicação paralela, em que todos os bits de cada 
símbolo são enviados juntos. 
• A comunicação serial é usada em toda comunicação de longo 
alcance e na maioria das redes de computadores, onde o custo de 
cabos e as dificuldades de sincronização tornam a comunicação 
paralela impraticável. 
• Para curtas distâncias, barramentos seriais estão se tornando cada 
vez mais comuns devido ao ponto em que as desvantagens dos 
barramentos paralelos (densidade de interconexão) superam suas 
vantagens de simplicidade.
Comunicação Síncrona e Assíncrona
• Comunicação Síncrona: 
• Um uma linha de transmissão adicional é utilizada para transmitir 
um sinal de clock
• Os pulsos do clock indicam os momentos em que o receptor deve 
ler o bit na linha de transmissão de dados.
• Comunicação Assíncrona:
• Não há sinal de clock
• Um bit de início de transmissão marca o momento em que o 
receptor deve começar a ler os bits da linha de transmissão de 
dados.
• O receptor deve fazer a leitura dos bits na mesma taxa de 
transmissão do transmissor.
• Um bit de fim de transmissão marca o momento em que o 
receptor deve parar de ler os bits da linha de transmissão de 
dados.
Transmissão Síncrona
Transmissão Assíncrona
Protocolos de Comunicação Serial
• A comunicação serial é feita através de Protocolos específicos para que os bits transmitidos pelos 
equipamentos transmissores possam ser recebidos e interpretados apropriadamente pelos e receptores.
• Protocolos definem:
• Meios de transmissão
• Representação de Bits em sinais elétricos
• Taxa de transmissão
• Mecanismos de correção de erro
• Etc.
• Exemplos de Protocolos de Comunicação Serial
• Código Morse
• RS-232 (baixa velocidade, implementado em portas seriais)
• I2C
• SPI
• Universal Serial Bus (velocidade moderada, para a conexão de periféricos de computador)
• FireWire
• Ethernet
• Fibre Channel (velocidade alta, para conectar computadores a dispositivos de armazenamento)
• Serial ATA
• PCI Express
• SONET e SDH (telecomunicação de alta velocidade sobre fibra ótica)
PROTOCOLO RS-232
Protocolo RS-232
• Na área de telecomunicação, RS-232 é o nome tradicional para 
uma série de protocolos utilizados para comunicação serial de 
dados entre um DTE (Data Terminal Equipment – usualmente 
um computador) e um DCE (Data Circui-Terminating 
Equipment – usualmente um modem).
• É comumente utilizado nas portas seriais dos computadores.
• O padrão RS-232 define os níveis de voltagem 
correspondentes aos níveis lógicos um (HIGH) e zero (LOW) 
para transmissão de dados e linhas de controle.
• O padrão define as características elétricas e temporais dos 
sinais, o tamanho físico e pinagem dos conectores.
Conexão Física
Conexão Física
DB25 
Pin #
DB9 Pin # Name Direction Description
1 - - Protective/Shielded Ground
2 3 TD OUT Transmit Data (Tx, TxD)
3 2 RD IN Receive Data (Rx, RxD)
4 7 RTS OUT Request To Send
5 8 CTS IN Clear To Send
6 6 DSR IN Data Set Ready
7 5 SGND - Signal Ground/Common Return
8 1 CD IN Carrier Detect (DCD)
9 - - Reserved
10 - - Reserved
11 - - Unassigned
12 SDCD IN Secondary Carrier Detect. Only needed if second channel being used.
13 SCTS IN Secondary Clear to Send. Only needed if second channel being used.
14 STD OUT Secondary Transmit Data. Only needed if second channel being used.
15 DB OUT Transmit Clock (TCLK, TxCLK). Used only in Synchronous mode.
16 SRD IN Secondary Receive Data. Only needed if second channel being used.
17 DD IN Receive Clock (RCLK). Used only in Synchronous mode.
18 LL - Local Loopback
19 SRTS OUT Secondary Request to Send. Only needed if second channel being used.
20 4 DTR OUT Data Terminal Ready
21 RL/SQ - Signal Quality Detector/Remote loopback
22 9 RI IN Ring Indicator
23 CH/CI OUT Signal Rate selector
24 DA - Auxiliary Clock (ACLK). Secondary Channel only.
25 - - Unassigned
Interconexão de Equipamentos RS-232
Níveis de Tensão Elétrica
• O padrão RS-232 define os níveis de voltagem correspondentes aos níveis 
lógicos um (HIGH) e zero (LOW) para transmissão de dados e linhas de 
controle
• Valores válidos para o zero lógico estão entre -3V e -15V e valores válidos 
para o um lógico estão entre +3V e +15V.
UART e USART
• O padrão RS-232 não define elementos tais como:
• Codificação de caracteres,
• Enquadramento de bits,
• Taxa de transmissão de bits
• Mecanismos de detecção de erros
• Tais detalhes são definidos e controlados por elementos de 
hardware para comunicação serial, conhecidos como:
• UART – Universal Asynchronous Receiver Transmitter ou 
• USART – Universal Synchronous Asynchronous Receiver 
Transmitter.
• Os circuitos UART ou USART estão presentes em circuitos 
integrados (tais como microcontroladores) e são responsáveis 
por converter a informação a ser transmitida para o formato 
serial.
USART e UART em Microcontroladores
• Normalmente os módulos de USART e UART presentes nos 
microcontroladores trabalham com voltagens de 0V e 5V ou 0V e 3.3V para 
os níveis lógicos zero e um.
• Circuitos conversores de tensão devem ser utilizados para permitir a 
conexão dos pinos de tais microcontroladores às portas seriais dos 
computadores. Ex.: CI MAX232
Parâmetros da USARTs
• Para que dois equipamentos possam se comunicar através do protocolo 
serial, suas USARTs devem ser configuradas com os mesmos 
parâmetros:
• Taxa de bits: diz respeito à quantidade de bits que pode ser transmitida à 
cada segundo. Ex.: 9600, 115200 etc
• Data bits: diz respeito à quantidade de bits presentes em um quadro. 
Geralmente é igual a 8
• Stop bits: Quantidade de bits transmitida ao final de cada quadro. 
Geralmente é igual a 1.
• Paridade: mecanismo utilizado para identificar quando algum bit foi 
transmitido com erro:
• Par: um bit é adicionado ao final do quando e setado para zero ou um de tal forma 
que o número total de bits do quadro seja sempre par. Se o receptor receber uma 
quantidade impar de bits, um erro ocorreu na transmissão.
• ímpar: um bit é adicionado ao final do quando e setado para zero ou um de tal 
forma que o número total de bits do quadro seja sempre ímpar. Se o receptor 
receber uma quantidade par de bits, um erro ocorreu na transmissão.
• Nenhum: nenhum mecanismo de identificação de erro é utilizado
• Controle de fluxo: controla quando os bytes podem ser transmitidos.
• Por hardware: linhas RTS e CTS são utilizadas
• Por Software: receptor envia bytes indicando quando pode receber
• Nenhum: sem controle de fluxo (muito utilizado)
UART / USART Frame
Programação da Porta Serial no Arduino
• http://arduino.cc/en/Reference/serial 
http://arduino.cc/en/Reference/serial
PROTOCOLO I2C
Protocolo I2C
• O I2C – Inter Integrated Circuit é um protocolo de comunicação 
serial síncrono criadopela Philips Semicondutores .
• Permite que dispositivos diferentes se comuniquem e troquem 
dados através de um barramento bidirecional compartilhado. 
• Muito versátil, pode ser utilizado em uma ampla variedade de 
aplicações, desde sistemas pequenos e simples até sistemas 
complexos e de grande escala.
• É amplamente utilizado em muitos dispositivos eletrônicos, como 
smartphones, computadores, sensores e até mesmo em sistemas 
industriais.
• Possui dois tipos de dispositivos: 
• Master (mestre em inglês) é a unidade de controle responsável por 
coordenar todos os periféricos.
• Slave (escravos em inglês) constituem os periféricos coordenados 
melo Master.
Conexão de Dispositivos I2C
• Além da alimentação (VDD) que tipicamente pode ser de 3.3V ou 
5V, o barramento I2C é composto por duas vias:
• SLC – Responsável pelo clock do barramento.
• SDA – Linha bidirecional de transmissão de dados
Funcionamento do Protocolo I2C
• No estado neutro do barramento I2C, ambas as linhas de 
comunicação (SCL e DAS) são mantidas com valor digital alto.
• Para iniciar a comunicação SDA é trazido para o valor digital 
baixo pelo mestre, com SCL em valor alto.
Funcionamento do Protocolo I2C
• Logo após SDA ser trazida pra baixo, o mestre escreve o endereço do 
dispositivo com o qual ele deseja se comunicar, por exemplo 0xC0.
• Caso o dispositivo exista, ele responderá como um ACK (um pulso na linha 
SCL).
• Em seguida, o mestre escreve o endereço do registrador no escravo que ele 
deseja ler ou escrever (R/W).
• Após isso envia ou recebe o conteúdo do registrador a ser lido ou escrito. 
Programação da Interface I2C no Arduino
• http://arduino.cc/en/Reference/wire 
http://arduino.cc/en/Reference/wire
PROTOCOLO SPI
Protocolo SPI
• O SPI – Serial Peripheral Interface é um protocolo de comunicação 
serial síncrona criado pela Motorola.
• Aplicações típicas incluem cartões SD e displays de cristal líquido ou 
OLED.
• O SPI consegue implementar a taxas de transmissão bem maiores do 
que as obtidas pelo protocolo I2C. Por exemplo, 66Mbps (Adesto 
AT45BD0100D) vs 1Mbps (Microchip 24FC64)
• Semelhantemente ao protocolo I2C, o protocolo SPI utiliza uma 
arquitetura “Master - Slave" (Mestre - Escravo), na qual o dispositivo 
Mestre origina o processo de leitura/escrita.
• Diferentemente do protocolo I2C, no protocolo SPI, os sinais de 
comunicação possuem uma direção fixa e definida.
• O SPI utiliza 3 + n vias para transmissão de dados. Uma linha para 
clock, uma linha para transmissão de dados do Master para os 
Slaves, uma linha para transmissão dos Slaves para o Master e uma 
linha individual para seleção de cada Slave pelo Master.
Conexão de Dispositivos SPI
Linha Significado Nomes Alternativos
MOSI Master Output Slave Input SDO, DO, SO
MISO Master Input Slave Output SDI, DI, SI
SCLK Serial Clock SCK, CLK
SS Slave Select CS, nSS, nCS
Funcionamento do Protocolo I2C
• O sinal de SS do SPI funciona como Seleção de Escravo (Slave 
Select). Um dispositivo Slave é selecionado quando seu pino 
SS estiver em nível lógico baixo.
• O princípio básico de um dispositivo SPI é o Shift-Register. O 
dispositivo faz a conversão de um registrador paralelo para 
sinais seriais de acordo com clock
Programação da Interface I2C no Arduino
• https://www.arduino.cc/reference/en/language/functions/co
mmunication/spi/ 
https://www.arduino.cc/reference/en/language/functions/communication/spi/
https://www.arduino.cc/reference/en/language/functions/communication/spi/
	Slide 1: IOT - Internet das Coisas Protocolos de Comunicação com Periféricos
	Slide 2: Protocolos de Comunicação com Periféricos
	Slide 3: Tipos de Comunicação
	Slide 4: Comunicação Serial
	Slide 5: Comunicação Síncrona e Assíncrona
	Slide 6: Transmissão Síncrona
	Slide 7: Transmissão Assíncrona
	Slide 8: Protocolos de Comunicação Serial
	Slide 9: Protocolo rs-232
	Slide 10: Protocolo RS-232
	Slide 11: Conexão Física
	Slide 12: Conexão Física
	Slide 13: Interconexão de Equipamentos RS-232
	Slide 14: Níveis de Tensão Elétrica
	Slide 15: UART e USART
	Slide 16: USART e UART em Microcontroladores
	Slide 17: Parâmetros da USARTs
	Slide 18: UART / USART Frame
	Slide 19: Programação da Porta Serial no Arduino
	Slide 20: Protocolo I2C
	Slide 21: Protocolo I2C
	Slide 22: Conexão de Dispositivos I2C
	Slide 23: Funcionamento do Protocolo I2C
	Slide 24: Funcionamento do Protocolo I2C
	Slide 25: Programação da Interface I2C no Arduino
	Slide 26: Protocolo SPI
	Slide 27: Protocolo SPI
	Slide 28: Conexão de Dispositivos SPI
	Slide 29: Funcionamento do Protocolo I2C
	Slide 30: Programação da Interface I2C no Arduino

Mais conteúdos dessa disciplina