Anda di halaman 1dari 25

3 PROTOCOLO DE COMUNICAES CAN

3.1 SISTEMAS EM REDE vs

SISTEMAS CENTRALIZADOS

Com o aumento da utilizao de sistemas electrnicos compostos por vrios


microcontroladores e perifricos inteligentes, como o caso do controlo em veculos
automveis, ganharam bastante importncia protocolos de rede entre estas unidades em
relao a sistemas que utilizam um processador central responsvel pelas tarefas de
controlo.
A escolha por uma soluo em rede permite um conjunto de benefcios, em relao a
uma soluo centralizada, tais como [20]:

Menos fios no sistema o que torna a cablagem mais simples e barata;

Ligaes curtas a sensores analgicos sensveis a rudo elctrico, antes dos


sinais serem convertidos em mensagens digitais imunes a rudo;

Sistema flexvel. Unidades funcionais podem ser adicionadas ou removidas


de forma simples;

Manuteno do sistema. A electrnica de vrias unidades pode ser idntica,


permitindo troca entre elas;

Cada unidade pode ser desenvolvida e testada individualmente de acordo com


requisitos exigidos pelo sistema;

Partilha de dados entre as vrias unidades pode eliminar redundncia de


informao.

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

CAN suprimir a necessidade de sistemas complexos de fios substituindo-os por um


simples cabo. tambm considerado uma soluo para implementar comunicao em
rede de uma forma simples, barata e robusta, nomeadamente ao rudo electromagntico
[23].
A utilizao da electrnica, na melhoria da eficincia e funcionalidade dos sistemas
actuais tornou, a multiplexagem uma necessidade para alm de uma realidade, atingindo
um nvel onde a tcnica de ligao ponto-a-ponto, tradicional, no consegue competir,
economicamente, com o crescimento dos sistemas electrnicos. Actualmente utilizamse sistemas interactivos onde a informao partilhada atravs de um barramento
comum. Uma vez que estas ligaes aumentaram, a necessidade de interfaces srie e de
um protocolo de barramento aberto adquiriram bastante importncia. O protocolo de
comunicaes CAN, descreve o mtodo como a informao transferida entre
dispositivos e assunto de standards internacionais aprovados pela International
Standard Organization (ISO). Esta organizao aprovou-o como barramento standard
para redes de elevada velocidade (125 Kbit/s) na partilha de informao em tempo real
em veculos automveis [4] e para taxas de transmisso menores ( 125 Kbit/s) [24],
estando em conformidade com o modelo de referncia de sete camadas Open Systems
Interconnection (OSI) para os dois nveis inferiores do mesmo: o nvel de ligao de
dados (nvel 2) e o nvel fsico (nvel 1).
Com a ISO, o CAN foi adoptado pela indstria automvel bem como por outros tipos de
indstrias, devido sua robustez e flexibilidade. A disponibilidade de circuitos
integrados colocados no mercado por vrios fabricantes, de semicondutores, encoraja a
sua utilizao devido ao seu baixo custo.

3.2.2 Caractersticas do CAN


O CAN um protocolo de comunicaes srie, que permite controlo distribudo em
tempo real, com elevado nvel de segurana [4]. um sistema em barramento com
capacidades multi-mestre, isto , vrios ns podem pedir acesso ao meio de transmisso
em simultneo. Este protocolo comporta tambm o conceito de multicast, isto , permite
que uma mensagem seja transmitida a um conjunto de receptores simultaneamente.
Nas redes CAN no existe o endereamento dos destinatrios no sentido convencional,
em vez disso so transmitidas mensagens que possuem um determinado identificador.
Assim, um emissor envia uma mensagem a todos os ns CAN e cada um por seu lado
decide, com base no identificador recebido, se deve ou no processar a mensagem. O
identificador determina tambm a prioridade intrnseca da mensagem, ao competir com
outras pelo acesso ao barramento.
O CAN considerado um sistema de barramento srie, bom para ligar em rede
subsistemas inteligentes, tais como sensores e actuadores. A informao transmitida
possui tamanho curto. Assim, cada mensagem CAN pode conter um mximo de 8 bytes
de informao til, sendo no entanto possvel transmitir blocos maiores de dados
recorrendo a segmentao.
A taxa mxima de transmisso especificada de 1 Mbit/s, correspondendo este valor a
sistemas com comprimento de barramento at 40 m [4]. Para distncias superiores a
taxa de transmisso, recomendada, diminui. Alguns dos valores recomendados [25] so:
50 Kbit/s para distncias at 1 Km e 125 Kbit/s para distncias at 500 m. Se a distncia
38

do barramento for superior a 1 Km pode ser necessria a utilizao de dispositivos


repetidores (repeater) ou ponte (bridge).
O nmero de elementos num sistema CAN est, teoricamente, limitado pelo nmero
possvel de identificadores diferentes. Este nmero limite no entanto
significativamente reduzido por limitaes fsicas do hardware. Existem no mercado de
integrados transceivers que permitem ligar pelo menos 110 ns [26]. Refira-se tambm,
neste contexto, que com mdulos de entrada/sada (E/S) adequados possvel ter
diversos sensores e actuadores por n.
O CAN permite flexibilidade uma vez que podem ser adicionados novos ns a uma rede
CAN sem requerer alteraes do software ou hardware dos restantes ns, se o novo n
no for emissor, ou se o novo n no necessitar da transmisso de dados adicionais [4].
Outra caracterstica importante o facto de o controlador CAN de cada estao, registar
os erros, avaliando-os estatisticamente, por forma a desencadear aces com eles
relacionadas. Estas aces podem corresponder ao desligar, ou no, da estao que
provoca os erros, tornando este protocolo eficaz em ambientes ruidosos.
Utilizando o protocolo CAN, a ligao entre o nvel fsico (nvel 1 OSI) e o de aplicao
(nvel 7 OSI) feita utilizando vrios protocolos emergentes ou atravs de software
desenvolvido pelo utilizador [22]. O exemplo de um protocolo, baseado em CAN,
standard industrial ao nvel de aplicao o DEVICEnetTM da Allen-Bradley o qual
utilizado para ligar em rede controladores lgicos programveis e sensores inteligentes.
Em resumo, o grande interesse pelo CAN por parte dos crculos da engenharia de
automao industrial reside em diversas das suas caractersticas, nomeadamente as
seguintes [27]:

Ser um standard ISO;

Considervel imunidade ao rudo;

Capacidade multi-mestre;

Capacidade multicast;

Capacidade eficaz de detectar e sinalizar erros;

Simplicidade;

Retransmisso automtica de mensagens em espera logo que o barramento


esteja livre;

Reduzido tempo de latncia;

Atribuio de prioridade s mensagens;

Flexibilidade de configurao;

Distino entre erros temporrios e erros permanentes dos ns;

Elevadas taxas de transferncia (1 Mbit/s);

Reduo de cabo a utilizar;

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

3.3 MTODO DE ENDEREAMENTO


Quando so transmitidos dados utilizando o CAN, no existe endereo fonte ou destino
numa mensagem. Os identificadores nicos, das mensagens, servem para caracterizar o
contedo da mensagem (ex. rpm ou temperatura do motor, no caso do controlo de
veculos) sendo da competncia de cada n da rede decidir se a mensagem ou no
vlida, para esse n, realizando para isso um teste de aceitao ao identificador da
mesma [28]. Este teste designado por filtragem, Frame acceptance filtering [4],
existindo vrios dispositivos controladores que permitem diferentes nveis de
sofisticao desta filtragem.
Outra caracterstica importante do identificador, para alm de definir o contedo da
mensagem, a de este estabelecer, tambm, a prioridade da mensagem. Isto
importante para a atribuio do barramento quando vrias estaes competem pelo
acesso ao barramento.
O processo de transmisso e recepo de mensagens CAN, ilustrado na Figura 3.1,
consiste no seguinte: se a unidade central de processamento, Central Processing Unit
(CPU), de um dos ns desejar enviar uma mensagem para um ou mais ns da rede, este
passa os dados a serem transmitidos e o respectivo identificador para o controlador
CAN (Preparar) desse n. Isto tudo o que o CPU necessita realizar para iniciar a
transferncia de informao. A mensagem ento composta e transmitida pelo
controlador CAN. Logo que o controlador consiga acesso ao barramento (Enviar
mensagem) todos os outros ns na rede CAN tornam-se receptores da mesma
(Receber mensagem). Cada estao na rede CAN, tendo recebido correctamente uma
mensagem, realiza um teste de aceitao para determinar se os dados recebidos so ou
no relevantes para essa estao (Seleco). Se os dados tiverem significado so
processados (Aceite), caso contrrio so rejeitados (No Aceite).

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

Figura 3.1 - Mtodo de endereamento.

atingido, desta forma, um nvel superior de flexibilidade do sistema e de configurao


devido ao esquema de endereamento orientado conteno. fcil adicionar estaes
40

rede CAN existente sem necessidade de alteraes de hardware ou software dos ns


existentes, desde que as novas estaes sejam apenas receptoras. Uma vez que o
protocolo de transmisso de dados no requer endereos fsicos para os componentes
individuais, suporta o conceito de electrnica modular e ao mesmo tempo permite
recepo mltipla (multicast, broadcast) e sincronizao de processos distribudos.
Medies, necessrias como informao por vrios microcontroladores, podem ser
transmitidas pela rede, de tal forma que no necessrio que cada microcontrolador
possua o seu sensor, evitando redundncia de sensores no caso de redes de aquisio.

3.4 PROCESSO DE ARBITRAGEM NO DESTRUTIVA


Para que os dados sejam processados em tempo real estes devem ser transferidos
rapidamente. Isto exige um meio fsico que permita elevada taxa de transmisso e
chamadas rpidas alocao do barramento quando vrias estaes tentam transmitir
simultaneamente. No processamento em tempo real a urgncia da troca de mensagens
pela rede pode ser significativamente diferente: uma grandeza (ex. carga do motor) que
varie rapidamente deve ser transmitida com maior frequncia e menores atrasos do que
outras que variem menos (ex. temperatura do motor).
No CAN, a prioridade com que uma mensagem transmitida relativamente a outra
especificada pelo identificador da respectiva mensagem. A prioridade das mensagens
definida durante a fase de projecto do sistema sob a forma de valores binrios. Para esta
definio de prioridades considerado que o identificador de menor valor numrico
detm maior prioridade [22].
Por outro lado, a singularidade dos identificadores dos objectos de comunicao,
mensagens, tambm utilizada para arbitrar os pedidos de acesso ao barramento por
parte dos ns concorrentes. O CAN uma rede Carrier Sense Multi-Acess with
Determinstic Collision Resolution (CSMA/DCR) [29], ou seja: os ns atrasam a
transmisso se o barramento estiver ocupado; quando a condio de barramento livre for
detectada, qualquer n pode iniciar a transmisso; os conflitos de acesso ao barramento
so solucionados por comparao orientada ao bit, bitwise, dos identificadores afectos
aos objectos de comunicao, mensagens, e funciona da seguinte forma:

Enquanto transmite o identificador do objecto de comunicao, cada n


monitora o barramento srie;

Se o bit transmitido for recessivo, nvel lgico 1, e for monitorizado um


bit dominante, nvel lgico 0, o n desiste da transmisso e inicia a
recepo dos dados que chegam;

O n que transmite o objecto com o menor identificador, ganha acesso ao


barramento e continua a transmisso.

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

3.5 FORMATO DAS FRAMES


Originalmente as frames do protocolo CAN possuam um identificador de 11 bits. Com
a especificao 2.0 [27] foi definido um novo formato, o qual se baseia num
identificador de 29 bits de comprimento, aumentando consideravelmente o nmero
possvel de identificadores nicos. Este novo formato opcional, o que significa que as
mensagens com identificadores de 11 bits continuaro a ser as mensagens standard. De
acordo com a especificao 2.0 as frames com 11 bits identificadores designam-se por
frames standard e as frames com 29 bits identificadores designam-se por frames
estendidas.
Seguidamente sero abordadas as diferenas, mais significativas, entre os diversos
formatos actualmente conhecidos [30].
A Figura 3.2 ilustra os diferentes tipos de formato possveis, onde se pode verificar que
em todos os formatos, as mensagens comeam com o bit de incio de frame, start of
frame (SOF), seguido dos bits do identificador. Com o identificador existem um ou trs
bits de controlo (RTR, SRR e IDE), no campo de arbitragem. Estes bits definem quando
se trata de uma frame standard ou estendida e quando se trata de uma frame de dados ou
remota.
Campo de
controlo

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

Dados, CRC, ACK, EOF

( b) Formato duma frame de dados segundo a verso 2.0B (Formato standard).


Campo de
controlo

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:

O bit Remote Transmit Request (RTR), distingue entre frames de dados e


remotas. Em frames de dados este bit dominante, sendo recessivo em
frames remotas.

O bit Substitute Remote Request (SRR), um bit recessivo. Este bit


transmitido em frames no formato estendido na posio que o bit RTR ocupa
em frames standard.

O bit Identifier Extension (IDE), faz a distino entre frames standard e


estendidas. Em frames standard este bit dominante, enquanto que em
frames estendidas recessivo.

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:

Controladores CAN 2.0B activos, transmitem e recebem ambos os formatos


de frames estendidas ou standard;

Controladores 2.0B passivos, transmitem e recebem frames standard,


ignorando frames estendidas sem erros;

Controladores CAN 1.0 geram erros quando detectam frames estendidas.

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.

3.6 TRANSFERNCIA DE MENSAGENS


Conforme foi referido na seco anterior, as frames do protocolo CAN possuem dois
formatos que diferem no tamanho do identificador:

Frames standard, cujo identificador possui 11 bits;

Frames estendidas, cujo identificador possui 29 bits.

Embora haja estes dois tipos de formato, s se ir considerar o formato de frame


standard porque foi o utilizado nesta dissertao. A transmisso e recepo de
informao, num sistema CAN so efectuadas e controladas atravs de quatro tipos
43

diferentes de frames:

Frame de Dados;

Frame Remota;

Frame de Erro;

Frame de Sobrecarga.

3.6.1 Frame de Dados


Uma frame de dados, ilustrado na Figura 3.3, contm os dados do emissor para o
receptor. Os sete campos que compem este tipo de frames so os seguintes:

Incio
de
frame

Campo
de
arbitragem

Campo
de
controlo

Campo
de
dados

Campo
CRC

Campo
ACK

Fim
De
frame

Figura 3.3 - Frame de dados.

44

Incio de frame, SOF. Este bit marca o incio da transmisso de dados ou


remotas. um bit dominante. Todos os ns tm de se sincronizar, com a
transio provocada pelo SOF do n que iniciou primeiro a transmisso;

Campo de arbitragem. Este campo depende do formato da frame, sendo no


formato standard, constitudo pelo identificador e pelo bit RTR. O bit RTR
tem o valor dominante para frames de dados;

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;

Campo de dados. Este campo indica o nmero admissvel de bytes de dados


para uma frame de dados varia num intervalo que pode ir de 0 a 8 [4, 27];

Campo Cyclic Redundancy Code (CRC). Contm a sequncia CRC seguida


do delimitador CRC, o qual consiste num nico bit recessivo. O clculo da
sequncia CRC feito tendo em conta uma polinomial geradora [4, 27];

Campo Acknowledge (ACK), reconhecimento. Este campo constitudo por


dois bits, o slot ACK e o delimitador ACK, sendo este ultimo recessivo. Os
ns receptores ao receberem correctamente a sequncia CRC, enviam o
reconhecimento substituindo o bit recessivo por um bit dominante na slot
ACK. Como consequncia do anteriormente exposto note-se que o slot ACK
rodeado por dois bits recessivos;

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.

3.6.2 Frame Remota


Um n que seja receptor de determinados dados, pode iniciar a transmisso dos
mesmos, atravs de pedido ao n de origem, enviando uma frame remota, ou seja, um
pedido de dados. A frame remota constituda por seis campos, conforme ilustrado na
Figura 3.4.

Incio
de
frame

Campo
de
arbitragem

Campo
de
controlo

Campo
CRC

Campo
ACK

Fim
De
frame

Figura 3.4 - Frame remota.

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.

3.6.3 Frame de Erro


A frame de erro, cujo formato est ilustrado na Figura 3.5, [7], transmitida por
qualquer n quando detectado um erro no barramento e constituda por dois campos
distintos. O primeiro campo dado pela sobreposio de flags de erro provenientes de
diferentes estaes. O segundo campo o delimitador de erro.

Frame de erro
Intervalo interframe
ou
frame de sobrecarga

Frame de dados
Flag de erro
Sobreposio de flags de erro

Delimitador de erro

Figura 3.5 Frame de erro.

Um n activo-ao-erro ao detectar um erro assinala-o pela transmisso de uma flag


activa-ao-erro. O formato desta flag de erro viola a lei da insero de bits aplicada a
todos os campos desde o SOF at ao delimitador CRC. Como consequncia, todos os
outros ns detectam tambm uma condio de erro e iniciam por si a transmisso de
uma flag de erro. A sequncia de bits dominantes, monitorizada no barramento,
resulta da sobreposio das diferentes flags de erro transmitidas por ns individuais. O
comprimento total desta sequncia varia entre um mnimo de seis e um mximo de doze
bits.
Uma estao passiva-ao-erro detectando uma condio de erro tenta sinalizar este
facto atravs da transmisso de uma flag passiva-ao-erro. A estao passiva-ao-erro
45

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.

3.6.4 Frame de Sobrecarga


A frame de sobrecarga, overload, contem dois campos de bits: flag de sobrecarga e
delimitador de sobrecarga. O formato da flag de sobrecarga corresponde da flag
activa-ao-erro. O delimitador de sobrecarga tem formato idntico ao do delimitador de
erro [4, 27].
A frame de sobrecarga, ilustrado na Figura 3.6, utilizada para provocar um atraso extra
entre uma frame de dados ou remota e a frame posterior [7].

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

Figura 3.6 Frame 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]:

Condies internas de um receptor, que requer um atraso da prxima frame


de dados ou remota. Nestas condies a frame de sobrecarga s pode ter
incio durante o primeiro bit de uma intermisso;

A deteco de um bit dominante durante a intermisso. Neste caso a frame


de sobrecarga tem incio depois de ser detectado o bit dominante.

Depois da transmisso de um flag de sobrecarga, qualquer n escuta o barramento at


detectar um bit recessivo.

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

envio da sua flag de sobrecarga e todos iniciam simultaneamente a transmisso de mais


sete bits recessivos em simultneo, para completar o delimitador de sobrecarga com o
comprimento de oito bits [4].

3.6.5 Intervalo interframe


As frames de dados e as frames remotas so separadas de frames precedentes
independentemente do tipo destas (dados, remota, erro ou sobrecarga), por um campo de
bits designado por intervalo interframe, interframe space.
Ao contrrio das anteriores, as frames de erro e de sobrecarga no so precedidas por
um intervalo interframe.
O intervalo interframe contm os campos de Intermisso, de barramento livre, Idle, e
ainda o campo de Suspenso de Transmisso para ns passivos-ao-erro que tenham
sido emissores de frames anteriores. A Figura 3.7 e a Figura 3.8 ilustram o intervalo
interframe para estaes que no sejam passiva-ao-erro ou que tenham sido receptoras
da mensagem anterior e para estaes passivas-ao-erro que tenham transmitido a
mensagem anterior, respectivamente.
Frame

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.

O campo de intermisso consiste em trs bits recessivos. Durante a intermisso, no


permitido a nenhum n iniciar a transmisso de uma frame de dados ou remota. A nica
aco que pode ter assinalar uma condio de sobrecarga.
O perodo de barramento livre (idle) pode ter um tamanho arbitrrio. Uma frame que
esteja pendente para transmisso iniciada no primeiro bit posterior intermisso. A
deteco de um bit dominante durante o estado livre do barramento interpretada
como incio da frame, SOF.
A suspenso de transmisso verifica-se quando um n passivo-ao-erro aps transmitir
uma frame, enviar oito bits recessivos a seguir intermisso, antes de lhe ser
permitido iniciar a transmisso da frame posterior ou reconhecer o barramento como
livre. Se entretanto outro n iniciar uma transmisso, o n tornar-se- um receptor dessa
mensagem.

Frame

47

Intervalo interframe

Frame

Intermisso

Suspenso
Barramento
de
livre
transmisso

Figura 3.8 - Intervalo interframe para estaes passivas-ao-erro que tenham


transmitido a mensagem anterior.

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

Figura 3.9 Mtodo de insero de bit.

3.8 ORDEM DE TRANSMISSO DE BITS NUMA FRAME CAN


Uma frame transferida campo a campo, iniciando no campo SOF. Dentro de um
campo, o bit mais significativo transmitido em primeiro lugar, conforme ilustrado na
Figura 3.10, para uma frame de dados no formato standard.

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

Primeiro bit a ser transmitido


Figura 3.10 - Ordem de transmisso dos bits.

3.9 PRIORIDADE
Conforme foi referido na seco 3.4, as prioridades so definidas durante a fase de

48

projecto do sistema, sendo tanto maior a prioridade de determinada mensagem, quanto


menor for o valor numrico do seu identificador.
Utilizando a especificao 2.0 B [27], o identificador constitudo por 29 bits o que
significa que o nmero possvel de identificadores diferentes (mais de 500 milhes) para
as mensagens consideravelmente superior ao nmero de identificadores permitidos se
for utilizada a especificao 2.0 A (2032). Como consequncia disto, o nmero de
nveis de prioridades tambm significativamente superior. No existe, no entanto, na
maioria dos casos, necessidade de utilizar o CAN 2.0 B, uma vez que 2032 nveis de
prioridade so suficientes para a generalidade das aplicaes. Utilizando o CAN 2.0B
acaba por se desperdiar largura de banda na maioria das aplicaes.
Em termos de implementao existem controladores CAN que permitem apenas o
formato 2.0A (Philips 80C200), enquanto que outros (Intel 82527) permitem os
formatos CAN 2.0 A e CAN 2.0 B. A escolha do tipo de controlador a utilizar, deve ter
em considerao, conforme foi referido na seco 3.5, a compatibilidade entre os
diferentes formatos de frame.

3.10 TAXAS DE TRANSMISSO


No CAN a taxa de transmisso depende do comprimento de barramento e vice-versa.
Esta limitao surge devido aos processos de arbitragem e error-recovery, o tempo de
bit nunca deve ser inferior ao dobro do atraso de propagao no barramento. Segundo a
especificao ISO 11989 [4], a taxa mxima corresponde a 1 Mbit/s para um tamanho
de 40 metros. Para tamanhos de barramento maiores as recomendaes segundo a CiA
[25], CAN in Automation, so:

500 Kbit/s para distncias at 100 metros;

250 Kbit/s para distncias at 250 metros;

125 Kbit/s para distncias at 500 metros ;

50 Kbit/s para distncias at 1Km.

3.11 TAMANHO DUMA REDE CAN


O nmero de ns que podem existir numa nica rede , teoricamente, ilimitado [27]. No
entanto, o nmero de identificadores e a capacidade dos transceivers existentes impem
restries. Assim, dependendo do tipo de transceiver, at 32 ou 64 ns por rede
normal, existindo no entanto transceivers que permitem ligar pelo menos 110 ns por
rede [26].

3.12 ARQUITECTURA DOS CONTROLADORES CAN


Existem duas verses de controladores CAN, uma com a designao de CAN bsico,
Basic CAN, e uma verso superior, possuindo um filtro de aceitao implementado
em hardware, com a designao de CAN completo, Full CAN [22].

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).

3.13 MTODOS DE DETECO E SINALIZAO DE ERRO


Numa rede CAN h a garantia de que uma frame simultaneamente aceite por todos os
ns ou apenas por alguns. Assim a consistncia de dados , uma propriedade do sistema,
alcanada atravs de conceitos de multicast e suporte de erros, error handling [4].
Para implementar o segundo conceito, esto definidos diversos tipos de erro e
respectivos mecanismos de deteco.
Ao contrrio de outros sistemas de barramento, o protocolo CAN no utiliza mensagens
de confirmao mas detecta e assinala erros que ocorram [28].

3.13.1 Deteco de erros


Para a deteco de erros o protocolo CAN implementa trs mecanismos ao nvel da
mensagem e dois ao nvel do bit.
Esses mecanismos so [4]:

Monitorizao;

Verificao da regra de insero do bit;

Verificao da frame;

Verificao da sequncia CRC de 15 bits;

Verificao do reconhecimento (ACK).

Estes tipos de mecanismos, no mutuamente exclusivos, so utilizados para verificar a


ocorrncia dos seguintes tipos de erro:

3.13.1.1 ERROS AO NVEL DA MENSAGEM


Erro de CRC
O CRC salvaguarda a informao contida na frame, sendo adicionados pelo emissor, no
fim de transmisso desta, bits redundantes. O receptor recalcula estes bits e compara-os
com os bits recebidos. Se no forem coincidentes assinalado um erro de CRC.

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.

3.13.1.2 ERROS AO NVEL DO BIT


Erro de bit
O emissor tem capacidade para detectar erros de bit baseado na monitorizao dos sinais
do barramento. Assim cada n que transmite tambm monitora o barramento,
detectando, caso existam, diferenas entre o valor do bit transmitido e o valor do bit
monitorizado.

Erro de insero de bit


O erro de insero de bit detectado sempre que existam seis bits consecutivos com
nvel lgico igual, num campo da frame que seja codificado pelo mtodo da insero do
bit.

3.13.2 Sinalizao de erros


Se for detectado um erro de bit, de insero de bit, de formato ou no reconhecimento,
por qualquer n, este inicia a transmisso de uma flag de erro durante o bit seguinte.
Se um erro na CRC for detectado, iniciada a transmisso de uma frame de erro no bit
seguinte ao delimitador ACK, a menos que j tenha sido iniciada uma frame de erro
para qualquer outra condio de erro [4].

3.14 O NVEL FSICO


O nvel fsico responsvel pela transferncia de bits entre os diferentes ns de uma
rede CAN; este define o modo como os sinais so transmitidos, lidando, por isso, com
parmetros como temporizao, codificao e sincronizao das sequncias de bits a
serem transmitidos [29]. Na especificao inicial feita por Robert Bosh [27], nenhum
meio foi definido, permitindo diferentes opes para o meio de transmisso e nveis dos
sinais. Estas propriedades foram posteriormente contempladas pelo standard ISO [4]
onde esto definidas caractersticas dos sinais.
O standard DS 102-1 da CiA [25], completa aquelas definies relativamente a
especificaes do meio fsico e conectores. A CiA especifica tambm diversas ligaes
mecnicas (cabos e conectores).
A rede CAN opera num modo quase estacionrio: por cada transmisso de um bit
51

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.

3.14.1 Meio fsico


Com o CAN possvel utilizar diversos meios fsicos, tais como: par de fios
entrelaados, fibra ptica, rdio frequncia, etc. Actualmente, a maioria das aplicaes
utiliza um barramento diferencial a dois fios [22].

3.14.2 Transmisso diferencial

Nvel mdio de tenso

No CAN os sinais so transmitidos utilizando tenses diferenciais, derivando da muita


da imunidade ao rudo e tolerncia a falhas que o caracterizam. As duas linhas de sinal
so designadas por CAN_H e CAN_L. Um 0 corresponde ao sinal CAN_H
superior ao CAN_L e como tal designado por bit dominante. A situao contrria,
CAN_L superior a CAN_H, corresponde a um bit recessivo ou 1 conforme ilustra a
Figura 3.11.

VCAN_L

Vdif

Vdif
VCAN_H

Recessivo

Dominante

Recessivo

Tempo, t

Vdif = VCAN_H - VCAN_L

Figura 3.11 - Representao fsica de bit.

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.

3.14.3 Tolerncia a falhas no barramento


A especificao standard [4], define meios prprios para deteco de falhas, que
permitem o funcionamento da rede em condies adversas, mesmo com uma relao
sinal/rudo reduzida. A tolerncia a falhas fundamenta-se na operao com apenas um
fio e capaz de garantir continuidade da operao da rede na presena de:

Quebra de um fio;

Curto circuito de um fio massa, ground, ou bateria de alimentao, VCC;

Curto circuito entre as linhas CAN_L e CAN_H;

A especificao standard no prev meios de tolerncia no caso de anomalia simultnea


nos dois fios do barramento.

3.15 TEMPO DE BIT E SINCRONIZAO


3.15.1 Representao e definio do tempo de bit
O tempo nominal do bit, tB, definido como sendo a durao de um bit, correspondendo
ao inverso da taxa nominal de transmisso, nmero de bit/s transmitidos, de um emissor
ideal na ausncia de ressincronizao [4] . Os segmentos que constituem o tempo de bit
so ilustrados na Figura 3.12.
Tempo nominal de bit
Seg._Sync.

Seg._Prop.

Seg1_Fase

Seg2_Fase

Ponto de amostragem

Figura 3.12 - Diviso do tempo de bit.

As funes de gesto do barramento executadas durante do tempo do bit, tais como o


ajuste da sincronizao de um n, atraso de compensao da transmisso da rede e a
posio dos pontos de amostragem, so definidas pela lgica programvel do tempo de
bit do controlador CAN [5, 7]. Os segmentos que constituem o tempo bit so:

53

Segmento de Sincronizao, Seg_Sync.. Este segmento usado para


sincronizar os vrias ns do barramento, sendo esperada uma transio
durante o mesmo;

Segmento do Tempo de Propagao, Seg_Prop. Este segmento utilizado


para compensar os tempos de atraso fsico na rede. Estes atrasos consistem
nos tempos de propagao do sinal na linha do barramento e nos tempos de
atraso interno aos ns;

Segmentos 1 e 2 dos buffers de fase, Seg1_Fase e Seg2_ Fase. Estes


segmentos so utilizados para compensar erros de fase nas transies. Estes
segmentos podem ser alongados ou encurtados por ressincronizao;

Ponto de amostragem o instante no qual lido e interpretado o nvel do


barramento como sendo o valor do respectivo bit. Ocorre no final do
segmento Seg1_Fase.

O tempo de processamento de informao o segmento de tempo que tem incio no


ponto de amostragem e reservado para clculos do nvel de bit subsequente.

3.15.2 Sincronizao
Existem duas formas de sincronizao:

Sincronizao forada (Hard synchronization), no incio de uma mensagem;

Ressincronizao, durante a transferncia da mensagem.

As regras que regem os processos de sincronizao so as seguintes:

Somente permitida uma sincronizao durante um tempo de bit;

Uma transio s pode ser usada para sincronizao se o valor detectado no


ponto de amostragem anterior, diferir do valor do barramento imediatamente
aps a transio;

A sincronizao forada realizada durante o estado de barramento livre,


sempre que haja uma transio de recessivo para dominante.

A ressincronizao consiste em produzir um alongamento ou estreitar do tempo de bit,


por forma a permitir que a localizao do ponto de amostragem seja correcta.

3.16 CONFIGURAES BASE DE CIRCUITOS INTEGRADOS


Existem trs configuraes base no que diz respeito a utilizao de integrados CAN
[21]:

Controlador CAN discreto (Stand alone);

Microcontrolador com controlador CAN interno;

Serial Linked Input Output (SLIO).

3.16.1 Configurao utilizando controladores CAN discretos


No primeiro caso, o controlador CAN ligado ao microcontrolador atravs dos
barramentos de dados e endereos. Esta configurao til quando se pretende
actualizar sistemas j existentes. Implica que seja possvel efectuar a interface do
controlador, ou seja, no pode ser utilizado um controlador apenas com E/S.
54

3.16.2 Configurao utilizando microcontrolador com


controlador CAN
Se um sistema for desenvolvido de raiz, a segunda opo deve ser utilizada
relativamente primeira. Nesse caso, a interface de dados e endereos feito
internamente existindo vrios destes dispositivos disponveis no mercado.

3.16.3 Configurao SLIO CAN


O CAN, apesar das vantagens que permite, continua a ser considerado caro em alguns
tipos de aplicaes. Alm disso, no justificvel utilizar microcontroladores para
simples operaes liga/desliga, on/off, tendo sido introduzida para esses casos, por
alguns fabricantes, uma verso simples e barata de dispositivos designados vulgarmente
por SLIO CAN. Trata-se de uma forma simples de reforar a capacidade de E/S de um
microcontrolador central atravs do barramento CAN. Os integrados SLIO detm pouca
inteligncia necessitando de serem programados e calibrados por um
microcontrolador, por eles responsvel, funcionando sempre como satlites desse n
inteligente possuindo microprocessador.
Existe tambm a possibilidade de ter, no mesmo barramento, os trs tipos de
configuraes anteriormente referidas. Mesmo tratando-se de integrados de diferentes
fabricantes, com software desenvolvido de forma adequada, possvel interligar esses
dispositivos.
Seguidamente, nesta seco, ser justificada a utilizao da tecnologia SLIO CAN em
sistemas de controlo de reduzida velocidade (<125 Kbit/s), uma vez que foi esta a
configurao base utilizada no mbito desta dissertao.
Aplicaes, como o caso de controlo de estufas, que envolvem, principalmente,
operaes liga/desliga de diversos dispositivos actuadores (lmpadas, motores,
electrovlvulas, etc.) requerem trfego reduzido de informao. Para aplicaes deste
tipo pode tornar-se caro e injustificado utilizar um barramento de dados de alta
velocidade para informao de controlo, sendo por isso recomendada a utilizao de um
barramento de dados de menor velocidade.
Existem assim, duas configuraes possveis, sendo uma vantajosa para aplicaes que
exijam elevada velocidade e outra para aplicaes de menor velocidade de transferncia
de informao. Do ponto de vista de engenharia fcil fazer a passagem de elevada para
baixa velocidade e vice-versa, se o mesmo protocolo for utilizado. No entanto, quando
um sistema CAN configurado para velocidades reduzidas, geralmente permanece o
mesmo conjunto de circuitos integrados CAN. Isto no econmico uma vez que existe
um desperdcio de largura de banda de transmisso e recursos, utilizando a configurao
composta por controladores CAN de elevada velocidade em aplicaes de controlo que
requerem velocidade reduzida, as quais, na maioria dos casos, envolvem funes
simples de liga/desliga. Em resumo, o conjunto de circuitos integrados utilizado para
aplicaes de reduzida velocidade teria um custo igual ao gasto para aplicaes de
velocidade elevada.
O SLIO CAN foi desenvolvido para tirar partido da tecnologia CAN em aplicaes de
baixa velocidade com menor custo. Tipicamente, um integrado SLIO CAN custa cerca

55

de 1/5 do preo de um microcontrolador com interface CAN.

SLIO (Serial Link Input/Output)


Na sua forma mais simples, o SLIO pode ser visto como um porto E/S com controlador
CAN, respeitando a especificao 2.0 A e 2.0 B (passivo). Existem SLIOs que
permitem uma taxa de transmisso mxima de 125 Kbit/s, utilizando um oscilador
interno, sendo no entanto possvel operar a 250 Kbit/s utilizando para tal um oscilador
externo a cristal, o que aumenta no entanto o preo e complexidade da interface.
As Figuras 3.13 e 3.14 ilustram configuraes tpicas de sistemas CAN e SLIO CAN
utilizadas em aplicaes de alta e baixa velocidade, respectivamente.

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

Figura 3.13 Sistema CAN tpico.


Entrada/Sada

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

Figura 3.14 Sistema SLIO CAN.

A diferena fundamental entre as duas configuraes a ausncia do dispendioso


microcontrolador nos ns SLIO CAN.
Conforme foi referido anteriormente, os dispositivos SLIO CAN so programados e
calibrados por um n inteligente, host, o qual consiste num n possuindo
microcontrolador. Um nico n host pode controlar um mximo de 16 SLIOs num
barramento SLIO CAN, estando este nmero relacionado com a existncia de 4 bits
configurveis no identificador em cada SLIO o que limita a 16 o nmero mximo de
identificadores nicos possvel, conforme ilustrado na Figura 3.15.
Identificador standard

56

ID10

ID9

ID8

ID7

ID6

ID5

ID4

ID3

ID2

ID1

ID0

Identificador do SLIO

P3

P2

P1

P0

Dir

P0, P1, P2 e P3: pinos para configurao do identificador do SLIO


Dir: bit de direco para mensagens do SLIO CAN

Figura 3.15 Relao entre o identificador do SLIO P82C150 e o identificador CAN


standard.

Combinando dois fabricantes (Philips e National) de SLIOs, os quais possuem


configuraes diferentes para os identificadores (bit ID1, da Figura 3.15 diferente),
possvel um mximo de 32 ns num sistema SLIO CAN [31]. Em ambos os casos o bit
ID0 do identificador CAN, indica a direco da transferncia de dados, sendo 0, em
mensagens transmitidas do n host para o(s) SLIO(s), e 1 para frames com sentido
oposto. O n host pode fazer polling aos seus SLIOs transmitindo frames remotas para o
sistema SLIO CAN verificando, periodicamente, a existncia de todos os ns
assegurando desta forma a integridade do sistema.
Outra caracterstica importante na comunicao host vs ns SLIO CAN a de o campo
de dados do sistema SLIO CAN ser fixo. O primeiro byte do campo de dados funciona
como registo de status e comando, correspondendo os restantes bytes de dados aos pinos
de E/S do SLIO (16 bits E/S disponveis no caso do PCA82C150 da Philips). Cada pino
E/S pode ser programado individualmente.

Endereo fsico do SLIO


Devido aos 4 bits configurveis do identificador, o SLIO CAN evidncia a tcnica de
endereo fsico na qual a cada n SLIO CAN atribudo um identificador nico por
hardware durante o reset. Deixando de haver endereamento funcional como no CAN
em geral. Alm disso, at certo nvel actua como uma configurao mestre/escravo
virtual. A relao SLIO-host est representada na Figura 3.16. Conforme foi referido
anteriormente, todos os 16 SLIOs num barramento CAN devem ser controlados apenas
por um host. No entanto, em algumas situaes, podem ser divididos em grupos e
controlados por vrios hosts, no podendo no entanto, o nmero de SLIOs exceder 16
(ou 32) no mesmo barramento. No ambiente multi-hosts apenas necessrio um dos
hosts para efeitos de calibrao [31].
Devido tcnica de broadcast do CAN, todos os outros ns CAN (alm do host e dos
SLIOs) podem receber mensagens transmitidas pelos SLIOs (Figura 3.16). Sendo por
isso, necessrio garantir, atravs do teste de aceitao das mensagens, que todos os
outros ns inteligentes (excepto o host) no actuem sobre os dados uma vez que tal
situao poderia provocar erros e confuso no sistema.

57

N Host

N SLIO

N SLIO

Outros Ns

N SLIO

Figura 3.16 SLIO e outros ns CAN partilhando o mesmo barramento.

Nas prximas seces sero consideradas aplicaes utilizando o SLIO P82C150 da


Philips uma vez que foi o utilizado nesta dissertao.

Iniciao do sistema SLIO CAN


Num sistema SLIO CAN, utilizando o SLIO P82C150, necessrio um n host que
envie uma mensagem de calibrao com perodos de tempo iguais ou inferiores a 8000
tempos de bit para desta forma sincronizar o oscilador interno dos SLIOs com o tempo
de bit do barramento [32]. Uma vez calibrados, os ns SLIO podem transmitir e receber
mensagens como outros ns CAN. A Figura 3.17 ilustra o exemplo de uma mensagem
de calibrao [33].
SOF
0

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.

Figura 3.17 Mensagem de calibrao.

A transmisso pelo SLIO efectuada automaticamente pelo controlador CAN, que o


mesmo possui. Durante a iniciao, o SLIO configurado para realizar funes tais
como entrada event capture, sada digital ou converso analgico-digital. A iniciao
feita pelo n host programando os registos dos ns SLIO atravs do barramento CAN.
Do ponto de vista da recepo, o SLIO possui um controlador CAN com uma lgica
interna que lhe permite reconhecer automaticamente o identificador nico do n. A
frame de reconhecimento composta pelo status corrente e pelo valor dos registos do
SLIO, permitindo desta forma ao n host uma verificao da mensagem transmitida e do
estado do(s) SLIO(s).
Quando incorporado um novo SLIO numa rede CAN, o novo n capaz de se fazer
conhecer ao controlador host aps detectar um mnimo de 3 frames CAN, num espao
de 8000 tempos de bit [33]. O novo SLIO envia uma mensagem prpria de assinalar
presena confirmando ao host a sua presena na rede. O nico requisito que o novo
elemento deve preencher ter um identificador diferente de qualquer outro dos ns
58

activos na rede CAN.

O tamanho da rede SLIO CAN


Uma vez que o SLIO CAN no possui oscilador a cristal, a lgica interna de tempo de
bit do SLIO optimizada para tolerncia mxima do oscilador [31]. Isto encurta o
tamanho efectivo do sistema CAN uma vez que o ponto de amostragem deve estar o
mais prximo possvel do incio do tempo de bit o que limita significativamente o
tempo permitido para o atraso de propagao na linha de transmisso, resultando em
comprimentos de barramento mais reduzidos do que num sistema CAN convencional.
Na Tabela 3.1 so comparados os comprimentos de barramento de um sistema CAN
com os de um sistema SLIO CAN [31]. Refira-se no entanto que os comprimentos para
um sistema SLIO CAN so suficientes para diversas aplicaes, como o caso do
controlo de estufas agrcolas.

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

actuadores (lmpadas, solenides, motores) e sensores

59

Figura 3.18 - Sistemas actuais.

Barramento CAN

Nvel Fsico
SLIO CAN
Interface de
potncia
Sensores e
actuadores

Figura 3.19 Sistemas futuros.

3.17 PORQUE ESCOLHER O CAN?


O protocolo CAN, devido sua fiabilidade e baixo custo, tem tido bastante aceitao,
existindo actualmente vrios dispositivos acessveis no mercado de circuitos integrados.
Uma das vantagens do protocolo CAN a capacidade de suportar o erro. Esta
capacidade consiste em retransmitir a mensagem que no aparece correctamente no
barramento CAN.
O meio de transmisso simples, sendo o mais comum um par de fios. Um sistema
CAN pode trabalhar apenas com um fio. Dependendo da aplicao, existem outros tipos
de ligaes que podem ser escolhidos, como a via rdio, ptica, etc.
Num sistema de comunicaes, quando um n do sistema falha existe a possibilidade de
este n bloquear todo o sistema, mas com o protocolo CAN isto no sucede porque esse
n pode ser excludo de enviar e receber no barramento CAN.
Utilizando um relgio global simples implementar aplicaes em tempo real, porque
possvel sincronizar um sistema e esta sincronizao mantida durante a latncia de
uma mensagem.
Uma vez que todos os mdulos escutam todas as mensagens, fcil implementar
aplicaes do tipo event driven. Assim, um mdulo pode ser programado para reagir
logo que qualquer mensagem surja no barramento CAN.
O protocolo CAN bom para implementar sistemas de controlo distribudo. O mtodo
de arbitragem para determinar a prioridade das mensagens e a possibilidade de um
determinado nmero de ns tentar o acesso ao barramento (multi-mestre) possibilita a
construo de bons sistemas de controlo.
Pode-se concluir que a aceitao do protocolo CAN por parte da indstria de automao
se deve a vrios factores, designadamente:

60

Baixo custo;

Capacidade de funcionar em ambientes com condies elctricas adversas;

Elevado grau de capacidades de tempo real e controlo distribudo;

Fcil utilizao;

61

Disponibilidade de componentes, controladores, com o protocolo CAN;

Existncia de standards.