Professional Documents
Culture Documents
SISTEMAS CENTRALIZADOS
Aps apresentar os motivos que levam adopo de uma arquitectura em rede, sero
abordadas, no decorrer das restantes seces deste captulo, as principais propriedades
do protocolo de comunicaes em rede que serviu de base ao sistema implementado, o
protocolo CAN.
3.2 INTRODUO
3.2.1 Um pouco de histria
O protocolo CAN foi desenvolvido por Robert Bosh em 1986 para aplicao na
indstria automvel, com o objectivo de simplificar os complexos sistemas de fios em
veculos com sistemas de controlo compostos por mltiplos microcontroladores/microcomputadores para gesto do motor, sistema ABS, controlo da suspenso, etc. [21]. A
sua especificao base anunciava elevada taxa de transmisso, grande imunidade a
interferncias elctricas e capacidade de detectar erros [22].
A aplicao da tecnologia CAN, para partilha de dados e controlo em tempo real, tem
vindo a tornar-se cada vez mais popular. Ao longo dos anos, o CAN evoluiu de
aplicaes dedicadas indstria automvel para outras de uso industrial e produtos
envolvendo microcontroladores, com ligao por fio, e no s. Um dos benefcios do
37
Capacidade multi-mestre;
Capacidade multicast;
Simplicidade;
Flexibilidade de configurao;
Baixo preo;
Hardware standard.
Nas prximas seces deste captulo sero abordadas algumas regras que permitem ao
protocolo CAN possuir as caractersticas anteriormente referidas e que o tornam
actualmente num dos protocolos de comunicaes com maior aceitao.
39
Estao CAN
1
Estao CAN
2
Aceite
Preparar
Seleccionado
Enviar
Mensagem
Receber
Mensagem
Estao CAN
3
Estao CAN
4
Aceitar
Ignorar
Seleccionado
Receber
Mensagem
Receber
mensagem
Isto significa que: a arbitragem no destrutiva, uma vez que a transmisso do objecto
de menor identificador no sofre atraso; o acesso ao barramento obedece a prioridades,
permitindo que a informao mais urgente seja atendida em primeiro lugar. A
retransmisso automtica de um objecto de comunicao tentada aps uma perca no
processo de arbitragem.
41
Campo de arbitragem
S
O
F
R
T
R
Identificador de 11 bits
R
E
S
R
E
S
DLC
Outros campos
Dados, CRC, ACK, EOF
(a) Formato duma frame de dados segundo as verses 1.0, 1.1, 1.2 e 2.0A.
Campo de
controlo
Campo de arbitragem
S
O
F
R
T
R
Identificador de 11 bits
I
D
E
R
E
S
DLC
Outros campos
Campo de arbitragem
S
O
F
Identificador de 11 bits
S
R
R
I
D
E
Identificador de 18 bits
R
T
R
R
E
S
R
E
S
DLC
Outros campos
Dados, CRC,
ACK, EOF
(c) Formato duma frame de dados segundo a verso 2.0B (Formato estendido).
Figura 3.2 Formato dos diferentes tipos de frames.
A Figura 3.2-a) ilustra uma frame de dados, de acordo com as especificaes 1.0, 1.1,
1.2 e 2.0A do protocolo CAN. Totalmente compatvel com aquele formato o formato
standard conforme definido na especificao 2.0B, Figura 3.2-b).
Em contraste com o referido anteriormente, a Figura 3.2-c) representa o formato
42
estendido, definido na verso 2.0 B, o qual diverge dos formatos anteriores no nmero
de bits do campo de arbitragem e valor dos bits de controlo.
O significado dos trs bits de controlo o seguinte:
Assim, num sistema onde vrios ns iniciem a transmisso simultnea de frames com o
mesmo identificador, as seguintes regras so aplicadas: frames de dados possuem maior
prioridade do que frames remotas, e frames standard possuem maior prioridade do que
frames estendidas. Isto significa que uma frame standard remota vence, no processo
de arbitragem, uma frame de dados estendida, se os 11 bits mais significativos do
identificador forem iguais [30]. No entanto, em sistemas onde tenham que coexistir os
dois formatos necessrio ter alguns cuidados em termos de implementao.
A maioria dos novos controladores respeita a verso 2.0. Assim para permitir frames
estendidas um controlador pode ser: CAN 2.0B passivo ou CAN 2.0B activo. Se for
passivo, ignora frames estendidas ao contrrio dos controladores 1.0 que transmitem
frames de erro quando detectam frames com identificadores de 29 bits. Se for activo, o
controlador permite a transmisso e recepo de frames estendidas. Existem portanto
regras de compatibilidade que devem ser consideradas para transmitir e receber os dois
tipos de frames:
Assim, numa rede com controladores CAN 1.0 no podem existir mensagens com
formato estendido obrigando a que todos os controladores utilizem o formato standard.
diferentes de frames:
Frame de Dados;
Frame Remota;
Frame de Erro;
Frame de Sobrecarga.
Incio
de
frame
Campo
de
arbitragem
Campo
de
controlo
Campo
de
dados
Campo
CRC
Campo
ACK
Fim
De
frame
44
Campo de controlo, o qual composto por seis bits, sendo 2 bits reservados
para futura expanso seguidos pelo campo Data Length Code (DLC). Os bits
reservados so transmitidos como dominante. O campo DLC possui 4 bits
que indicam o nmero de bytes do campo de dados;
Fim de frame, end of frame (EOF). Este campo serve de flag delimitadora das
frames de dados ou remotas, sendo constitudo por sete bits recessivos.
Incio
de
frame
Campo
de
arbitragem
Campo
de
controlo
Campo
CRC
Campo
ACK
Fim
De
frame
Os campos constituintes duma frame remota so idnticos aos duma frame de dados,
com a excepo do valor do bit RTR, do campo de arbitragem, que agora recessivo
e da inexistncia de campo de dados. Os bits DLC do campo de controlo da frame
remota devem possuir valor igual ao da frame de dados correspondente.
Frame de erro
Intervalo interframe
ou
frame de sobrecarga
Frame de dados
Flag de erro
Sobreposio de flags de erro
Delimitador de erro
tem que aguardar sempre por seis bits subsequentes iguais aps detectar uma flag
passiva-ao-erro. Esta flag passiva ao erro concluda quando forem detectados estes 6
bits iguais.
O segundo campo o delimitador de erro, que consiste em oito bits recessivos.
Aps transmisso de uma flag de erro, cada n envia bits recessivos e monitoriza o
barramento at detectar um bit recessivo. Aps o que inicia a transmisso de mais sete
bits recessivos.
Frame de sobrecarga
Fim de Frame ou,
delimitador de erro
ou delimitador de
sobrecarga
Intervalo interframe
ou
frame de sobrecarga
Flag de sobrecarga
Sobreposio de flags de
sobrecarga
Delimitador de sobrecarga
A flag de sobrecarga consiste em seis bits dominantes. Esta flag destri o formato fixo
do campo de Intermisso, pelo que todos os outros ns tambm detectam uma condio
de sobrecarga e iniciam a transmisso de uma flag de sobrecarga. As condies que
originam a transmisso de uma flag de sobrecarga so [27]:
O delimitador de sobrecarga
O delimitador de sobrecarga composto por oito bits recessivos. Aps a transmisso
de uma flag de sobrecarga, todos os ns monitorizam o barramento at detectar uma
transio de dominante para recessivo. Nesse instante todos os ns terminaram o
46
Intervalo interframe
Intermisso
Frame
Barramento livre
Figura 3.7- Intervalo interframe para estaes que no sejam passivas-ao-erro ou que
tenham sido receptoras da mensagem anterior.
Frame
47
Intervalo interframe
Frame
Intermisso
Suspenso
Barramento
de
livre
transmisso
3.7 CODIFICAO
Os campos das frames de dados e remotas (SOF, arbitragem, controlo, dados e
sequncia CRC), so codificados pelo mtodo da insero do bit (bit stuffing) de
comprimento cinco. Assim, sempre que um emissor detecte cinco bits consecutivos, de
igual valor, na srie de bits a transmitir, ele insere automaticamente um bit
complementar na sequncia de bits a transmitir. Os restantes campos tm forma fixa e
no so sujeitos a este mtodo. As frames de erro e sobrecarga possuem forma fixa pelo
que tambm no so codificadas pela regra da insero do bit. Este processo
representado na Figura 3.9.
Sequncias a transmitir
Sequncias transmitidas
a, b, c { 0 , 1 }
100000abc
1000001abc
011111abc
0111110abc
S
O ID
F 10
Identificador
ID
0
R M Campo de L M Campo de L
T S
controlo S S dados S
R B
B B
B
Outros campos
3.9 PRIORIDADE
Conforme foi referido na seco 3.4, as prioridades so definidas durante a fase de
48
49
Na verso CAN bsico, existe uma relao estreita entre o CPU e o controlador CAN
pelo que todas as mensagens, que existam no barramento, so verificadas
individualmente pelo microcontrolador. Isto resulta na ocupao do CPU para verificar
todas as mensagens, em vez de processar apenas as relevantes, o que tende a limitar o
baud rate a 250 Kbit/s. Por outro lado, na verso CAN completo, a introduo de um
filtro de aceitao permite ao controlador recusar mensagens irrelevantes, atravs da
verificao dos identificadores, libertando o CPU para processar apenas mensagens
consideradas relevantes o que permite conseguir taxas de transmisso mais elevadas (1
Mbit/s).
Monitorizao;
Verificao da frame;
Erro de formato
50
Este tipo de erro detectado quando um campo de formato fixo contiver um ou mais
bits ilegais.
Erro de reconhecimento
Este tipo de erro detectado quando o emissor no detecta um bit dominante durante
o slot ACK.
dado tempo suficiente para estabilizar o nvel do sinal antes que seja feita a amostragem
quase simultnea por todos os ns. Isto significa que a capacidade do barramento de
um bit. Devido mencionada estabilidade requerida, o comprimento mximo da rede
depende da taxa de transmisso. Alguns valores tpicos para as taxas de transmisso
foram referidos na seco 3.10.
VCAN_L
Vdif
Vdif
VCAN_H
Recessivo
Dominante
Recessivo
Tempo, t
A utilizao de diferenciais de tenso permite s redes CAN funcionar quando uma das
linhas de sinal for danificada, ou em situaes extremas de rudo. Recorrendo a um
simples par entrelaado, as entradas CAN diferenciais cancelam o rudo de forma
efectiva, assegurando que esto compreendidas na gama de modo comum.
52
Existem interfaces econmicas [26] disponveis que fazem a translao dos nveis
lgicos de 5 V para linha balanceada requerida pelo CAN e vice-versa.
Todos os bits so transmitidos de acordo com o mtodo Non-Return-to-Zero (NRZ). Isto
significa que o nvel do bit constante durante a sua durao, sendo dominante ou
recessivo. Este mtodo apresenta uma densidade espectral baixa, possibilitando um
bom aproveitamento da largura de banda de transmisso.
Quebra de um fio;
Seg._Prop.
Seg1_Fase
Seg2_Fase
Ponto de amostragem
53
3.15.2 Sincronizao
Existem duas formas de sincronizao:
55
Entrada/Sada
Entrada/Sada
Microcontrolador
Microcontrolador
Controlador CAN
Controlador CAN
Tx0 Tx1
Tx0 Tx1
Rx0 Rx1
Rx0 Rx1
Entrada/Sada
Microcontrolador
Controlador CAN
Tx0 Tx1
Nvel Fsico
Nvel Fsico
Rx0 Rx1
Nvel Fsico
Outros ns CAN
Barramento CAN
N host
Entrada/Sada
Entrada/Sada
SLIO CAN
SLIO CAN
Microcontrolador
Controlador CAN
Tx0 Tx1
Tx0 Tx1
Rx0 Rx1
Rx0 Rx1
Tx0 Tx1
Nvel Fsico
Nvel Fsico
Rx0 Rx1
Nvel Fsico
Outros ns CAN
Barramento CAN
56
ID10
ID9
ID8
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
Identificador do SLIO
P3
P2
P1
P0
Dir
57
N Host
N SLIO
N SLIO
Outros Ns
N SLIO
Campo de
arbitragem
000 1010 1010 0
Campo de
controlo
000|010
Byte 1
Byte 2
1010 1010
0000|0100
Campo CRC
000|0 1011 1000 00|0
| - bit inserido pelo controlador CAN para garantir a regra de insero de bit.
Taxa de transmisso
125 Kbit/s
100 Kbit/s
50 Kbit/s
20 Kbit/s
P82C150
(SLIO CAN)
80 m
120 m
300 m
850 m
P8xC592/PCA82C200
(CAN)
530 m
620 m
1300 m
3300 m
Tabela 3.1 Distncia mxima aconselhada, entre dois ns extremos, para uma rede CAN
e SLIO CAN.
Futuro
Alguns autores [31] consideram que os semicondutores como o SLIO e circuitos de
accionamento, de potncia, podem ser incorporados em dispositivos plug-and-play.
Esta aproximao modular elimina a cablagem local possibilitando uma melhoria da
eficcia do sistema total, uma vez que existem poucos fios, que podem falhar, sendo
tambm mais robusto em termos de compatibilidade electromagntica. Esta viso do
futuro ilustrada pelas Figuras 3.18 e 3.19.
Barramento CAN
Nvel Fsico
Nvel Fsico
SLIO CAN
SLIO CAN
Interface de
potncia
Interface de
potncia
cablagem
local
59
Barramento CAN
Nvel Fsico
SLIO CAN
Interface de
potncia
Sensores e
actuadores
60
Baixo custo;
Fcil utilizao;
61
Existncia de standards.