You are on page 1of 60

Universidade Federal do Rio Grande do Norte

Departamento de Engenharia de Computao e


Automao

Sistemas Embarcados:

Protocolos de Comunicao - Serial


DCA0119 Sistemas Digitais
Heitor Medeiros Florencio

Tpicos
Protocolos de Comunicao em Sistemas Embarcados.
Protocolos de Comunicao Serial:
Padres: RS232 e RS485
USART / UART
I2C
SPI
CAN
Exemplo/Exerccio
2

Comunicao em
Sistemas Embarcados
O microcontrolador (elemento principal de um sistema
embarcado) precisa trocar informaes com outros sistemas
ou at mesmo trocar informaes com unidades internas ao
sistema, como memria.

Atualmente, a maioria dos sistemas embarcados contm uma


ou mais interfaces para comunicao interna ou externa. Tais
interfaces so de diferentes protocolos de comunicao.
A comunicao pode ser classificada como:
Comunicao Paralela
Comunicao Serial
3

Comunicao Paralela
Mltiplos fios dados, controle e alimentao.
Um bit por fio.

Normalmente comunicao entre unidades/dispositivos do


mesmo sistema embarcado (CI ou plataforma).
Vantagem: Altas taxas de transferncias para curtas
distncias;
Desvantagem: Alto custo.

Comunicao Serial
Apenas um fio para troca de dados.
possvel existir tambm fio para alimentao ou controle.
Palavras so transmitidas um bit por tempo (milissegundos,
segundos, minutos).

Vantagem:
Altas taxas de transmisso para longas distncias.
Barato.

Desvantagem:
Maior custo computacional para controlar o envio de pacotes,
montar e desmontar quadros (frame) de dados.

Sncrona e Assncrona
Alm disso, a comunicao pode ser classificada como:
Sncrona: Existe um sinal de clock para sincronizar a
transmisso do dado.
Assncrona: No existe sinal de clock.

Comunicao em
Sistemas Embarcados
Os protocolos de comunicao tambm so classificados pela
natureza do canal de transmisso: cabeado ou wireless.
O tipo de comunicao sem fio depende da faixa de
frequncia.

Espectro eletromagntico:

Comunicao Wireless
Infravermelho (IR)
Comunicao a partir de ondas na faixa frequncia de
infravermelho.
Dispositivos de emisso e recepo baratos;
Desvantagem: Necessrio visada direta.

Radiofrequncia (RF)
Comunicao a partir de ondas eletromagnticas na faixa de
frequncia de rdio.
No precisa de visada direta.

Classes de Comunicao
e Protocolos
Comunicao Paralela:
Barramento PCI (Peripheral Component Interconnect)
Barramento ARM (Audio Modem Riser)

Comunicao Serial:
RS232, RS485 (padro/protocolo)
CAN, SPI, I2C, USB

Comunicao Wireless:
IrDA
Bluetooth
Zigbee
9

RS232
Foi desenvolvido inicialmente para comunicao entre
terminais e MODEMs.
Os equipamentos so divididos em:
DTE (Data Terminal Equipment)
DCE (Data Communication Equipment) [Modem]

Comunicao ponto a ponto;


Distncia mxima de 15 metros;
Bit 0: +5V a +15V (sada); +3V a +15V (entrada);
Bit 1: -5V a -15V (sada); -3V a -15V (entrada);
Mxima taxa de transmisso: 115 kpbs.

10

RS232: Conectores
Alguns conectores foram desenvolvidos para transmisso de
dados via padro RS232: DB9, DB25.
O DB9 define, alm dos sinais de TX e RX, alguns sinais de
controle e de alimentao.
DCE

DTE

DTR (Data Terminal Ready).


RTS (Request to Send).
DCE

DTE

DSR (Data Set Ready).


CTS (Clear to Send).
11

RS232: Conectores
DCE

DTE

DTR (Data Terminal Ready): Sinaliza que o DTE est pronto.


RTS (Request to Send): Pede permisso para enviar.
DCE

DTE

DSR (Data Set Ready) CTS (Clear to Send): Sinaliza que o


DCE est pronto para receber os dados.

12

RS485

Evoluo do RS232 (comunicao ponto a ponto).


A variao do RS422.
Taxa de transmisso at 10 Mbps.
Muito utilizado em aplicaes industriais.
Mximo de 32 dispositivos/escravos no barramento.

Bit 0: -1.5V a -6V;


Bit 1: +1.5V a +6V;

13

RS485
O barramento (1 par de fios) pode ser compartilhado por
vrios equipamentos.
Comprimento mximo de 1200 metros.

Baseado no modo de transmisso mestre/escravo.

14

Conectores e Conversores:
USB, RS232, RS485, TTL
RS232 to RS485:

USB to RS232:

MAX232: RS232 to TLL

15

RS232-RS485: Frame
Os dados enviados atravs dos padres RS232 e RS485
seguem o seguinte quadro:

Start bit;
Byte;
Paridade;
Stop bit;

16

USART/UART
Os microcontroladores, normalmente, apresentam um
dispositivo capaz de converter os dados paralelos
(processados internamente) para permitir transmisses
sncronas ou assncronas: UART / USART.

UART:
Universal Asynchronous Receiver/Transmitter.
USART:
Universal Synchronous/Asynchronous Receiver/Transmitter.
17

USART/UART
Dispositivos USART e UART transmitem os dados utilizando
tenses em nvel TTL: 5V para nvel lgico 1 e 0V para 0.
No confunda USART com RS232.
RS232 um padro que define uma forma de transmisso
serial.
USART um dispositivo que transmite um dado paralelo
de forma sequencial.
Ex.: O mdulo USART pode transmitir um dado seguindo o
formato do quadro do padro RS232.
Ex.:

18

Protocolo I2C
Desenvolvido pela Philips para a interconexo de CI.
I2C: Inter IC.
O protocolo de comunicao I2C utiliza uma comunicao
serial sncrona atravs de 2 fios:
Dado serial: SDA (Serial Data).
Clock serial: SCL (Serial Clock).

Dois modos de transmisso:


Fast-mode: at 400 kbps.
High-speed mode: at 3.4 Mbps.
10-bit addressing: permite at 1024 escravos no barramento.
19

I2C: Mltiplos mestres


Barramento multimestre:
Pode existir vrios mestres na rede.
O mestre gera o clock e inicia a comunicao.
O papel de mestre e escravo muda alterar no decorrer das
transmisses.

No envio da mensagem obrigatrio inserir o endereo do mestre ou


do escravo.
20

I2C:
2 fios coletor aberto
O protocolo de comunicao I2C utiliza uma comunicao
serial sncrona atravs de 2 fios, SDA e SCL, em coletor aberto
com um resistor de pull-up.

21

I2C: Sinais do frame


A condio de incio (S) e fim (P) do pacote definido pelo
estado de SCL e pela transio de SDA.

Bit START: reconhecido quando o SCL est em alto e SDA


gera uma borda de descida.
Cada bit deve ser colocado na linha SDA enquanto SCL est
em baixo. O bit s reconhecido quando SCL vai para alto.
Bit STOP: reconhecido quando o SCL est em alto e SDA gera
uma borda de subida.
22

I2C: Sinais do frame

23

I2C: Como feita a


comunicao transmitir?
Cada byte transmitido deve ser confirmado pelo receptor
(ACK).
Aps a transmisso do oitavo bit de dado, o mestre libera a
linha SDA e gera um pulso adicional de clock em SCL. Isto
aciona o receptor, que, ento, confirma o byte recebido
colocando a linha SDA em BAIXO.

Se o receptor no faz isto, o mestre aborta a transmisso e


toma medidas apropriadas de tratamento de erro.

24

I2C: Como feita a


comunicao transmitir?
Cada dispositivo conectado ao barramento tem seu endereo
(7 bits).
O primeiro byte contm:
o endereo (7 bits);
a direo (1 bit: 0 = escrita; 1 = leitura).
Qualquer nmero de bytes pode ser transmitido em um
pacote I2C. Se o receptor est impossibilitado de receber mais
bytes, ele aborta a transmisso segurando o clock em BAIXO.
Isto fora o transmissor a aguardar at que SCL seja liberado.
25

I2C: Como feita a


comunicao transmitir?
Escrita:

Leitura:

26

I2C: Mltiplos mestres?


Dois mestres podem iniciar uma transmisso ao mesmo
tempo: como SDA fica em ALTO naturalmente, o mestre que
colocar um bit 1 (ALTO), mas perceber que a linha est no
nvel BAIXO, entender que h outro mestre usando o
barramento e interromper sua ao.
Existem endereos associados a
chamadas especiais de um mestre.
Exemplo: o endereo 0000000 com
bit de direo 0 indica que o mestre
deseja identificar quais escravos
esto disponveis.
27

SPI (Serial Peripheral


Interface Bus)
Protocolo desenvolvido pela Motorola com o intuito de
conectar microcontroladores e perifricos.
Protocolo de comunicao serial e sncrona.
Modo de comunicao baseado no mestre/escravo.
nico mestre no barramento.
O mestre gera o sinal de clock e o sinal de seleo do escravo.

Transmisso dos dados atravs das linhas MOSI e MISO.


28

SPI (Serial Peripheral


Interface Bus)
Opera com tenses de 0 e 5V (compatvel com 3.3V).
Taxa de transmisso de at 70 Mbps.
Transmisso baseada na troca de dados de registradores de
deslocamento.
Comunicao baseada atravs de 4 fios:

CLK: clock.
SS (Slave Select): seleo do escravo.
MOSI (Master Output, Slave Input).
MISO (Master Input, Slave Output).
29

SPI: Como transmitir?


Tanto o mestre como o escravo contm um registrador de
deslocamento.
A cada pulso de clock um bit trocado. O registrador do
mestre envia um bit para o registrador do escravo, que, por
sua vez, envia um bit para o registrador do mestre.

30

SPI:
Selecionando o escravo

O barramento pode conter vrios escravos


(at 32).
O sinal define se o escravo est
selecionado ou no.
O escravo s vai est habilitado enquanto
o sinal estiver em 0V.
31

Protocolo CAN
(Controller Area Network)
Protocolo desenvolvido pela empresa Robert Bosch GmbH.
Originalmente utilizado para conectar componentes de carros.

Protocolo desenvolvido para aplicaes de tempo real de at


1 Mbps baseado em comunicao serial com 2 fios.
Dispositivos so endereados por 11 bits.
Padronizado pela ISSO 11898 e ISSO 11519.
32

CAN
Todos os componentes de um carro so conectados por uma
rede CAN.

33

CAN: Mltiplos mestres


Suporta mltiplos mestres.

Cada mestre responsvel


por controlar a comunicao
dentro da rede.
O quadro CAN contm
informao de endereo e de
prioridade.
Utiliza a tcnica CSMA/CD.
34

CAN
Comunicao baseada em 2 fios.
CAN High: ~3.5V
CAN Low: ~1.5V

Mximo de 1000 metros com 10 Kbps.


Mximo de 40 metros com 1 Mbps.
Mximo de 2032 (teoricamente) dispositivos conectados ao
barramento.

35

CAN:
Tipos de Mensagens
O protocolo CAN define 5 tipos de quadros/mensagens:
Quadro de dados: transmitir dados normais do sistema.
Quadro remoto: transmitir solicitaes de verificao do sistema.
Ex: verificar o nvel do reservatrio de leo de freio.

Quadro de erro: indica a falha no dispositivo escravo na resposta;


Quadro de sobrecarga:
indica um congestionamento do
dispositivo; a rede deve ficar em silncio enquanto o
processamento no termina.
Quadro de espao entre frames.
36

CAN: Diagrama do
Data Frame

37

CAN: Diagrama do
Data Frame
ARBITRATION FIELD:
Identificador (endereo: 11 bits) + Remote Transmission
Request BIT (Data frame: dominant; Remote frame:
recessive).

CONTROL FIELD:
Indica o tamanho do dado.

38

CAN: Diagrama do
Remote Frame

39

CAN: Overload e Error


Error Frame:

Overload Frame:

40

CAN x OBD
Atualmente, todos os carros produzidos tm o sistema de
autodiagnostico OBD (On-Board Diagnostic), disponibilizando
o acesso atravs de uma conexo OBD.
A conexo realizada atravs do
conector OBD II.

41

Exerccios

42

Questo 01

43

Questo 01: Resposta

44

Questo 02

45

Questo 02: Resposta

46

Questo 03

47

Questo 03: Resposta

48

Questo 04

49

Questo 04: Resposta

50

Questo 05

51

Questo 05: Resposta

52

Questo 06

53

Questo 06: Resposta

54

Questo 07

55

Questo 07: Resposta

56

Questo 08 e 09

57

Questo 08 e 09:
Respostas

58

Referncias
VAHID, Frank; GIVARGIS, Tony. Embedded system design: a unified
hardware/software introduction. New York, NY: John Wiley & Sons, 2002.
Boccato, Levy. Comunicaes: Protocolos. Notas de Aula: Introduo ao
Projeto
de
Sistemas
Embarcados.
Disponvel
em:
http://www.dca.fee.unicamp.br/~lboccato/. Universidade Estadual de
Campinas (UNICAMP).
Robert Bosch GmbH. CAN Specification. Version 2.0, 1991.
Philips Semiconductors. The I2C-Bus Specification. Version 2.0, 1998.
Martins, Allan de Medeiros; Mendes, Ellon Paiva. Projetos de Sistemas RF
[recurso eletrnico]. Disponvel em: http://materiais.imd.ufrn.br/. Natal:
EDUFRN, 2014.
59

Dvidas?

Dvidas por email:


heitorm@dca.ufrn.br
60

You might also like