Você está na página 1de 70

Aula 09

Dr. William Humberto Cuéllar


1-Condicionamento do sinal
2- Padrões e protocolos de
comunicação
Condicionar os sinais
Condicionar um sinal é convertê-lo de forma adequada para interfaceá-lo com
outros elementos.

Quando a grandeza a ser medida não é elétrica, utiliza-se de transdutores que


geram um sinal elétrico desta grandeza.

Os sinais analógicos têm de ser previamente condicionados a fim de estarem em


condições adequadas de serem aquisitados.

Entre muitos outros casos.

Sinal não Condicionar Sinal


adequado um sinal adequado
Padrões e protocolos
Para poder comunicar dois dispositivos é necessário seguir um padrão e
quais protocolos vão seguir as camadas nos dispositivos.

Comunicar: Conectar-se ou abrir canais para o envio/transmissão de dados


entre dois ou mais dispositivos.

Padrão: Regras necessárias no hardware e firmware para poder interatuar,


exemplo: padrões para UART, RS232, TCP (Usados na camada física)

Protocolo: Regras necessárias para o envio/transmissão de dados. Exemplos:


Protocolos UART, RS232, TCP/IP (lógico).

Camada: Programa lógico ou dispositivo que permite uma função específica


numa rede.
Comunicação

Emissor Menssagem Receptor


Padrão/Protocolo

Lógica superior- Protocolo


Lógica media - protocolo
Lógica baixa - protocolo
Físico (Interface)– Padrão/Protocolo

Fisico- Padrão
Exemplo: Padrão/Protocolo

Porto USB Porto USB


Físico lógico (Como
(Conexões- Interface enviar dados-
Padrão) Padrão/Protocolo Protocolo)
Camada:

Porto USB lógico


(Como enviar
dados- Protocolo)

Camada Camada Camada


Camada:
Porto USB
Fisico
(Conexões-
Padrão)

Camada Camada
Entradas/ Saídas

São interfaces físicas através das quais o


microcontrolador se comunica com o mundo
exterior.
As E/S permitem que o dispositivo se conecte e
interaja com o mundo físico.
As E/S permitem que o dispositivo receba dados
(entradas) de sensores, botões, teclados, etc., e
também permitam que o microcontrolador envie
informações (saídas) para atuadores, displays,
motores, relés, etc.
13/02/2023 Centro Universitário do distrito Federal, UDF 10
Entradas/saídas - E/S ou I/O (input/output) -

Digitais ou analógicas.
E/S digitais: enviar ou receber sinais de nível lógico (0 ou 1)
E/S analógicas: enviar ou receber sinais que podem ter um valor
contínuo em uma faixa de tensão.

As E/S digitais podem ser configuradas como entradas


ou saídas.
As entradas digitais são usadas para ler o estado de
dispositivos externos, como botões ou sensores
As saídas digitais são usadas para acionar dispositivos
externos, como LEDs ou relés.

13/02/2023 Centro Universitário do distrito Federal, UDF 11


Entradas/saídas - E/S ou I/O (input/output) -

As E/S analógicas geralmente são usadas para medir


grandezas físicas, como temperatura ou luminosidade

Número limitado de E/S: podem ser expandidas através do


uso de circuitos integrados ou módulos externos, como
expansores de porta e conversores A/D e D/A.

Alimitação do número de E/S disponíveis em um dispositivo


pode ser um desafio em projetos que requerem muitas
entradas ou saídas (a expansão é limitada).

13/02/2023 Centro Universitário do distrito Federal, UDF 12


Comunicação

Como se comunicar entre dispositivos?

Esses protocolos têm vantagens e desvantagens, por


isso é necessário conhecer alguns deles para poder
usar o mais adequado dependendo da aplicação.

Normalmente se dividem em comunicação síncrona e


assíncrona.

13/02/2023 Centro Universitário do distrito Federal, UDF 13


Comunicação Síncrona
 Depende de um sinal de "clock”
 Alta velocidade de transmissão de dados
 Necessário um fio extra para o “clock”
 Transmissor e Receptor deve utilizar a mesma frequência e
fase, além de mesmo clock para comunicação.

13/02/2023 Centro Universitário do distrito Federal, UDF 14


 Transmissor e Receptor deve utilizar a mesma frequência e fase,
além de mesmo clock para comunicação.
 Transferência de blocos onde cada bloco possuí caracteres de
sincronismo, dados e checagem de erro

Pacote enviado
Informação para
Informação clock Dados erro

• Informação de clock: Normalmente 2 byte (frequencia e fase)


• Dados: é realmente o que se deseja, normalmente se enviame
1024 byts ou mais.
• Informação de erro: Alguma maneira de saber se o dado é
confiavél ou não. Usar técnica de paridade, o checksum ou algum
outra metodología.
Comunicação Síncrona

 Pouco Overhead (Overhead é o que nos dá uma ideia de quantos


bits será necessário adicionar para que a informação chegue
corretamente ao destino).

 Overhead : Para cada bloco: +3 bytes (2 sincronismo, 1


checksum).

Pacote enviado
Informação para
Informação clock Dados erro
13/02/2023 Centro Universitário do distrito Federal, UDF 16
Comunicação Síncrona
Sincronismo:
Devem ser enviado alguma informação par saber a frequencia do clock, assim
como a fase de envio de dados
110-> 4Mhz. O 110 é só um exemplo, e não necessáriamente será o valor real
usado.
101 -> 2 dados por clock.

Checksum:
 1000000101101 -> soma dos uns ->101 (5 uns)

13/02/2023 Centro Universitário do distrito Federal, UDF 17


Comunicação Síncrona

Overhead para 1024 bytes de informação


Ex: Bloco=1024 bytes + 3 bytes = 1027 bytes. O Que causa somente 0,3% de
aumento de tempo.

13/02/2023 Centro Universitário do distrito Federal, UDF 18


Comunicação Assíncrona

 Não têm sinal de "clock”

 Menor velocidade

 Necessário só um fio

 Envio dos dados é mais complicado e suscetível a erros

 O Clock entre o transmissor e o receptor pode ser


diferente, pois possuí ressincronismo a cada byte.

13/02/2023 Centro Universitário do distrito Federal, UDF 20


Comunicação Assíncrona
Transferência de bytes
 Para cada byte mais 2 ou 3 bits possui start bit, bit de paridade, stop bits (1 a
2)
 Muito Overload, pois para cada byte (8bits) + 3 bits totalizando 11 bits, ou
37,5% de tempo a mais o que resulta em uma menor velocidade.

13/02/2023 Centro Universitário do distrito Federal, UDF 21


Comunicação Síncrona e assíncrona

13/02/2023 Centro Universitário do distrito Federal, UDF 22


Transmissão

A Transmissão é dividida em três


características.
Dá a direção da informação:
1. Simplesx,
2. Half-Duplex
3. Full-Duplex.
Transmissão
1. Simplesx
A transmissão Simplesx é um modo de
comunicação unidirecional. Somente um
dos dispositivos pode transmitir e
consequentemente o outro só receberá
informações.

Emissor Menssagem Receptor


Transmissão

2. Half-Duplex
Half-duplex, cada dispositivo pode transmitir e receber
informações
Nunca ao mesmo tempo.
Quando um dispositivo envia o outro recebe.
Na comunicação Half-duplex toda a capacidade do canal é
direcionada ao dispositivo que está transmitindo os dados.
Usando canal
Emissor Receptor
Menssagem
/ /
Receptor Emissor
Esperando canal
Transmissão

3. Full-Duplex.
Os dois dispositivos podem transmitir e receber
informações simultaneamente.

Usando canal
Emissor Receptor
Menssagem
/ /
Receptor Emissor
Usando canal
Transmissão
Taxa de atualização/comunicação

A taxa de atualização/comunicação em comunicações


síncronas é chamada de Clock.

Em comunicações assíncronas, ela é chamada de baud


rate.

É representada em bps( bits por segundo)

Podemos definir esta velocidade de comunicação.


Exemplo:
9600bps (Arduíno)
115200bps(ESP32)
Nos dois casos normalmente UART assincrono
Protocolos de Comunicação

1.I²C
2.UART
3.SPI

13/02/2023 Centro Universitário do distrito Federal, UDF 29


I²C (Inter-Integrated Circuit)
I2C é um protocolo de comunicação
criado pela empresa Philips
Semiconductors nos anos 90.

Utiliza apenas dois fios SDA (Serial


DATA) e SCL (Serial CLOCK)

Alimentação (Normalmente 3.3V ou


5V).

Sua entrada VDD necessita de


resistores de pull-up.

13/02/2023 Centro Universitário do distrito Federal, UDF 30


I²C (Inter-Integrated Circuit)
Utilizado em vários dispositivos eletrônicos, como sensores,
celulares, computadores e dispositivos industriais, a
aplicação do protocolo I2C é muito ampla nos dias atuais.

O maior benefício-> capacidade de suportar diversos


dispositivos conectados a um mesmo barramento.

13/02/2023 Centro Universitário do distrito Federal, UDF 31


I²C (Inter-Integrated Circuit)

Barramento possui um limite.


O limite do barramento é atrelado ao tamanho do
endereço (7,10 ou até 16 bits), e também ao tamanho dos
fios do circuito, pois a capacitância total máxima é algo em
torno de 400pf.

Por mudanças na tensão (aumento ou queda)

13/02/2023 Centro Universitário do distrito Federal, UDF 32


I²C (Inter-Integrated Circuit)
Esse protocolo conta com um Master e um Slave, onde o dispositivo Master
controla todos os dispositivos Slave.

SDA é responsável
pela transmissão de
dados.

SCL é responsável
pelo Clock do
barramento
13/02/2023 Centro Universitário do distrito Federal, UDF 33
I²C (Inter-Integrated Circuit)
O pino SCL deve estar em nível lógico alto e o pino SDA em nível lógico baixo para
os escravos aceitarem “ordens” dos mestres.
Caso existam vários mestres, o mestre que sinalizar mais rápido o início de uma
transmissão.
É necessário que o mestre mande um "stop condition" para liberar o canal.

13/02/2023 Centro Universitário do distrito Federal, UDF 34


UART (Universal Asynchronous Receiver / Transmitter)

○Comunicação
assíncrona

○ baud rate como


referência
(tipicamente 9600
bits/s em arduino)

○Interpretado bit a
bit

13/02/2023 Centro Universitário do distrito Federal, UDF 35


UART (Universal Asynchronous Receiver / Transmitter)

O protocolo UART tem como principal função converter


dados entre as formas paralela e serial.
Os dispositivos que utilizam esse protocolo normalmente
são usados com padrões de comunicação serial, como os
RS-232C, RS-422 e o RS-485.
Dispositivos que utilizam a comunicação UART são divididos
em quatro blocos:
- Transmissão
- Recepção
-Geração de baud-rate (Taxa de transmissão)
-Lógica de interface

13/02/2023 Centro Universitário do distrito Federal, UDF 36


UART (Universal Asynchronous Receiver / Transmitter)
SPI em paralelo (Serial Peripheral Interface)
Protocolo Síncrono, SCK “clock”, SS para ligar/desligar a comunicação com um
escravo específico.
MOSI (Midia output system interface, similar a TX)
MISO (Midia intput system interface, similar a RX)

Através de MOSI e MISO se enviam e recebem dados.


SS: Controlam a que dispositivo se enviame dados ou de qual dos dipositivos se
recebem dados

13/02/2023 Centro Universitário do distrito Federal, UDF 38


SPI em paralelo (Serial Peripheral Interface)
SS: Normalmente se enviame dois bits. O primeiro indica se deve receber
dados do mestre. O Segundo se pode enviar dados ao Mestre.
Exemplo para SS1-> 01 assim, o escravo 1 só pode enviar uma petição ao
escrevao, mas não pode “escutar ao mestre” até que o mestre mude para
10 ou 11.

13/02/2023 Centro Universitário do distrito Federal, UDF 39


Exemplos I2C
Display LCD 16×2 com Adaptador I2C –
Utilizando o display com Arduino
Display LCD - I2C - Arduino

Para usar um LCD diretamente é necessário de 16 pinos:

RS: Reseta o display


Display LCD
EN: Habilitar/Desabilitar o display
12 pinos para Dados
e 2 de alimentação.

Se deseja-se conetar o display com


ARDUINO usaremos muitos dos
pinos.

Uma maneira é usar algum protocolo


mais eficiente que o padrão de
liga/desliga.

Uma possíbilidade é usar o protocolo


I2C
Display LCD - I2C - Arduino

Lembremos que no I2C temos pelo menos um dispositivo mestre,


que receba e/ou envie dados por um canal

Conversor I2C
Conversor I2C
2 pinos para dados (SDA, SCL)
2 pinos alimentação (5V,
terra)
Display LCD - I2C - Arduino

Configuração da
Chip comunicação
Display LCD - I2C - Arduino

A maioria dos módulos de interface I2C


para LCD possuem:
• Pinos para conexão com o Display (16 pinos);
• Pinos de Alimentação do Módulo (GND e VCC);
• Pinos de comunicação I2C (SDA e SCL);
• Trimpot para ajuste de contraste da tela;
• Jumper para ligar e desligar a luz de fundo (Backlight);
• Led indicador de módulo ligado.
• Chip de Interface (PCF8574T ou PCF8574AT )
• Alguns, contam com pinos de configuração
Display LCD - I2C - Arduino

Interface I2C
• Alguns, contam com pinos de
configuração

• Unindo os pinos podemos modificar


o endereço

Fazer pontes entre os pinos


• Não é possível todas as
modifica o endereço
possibilidades, tem-se restrições.

• Observe a tabela no seguinte slide,


para ver as opções
Display LCD - I2C - Arduino
Endereço do módulo I2C

Neste caso pode-se conetar 8 displays ao Arduino


Os modulos I2C mais economicos só tem um endereço 0x27
Display LCD - I2C - Arduino

SCL

SDA

Mestre
/
ARDUINO
Para usar o protocolo I2C com o Display LCD I2C 20X4 utilizou-se
uma biblioteca.

Não é necessária a biblioteca mas facilita a programação.


Código

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inicializa o display no endereco 0x27
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);
lcd.print("********************");
}
// Define os pinos do chip I2C usados para as conexões do LCD:
// (Endereço,en,rw,rs,d4,d5,d6,d7,bl, blpol)
//0x27 é o endereço do dipositivo
// Caso compre um modulo, esses pinos nunca mudam
O display se comporta como uma matriz de 20x4, é dizer:
(0,0) (1,0)…………..(18,0)(19,0)
(0,1) (1,1)…………..(18,1)(19,1)
(0,2) (1,2)…………..(18,2)(19,2)
(0,3) (1,3)…………..(18,3)(19,3)
void setup()
{
lcd.begin (20,4);
}
//Inicializa o display
void loop()
{
lcd.setCursor(0,0);
lcd.print("********************");
lcd.setCursor(9,1);//
lcd.print("VIDA");
lcd.setCursor(5,2);
lcd.print("DE SILICIO");
lcd.setCursor(0,3); (9,1)
}

Você também pode gostar