65
1

Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

1

Page 2: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Comunicação de Dados

Page 3: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Comunicação de Dados: Conceitos

Básicos

• Várias aplicações requerem a comunicação

entre o microcontrolador e um ou mais

dispositivos externos;

• Exemplo de dispositivos externos: sensores,

memórias, outros microcontroladores, etc.;

• Comunicação pode ser paralela ou serial;

Page 4: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Comunicação de Dados: Conceitos Básicos

Melhor imunidade a ruídos

Baixa imunidade a ruídos

Menor Velocidade (comparada a comunicação paralela)

Alta velocidade

Comunicação Serial Comunicação Paralela

Page 5: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Porta Paralela - Centronics • Criada em 1981 para transmissão de dados entre o IBM-PC e a

impressora: bits de dados e de controle;

• Capaz de transmitir 8 bits de dados em paralelo;

• O padrão SPP (Standard Parallel Port) é o original, e também o mais limitado e lento (unidirecional, 500kbps);

• O padrão EPP (Enhaced Parallel Port) é mais rápido que o SPP e permite comunicação biridecional;

• O padrão ECP – (Extended Capability Port) também é bidirecional e acrescentou acesso direto à memória (DMA) e capacidade de compressão de dados.

• EPP e ECP estão especificados na norma IEEE-1284;

• Taxa de comunicação: até 1Mbit/s;

• Comprimento máximo do cabo: 3 a 9 metros.

Page 6: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Porta Paralela

Page 7: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Atualmente, a comunicação serial é

dominante;

• Existem vários tipos de padrões em uso

por diferentes dispositivos;

• Os protocolos seriais podem ser

classificados em duas categorias:

–Síncronos;

–Assíncronos.

Comunicação Serial

Page 8: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

8

Conceitos e definições

Eficiência de uma transmissão: O throughput é a taxa de transferência efetiva de um sistema. Esta

taxa de transferência pode ser menor que a taxa de entrada devido

às perdas e atrasos no sistema, ou seja, throughput é diferente da

largura de banda nominal.

Page 9: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Nos protocolos síncronos, além das linhas de

comunicação, há uma ou mais linhas de

sincronização (clock).

• A informação na linha de dados é transmitida a

cada transição da linha de clock.

• Neste tipo de comunicação existe o elemento

mestre, que gera o clock, e os escravos, que

recebem o sinal de clock.

Comunicação Serial Síncrona

Page 10: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

1 0 0 1 1 0 1 0

Clock

Dado

Comunicação Serial Síncrona

Page 11: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

11

Conceitos e definições

Transmissão serial síncrona.

Em sistemas síncronos, canais separados são

usados para transmitir dados e informação de tempo.

Page 12: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Nos protocolos assíncronos não existe uma linha específica para sincronização;

• A sincronização entre o transmissor e receptor é garantida pela precisão dos clocks de cada elemento e também pela utilização de sinais de marcadores de início e fim do dado transmitido;

• Todos os bits tem a mesma duração.

Comunicação Serial

Assíncrona

Page 13: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Start Bit Stop Bit 1 0 0 1 1 0 1 0

Comunicação Serial

Assíncrona

Page 14: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Conceitos e definições

Transmissão serial assíncrona. O modo assíncrono trata cada caractere separadamente, transmitindo-o

como se fosse um frame isolado de informação. A sincronização é feita

por um bit de início (start-bit), controle de erro que pode ser feito por um

bit de paridade N (nenhum), E (par) ou O (ímpar) e um ou dois bits de

parada (stop bit).

Start Bit-1 Bit-2 Bit-3 Bit-4 Bit-5 Bit-6 Bit-7 Bit-8 P Stop-1 Stop-2

Bits de dados 7 ou 8

Bits opcionais

Page 15: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Transmitindo Informação

• Mas como posso transmitir outras informações além de “zeros” e “uns”?

• ASCII (American Standard Code for Information Interchange).

• Esta tabela criou um padrão para troca de informações em sistemas binários.

Page 16: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Tabela ASCII

Page 17: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Extended ASCII

Page 18: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Porta Serial EIA-232 • Padrão definido em 1969 pela EIA (Electronics Industries

Association) para comunicação com modems;

• O termo “RS” vem de Recommended Standard;

• O padrão original possui conector de 25 pinos com diversos sinais de controle;

• Atualmente alguns computadores ainda possuem RS-232, mas o padrão atual usa conector de 9 pinos;

• Até 115kbits/s, distantes até 30 metros;

• A comunicação pode ser síncrona ou assíncrona.

Page 19: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• EIA-232 define a camada física: tipos de conectores (DB-25 e DB-9) e níveis de tensão:

–Maior que +3V = zero;

–Menor que -3V = um.

• Taxas padronizadas: 4,8kbps; 9,6kbps e 19,2kbps;

• Versões comerciais baseadas no RS-232 podem atingir taxas maiores e distâncias mais longas;

• Serial ponto a ponto, sendo um transmissor e um receptor;

• Terra comum entre os dispositivos.

Page 20: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Os sinais variam de 3 a 15 volts positivos ou negativos.

Níveis de sinal +-5V, +-10V, +-12V e +-15V são vistos

comumente, dependendo da fonte elétrica disponível.

• Valores próximos de zero não são sinais válidos;

• O nível lógico um é definido por uma tensão negativa

(marca). O nível lógico zero é positivo (espaço).

Page 21: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 22: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 23: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• É muito comum o uso de CIs especialmente projetados

para compatibilização dos níveis de tensão com sinais

TTL (0 a 5V). Ex.: MAX 232:

Page 24: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Serial – RS-422

• Um transmissor por barramento com até 10

receptores;

• Pares trançados – sinal diferencial;

• Maior imunidade a ruídos e distâncias maiores que

RS-232;

• Até 100kbps com 1,2km ou até 1Mbps para distâncias

curtas;

• Existem CIs de conversão TTL/RS-422;

• Utilizada nos Apple Macintosh até 1999.

Page 25: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Barramento RS-485 • Padrão de comunicação

serial que permite a ligação de até 256 dispositivos a um mesmo barramento;

• A comunicação é feita através de sinal diferencial com tensão entre 0 e 5V: excelente imunidade a IEM;

• Barramento formado por um par de fios trançados;

• Até 10Mbps (100m);

• Até 1.200m (taxas menores).

Page 26: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 27: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• No mercado existem CIs e equipamentos conversores entre os padrões RS-485 e RS-232 que permitem a ligação de computadores pessoais a instrumentos que operam no padrão RS-485.

• O CI MAX485 faz a conversão de serial (RX/TX) para RS-485.

Page 28: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

USB

• Projetado para que diferentes dispositivos pudessem ser conectados através de um soquete único de interface padronizada;

• Também tinha o objetivo de aperfeiçoar as capacidades de plug-and-play através do hot-swapping;

• O host USB (ex.: computador) detecta automaticamente quando um novo dispositivo é conectado, identifica-o e configura os drivers apropriadamente;

Page 29: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

USB1.0até12Mbits/s;

USB2.0até480Mbits/s; USB 3.0 até 5 Gbits/s

• O host USB também pode fornecer energia a dispositivos de baixo consumo (até 500mA, 5V);

• Comprimento máximo de 5m para um cabo individual;

• Distância máxima de 30m entre o controlador USB e o dispositivo com o uso de repetidores;

Page 30: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 31: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• O ATmega328 possui hardware para implementação de

comunicação serial em diferentes padrões:

• SPI – Serial Peripheral Interface;

• TWI – Two Wire serial Interface (I2C);

• USART – Universal Synchronous and Asynchronous

Serial Receiver and Transmitter (estilo RS-232);

Comunicação Serial no

ATmega328P

Page 32: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

SPI – Serial Peripheral

Interface

Page 33: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• SPI – Serial Peripheral Interface – é uma interface de comunicação serial síncrona utilizada para comunicação a curta distância:

• Memórias Flash e EEPROM;

• Relógios de tempo real;

• Sensores;

• Potenciômetros digitais;

• Telas de LCD; etc.

Page 34: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• No ATmega328P a interface SPI também

é usada para a gravação da memória de

programa do microcontrolador.

Page 35: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Na comunicação SPI sempre existe um

dispositivo mestre (em geral é o próprio

microcontrolador) que controla os periféricos;

• Três linhas são comuns a todos os dispositivos:

– MISO (Master In Slave Out) – linha pela qual o

escravo envia dados ao mestre;

– MOSI (Master Out Slave In) – linha pela qual o

mestre envia dados aos escravos;

– SCK (Serial Clock) – clock gerado pelo mestre para

sincronizar a comunicação.

Page 36: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Além das linhas MISO, MOSI e SCK, cada dispositivo

está conectado a uma linha SS:

• SS (Slave Select) – cada escravo possui uma entrada

desta linha, que é controlada pelo mestre para habilitar

ou desabilitar os dispositivos individualmente:

• Em nível baixo: comunicação habilitada;

• Em nível alto: escravo ignora o mestre.

Page 37: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 38: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 39: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Para escrever código para um dispositivo SPI deve-se observar:

– Se os dados são transmitidos primeiro pelo MSB (Most Significant Bit) ou pelo LSB (Least Significant Bit);

– Se a linha de clock fica em nível alto ou baixo quando inativa;

– Se a amostragem dos dados deve ser feita na borda de subida ou na borda de descida do clock;

– A velocidade de comunicação (cada dispositivo pode ter um limite distinto).

Page 40: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• A biblioteca do Arduino faz a placa operar em modo mestre;

• Ordem de transmissão dos dados (primeiro pelo MSB ou pelo LSB): SPI.setBitOrder();

• Linha de clock fica em nível alto ou baixo quando inativa e modo de amostragem de dados: SPI.setDataMode();

• Velocidade de comunicação: SPI.setClockDivider().

SPI com Arduino

Page 41: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Pinos SPI

Page 42: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Cartão de Memória SD

Page 43: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Cartão de Memória SD

• A biblioteca “SD.h” provê meios de

utilização de cartões de memória SD com

o Arduino.

• Esse tipo de memória se comunica com o

microcontrolador por SPI.

Page 44: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Cartão de Memória SD

Page 45: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Cartão de Memória SD

• Alimentação: 3,3V uso de resistores

em 5V!

Page 46: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

TWI – Two Wire serial

Interface (I2C)

Page 47: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

I2C

• I2C (Inter-Integrated Circuit) ou TWI (Two Wire

serial Interface) foi desenvolvido pela PHILIPS

no início da década de 1980 para transferência

de dados entre microcontroladores e

equipamentos;

• Barramento de comunicação serial de dados

entre dispositivos onde a conexão é feita

através de 2 fios;

• É half-duplex, ou seja, em determinado

instante, apenas recebe ou envia informação;

Page 48: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Taxa de transferência: até 100kbits/s;

• Operação em modo mestre/escravo: um

dispositivo ou processo (mestre) tem

controle unidirecional sobre um ou mais

dispositivos (escravos);

• Pode possuir mais de um mestre, mas só

um controla o barramento de cada vez.

Page 49: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 50: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 51: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Pinos TWI (I2C)

Page 52: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

USART – Universal

Synchronous and

Asynchronous serial

Receiver and Transmitter

Page 53: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• USART do ATmega328:

• Registradores de recepção e transmissão independentes (full-duplex);

• Operação síncrona ou assíncrona;

• Síncrona com clock mestre ou escravo;

• Frames de 5 a 9 bits, com 1 ou 2 stop-bits;

• Paridade par ou ímpar por hardware;

• Interrupções: transmissão completa, recepção completa e registradores vazios.

Comunicação Serial

no ATmega328P

Page 54: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 55: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

• Frame no modo assíncrono:

Comunicação Serial

no ATmega328P

Page 56: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Comunicação Serial no Arduino

• Microcontrolador possui hardware para

comunicação serial:

• Pino digital 0 (RX): recepção de dados;

• Pino digital 1 (TX): transmissão de dados;

• Bit 1 = 5V; Bit 0 = 0V;

• A maioria das placas Arduino possui hardware

que converte sinais do padrão serial

assíncrono para USB;

Page 57: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Pinos de Comunicação Serial

Page 58: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Comunicação Serial USART:

Meios de Utilização

Page 59: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Comunicação sem-fio • Wixel shield for Arduino, com dois módulos Wixel;

• Rádio de 2,4GHz para até 30 metros, 350kbps;

• Possui microcontrolador programável por interface amigável;

• Tem 15 pinos de I/O, com 6 entradas analógicas, que podem ser programados de forma independente da comunicação;

• Permite a criação de uma rede com até 128 módulos de comunicação;

• A comunicação é feita como se fosse comunicação serial padrão;

• Permite gravar programas no Arduino sem ligar o cabo USB à placa!

Page 60: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 61: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Conexão Bluetooth • Modelo JY-BT03 - Shenzhen Jiayuan Electronic Co.

Ltd.;

• Conexão com pinos RX-TX do microcontrolador;

• Comunicação Bluetooth 2.0;

• Baud rate: 2.400 a 1.382.400 bps;

• Tensão de alimentação: 5,0 V (3,6V a 6,0V);

• Corrente: 35mA quando realiza "pareamento"; 8mA quando conectado;

• Antena impressa na própria placa;

• Possui LED que indica o estado da conexão Bluetooth;

• Senha padrão: 1234.

Page 62: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por
Page 63: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Conexão em rede ZigBee • ZigBee designa um conjunto de especificações para a

comunicação sem-fio entre dispositivos eletrônicos, com

ênfase na baixa potência de operação, na baixa taxa de

transmissão de dados e no baixo custo de implantação;

Page 64: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Módulo ZigBee • Módulo Digi XBee ZB - Antena Wire - Low Power

• Frequência de Transm.: 2,4 GHz

• Potência de Transm.: 1,25 mW

• Alcance Máximo estimado: até 120m (+1 dBm)

• Topologias de rede: P-to-P,rede ZigBee

• Sleep Mode < 1µA

• RF Data Rate 250 kbps

• Segurança: 128-bit AES

• (10) GPIO, (4) ADC e 3V3 CMOS UART

Page 65: Comunicação de Dados... · como se fosse um frame isolado de informação. A sincronização é feita por um bit de início (start-bit), controle de erro que pode ser feito por

Módulo ZigBee • XBee e XBee-PRO ZB

• Frequência de Transm.: 2,4 GHz

• Potência de transm.: 63 mW (+18 dBm) / Int'l 10 mW (+10 dBm)

• Alcance Máximo estimado: 3200 m

• RF Data Rate: RF 250 kbps, Serial up to 1 Mbps

• Segurança: 128-bit AES

• Antena PCB