Você está na página 1de 34

PROTOCOLO CAN

Bruno Filipe Martins Oliveira

Departamento de Engenharia Electrotcnica


Instituto Superior de Engenharia do Porto 2013

Este relatrio satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Tese/Dissertao, do 2 ano, do Mestrado em Engenharia Electrotcnica e de Computadores

Candidato: Bruno Filipe Martins Oliveira, N 1070201, 1070201@isep.ipp.pt Orientao cientfica: Joo Paulo da Costa Baptista, jpb@isep.ipp.pt Empresa: ISEP Superviso: Pedro Joo De-Francesco Resende Fortuna Assis, pfa@isep.ipp.pt

Departamento de Engenharia Electrotcnica


Instituto Superior de Engenharia do Porto 3 de novembro de 2013

ndice
NDICE ............................................................................................................................................................V NDICE DE FIGURAS ............................................................................................................................... VII NDICE DE TABELAS ................................................................................................................................ IX 1. 2. INTRODUO ...................................................................................................................................... 2 PROTOCOLO CAN ............................................................................................................................... 5 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 3. TRANSMISSO EM TEMPO REAL ........................................................................................................ 7 DIVISO EM CAMADAS ..................................................................................................................... 8 CAMADA FISICA ........................................................................................................................ 10 CAMADA DE ENLACE ................................................................................................................... 11 DETECO E SINALIZAO DE ERROS ............................................................................................. 18 GESTO DOS ERROS ........................................................................................................................ 21

CONCLUSES ..................................................................................................................................... 23

REFERNCIAS DOCUMENTAIS ............................................................................................................. 24

ndice de Figuras
Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Figura 6 Figura 7 Figura 8 Figura 9 Figura 10 Figura 11 Figura 12 Figura 13 Figura 14 Figura 15 Difuso de uma rede CAN ............................................................................................. 6 Aplicao do princpio wired-AND e resoluo de conflitos por bit-wise ................. 7 Camadas ISO e CAN.................................................................................................... 10 Bits Dominantes e Recessivos ...................................................................................... 11 Frame standard 2.0A .................................................................................................... 12 Frame estendida 2.0B ................................................................................................... 13 Estrutura de uma trama de dados[7] ............................................................................. 14 Campos de arbitragem e controlo de mensagem no formato CAN 2.0A[7] ................ 15 Estrutura da trama remota[7]........................................................................................ 16 Trama de erro ............................................................................................................... 16 Trama de sobrecarga .................................................................................................... 17 Deteco de erros CRC[5]............................................................................................ 19 Aplicao do bit stuffing no protocolo CAN[5] ....................................................... 20 Deteco de erros ACK[5] ........................................................................................... 21 Gesto de erros no protocolo CAN[5] .......................................................................... 22

vii

viii

ndice de Tabelas
Tabela 1 Modelo de referncia OSI .............................................................................................. 9

ix

1. INTRODUO
A tecnologia est presente em diversos sectores industriais, comerciais ou at nas prprias habitaes. A perfeio na realizao de tarefas um objectivo atingir, a exactido e segurana com que um processo dever ser executado e a confiabilidade nas suas respostas e actuaes. As indstrias, automvel, martima e aeroespacial so as que mais crescem mundialmente e com a ajuda de algumas novidades tecnolgicas tem-se obtido produtos com mais qualidade, confiabilidade, funcionalidade e menor custo. Nos sistemas autmatos, a natureza das informaes diversa, imensa e o hardware que as processam e os meios fsicos pelos quais estas informaes circulam tem vindo a evoluir com um elevado grau tecnolgico. A comunicao em tempo real com qualidade de informao e grande confiabilidade cada vez mais importante. Actualmente as redes para sensores e actuadores tm um papel muito importante na automao de mquinas e sistemas, tanto nas reas de processos, como em fbricas. Na utilizao de uma rede para sensores e actuadores espera-se obter uma serie de vantagens econmicas e funcionais, tais como:

Maior confiabilidade dos dados Compatibilidade dos modulos Modularidade Custo baixo para o seu planeamento, instalao, configurao e manuteno, atravs de um diagnstico muito simplificado tornando o sistema mais flexvel e de alta viabilidade econmica.

Um dos barramentos que tem sido mais utilizado, pelo seu baixo custo e caracterstica de evitar colises para mensagens prioritrias durante a transmisso o CAN (Controller Area Network).[1] O protocolo CAN tem vindo a ser aplicado em diversas reas como um meio de comunicao de suporte a sistemas automatizados. Actualmente, a rea de automao de veculos inteligentes o principal mercado que utiliza este protocolo, mas o mesmo tambm pode ser utilizado para o controlo de motores, sensores, e actuadores inteligentes.[2]

2. PROTOCOLO CAN
Um Protocolo de Comunicao um conjunto de regras que orienta a comunicao entre duas ou mais unidades de controlo. O CAN Bus, barramento Controller Area Network,[3] 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 para gesto do motor, sistema ABS, controlo da suspenso, etc. A sua especificao base era constituda por elevada taxa de transmisso, grande imunidade a interferncias elctricas e capacidade de detectar de erros. A utilizao da electrnica, na melhoria da eficincia e funcionalidade dos sistemas actuais tornaram, 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 utilizam-se 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.[4] Sendo um protocolo baseado em mltiplos mestres (multimaster) e difuso (broadcast), o protocolo CAN orientado mensagem, pelo que no existem endereos para os dispositivos, apenas para a mensagem. Estas mensagens so identificadas pelo uso

de um Identificador de Mensagem (ID), que ser nico em toda a rede, no definindo apenas a origem da mensagem, mas tambm a prioridade da mensagem, o que de grande importncia em casos que existe competio pelo barramento. O modo como a difuso da mensagem se processa pode ser observado na Figura 1.[5]

Figura 1 Difuso de uma rede CAN

Na figura podemos ver um dispositivo a difundir uma mensagem para o barramento, onde todos os outros dispositivos conectados a esse barramento recebem a mensagem, procedendo verificao se a mensagem necessria para si.

Com estas caractersticas atinge-se um grau de flexibilidade tal que muito fcil adicionar dispositivos a uma rede com protocolo CAN j existente, sem efectuar modificaes ao nvel do hardware ou do software nos dispositivos j colocados, desde que os novos sejam apenas utilizados para recepo. Isto leva a que se consiga obter uma recepo mltipla e boa sincronizao de processos distribudos. Dados que podem ser necessrios saber para vrios dispositivos, podem ser enviados atravs da rede de tal modo que no necessrio saber quem o transmissor por parte dos dispositivos. Tambm se pode ter um servio mais fcil de actualizaes de rede, uma vez que nenhuma das transmisses baseada na disponibilidade determinados dispositivos especficos.[5]

2.1.

TRANSMISSO EM TEMPO REAL

Dependendo do tipo de aplicao que se tem em uso, existem mensagens que so mais urgentes que outras, obrigando existncia de um esquema de prioridades. Estas prioridades fazem parte do identificador de cada mensagem e so atribudas no momento da concepo do sistema, no havendo maneira prtica de fazer mudanas dinamicamente. Desta forma, CAN gere os acessos ao barramento de acordo com o conceito CSMA Carrier Sense Multiple Access, com arbitragem na prioridade da mensagem. Este conceito de arbitragem evita colises em mensagens cujos dispositivos iniciaram simultaneamente a transmisso em primeiro lugar sem perdas significativas de tempo. Na Figura 2 possvel visualizar a activao do sinal dos pinos de transmisso (TR activo) em trs dispositivos diferentes no barramento, designados por n A, n B e n C, assim como o estado do barramento segundo o princpio do wired-AND, onde o 0 o estado dominante e o 1 o estado recessivo.

Figura 2 Aplicao do princpio wired-AND e resoluo de conflitos por bit-wise

Se dois ou mais dispositivos do barramento iniciarem a transmisso ao mesmo tempo, aps terem verificado que o barramento estava em espera a coliso entre as mensagens evitada

pela arbitragem bit-wise. Cada dispositivo envia os bits do identificador e fica escuta do estado do barramento. Num determinado instante os dispositivos A e C enviam um bit dominante do identificador. O dispositivo B envia um bit recessivo mas leu no barramento um bit dominante, pelo que perdeu a arbitragem e o direito ao barramento, passando ao modo de recepo. Alguns bits depois o mesmo sucede ao dispositivo C. Isto significa que o identificador da mensagem do dispositivo A tem um valor binrio mais baixo e por isso possui maior prioridade que as mensagens dos dispositivos B e C. Desta forma o dispositivo no barramento que tem maior prioridade ganha a arbitragem sem ter que repetir a mensagem no perdendo assim tempo. Este o funcionamento do conceito de arbitragem bit-wise. Assim que o barramento voltar a ficar em espera, os dispositivos B e C tentam automaticamente transmitir as suas mensagens. Desta vez o dispositivo B cede perante o C, pelo que ser a mensagem deste a ser transmitida, seguida pela mensagem do B. Assim, a prioridade mais alta definida como tendo o identificador com o valor binrio mais baixo. No permitido a dispositivos diferentes enviarem mensagens com o mesmo identificador, uma vez que podem levar a uma situao de erro.[5]

2.2.

DIVISO EM CAMADAS

No modelo de distribuio dos sistemas automatizados, em que cada elemento autnomo, ou seja, possui o seu prprio conjunto de recursos, distribuindo apenas os resultados da utilizao destes recursos, a comunicao ocorrer na troca e sincronizao de mensagens. Apesar de parecer relativamente simples, necessrio que os participantes da troca de mensagens (emissor e receptor) concordem quanto ao significado dos bits enviados de um para o outro. Existe a necessidade que ambos concordem a diversos nveis, isto , desde os bits de mais baixo nvel, at aos de mais alto nvel, como aqueles que tratam como a informao deve ser expressa. Para que se faa o tratamento adequado em cada camada, a ISO (International Standard Organization) criou o modelo OSI (Open System Interconnection), um modelo de referncia que identifica 7 nveis envolvidos num processo de comunicao, apontando quais as funes que devem ser realizadas por cada um dos nveis, como mostra a Tabela 1.

Tabela 1 Modelo de referncia OSI

So as aplicaes propriamente ditas, que fazem a interaco com Nvel de aplicao os utilizadores, como clientes de email, transferncia de ficheiros, ou conexes remotas a computadores da rede. Ao contrrio dos nveis mais baixos, que tratam da transferncia de bits, este nvel responsvel por dar uma forma estruturada s informaes. Verso aprimorada do nvel de transporte, permitindo controlo de Nvel de sesso dilogo, determina qual das partes est a transmitir, para que se possa recomear transmisses onde as ligaes eventualmente foram perdidas. Garante a consistncia na transmisso de dados entre a origem e o Nvel de transporte destino, mesmo que isso implique a separao das informaes em diversos pacotes, que sigam por caminhos diferentes. Responsvel pelo roteamento das tramas, para que as mesmas Nvel de rede cheguem aos seus destinos correctamente, seja numa rede local, ou numa rede de longa distncia. Nvel de enlace de dados Agrupa os bits em tramas e controla a transmisso dos dados, realiza o tratamento de erros necessrio. Trata especificamente da transmisso de 0s e 1s lgicos, Nvel fsico preocupando-se com a taxa de transmisso e se a transmisso pode ser feita nos dois sentidos simultaneamente. Com base neste modelo so projectados os mais diversos protocolos de comunicao. Um protocolo pode actuar em uma camada especfica, como o TCP, que trabalha no nvel de transporte, ou o IP, que trata da camada de rede. Mas pode tambm regulamentar mais de uma camada, como o caso do CAN, que define caractersticas para as duas primeiras camadas (fsica e de enlace de dados).[2]

Nvel de apresentao

Figura 3 Camadas ISO e CAN

2.3.

CAMADA FISICA

Considerando o CAN baseado em 2 ou 4 fios, os seus condutores elctricos devem ser entrelaados e no necessariamente revestidos. Os dados enviados atravs da rede devem ser interpretados pela anlise da diferena de potencial entre os fios CAN_H e CAN_L. Por isso, o barramento CAN classificado como Par Enranado Diferencial. Este conceito atenua fortemente os efeitos causados por interferncias electromagnticas, uma vez que qualquer aco sobre um dos fios ser sentida tambm pelo outro, causando flutuao em ambos os sinais para o mesmo sentido e com a mesma intensidade. O importante que para os mdulos que recebem as mensagens a diferena de potencial entre os condutores CAN_H e CAN_L, e a comunicao no prejudicada. Em can um bit recessivo representado pelo estado logico 1 e o bit dominante dado pelo estado lgico 0, criados em funo da condio presente nos fios CAN_H e CAN_L. A Figura 4 ilustra os nveis de tenso numa rede CAN, assim como os bits Dominantes e Recessivos. [3]

10

Figura 4 Bits Dominantes e Recessivos

2.4.

CAMADA DE ENLACE

2.4.1.

FORMATO DAS TRAMAS CAN

O CAN utiliza pequenas mensagens (tramas) com um mximo de dados de 64 bits. No tem qualquer endereo explcito nas mensagens, sendo atravs do seu identificador que a estao receptora reconhece a mensagem. Este mecanismo denomina-se de endereamento orientado mensagem.

O Can suporta dois tipos de tramas: O formato standard (verso 2.0A) O formato estendido (verso 2.0B)

2.4.1.1.

Formato standard 2.0A

O formato da trama standard composta por sete campos principais, comeando com o campo incio de trama, um bit dominante (0 lgico) que identifica o incio da trama seguido do campo de arbitragem que contm o identificador de 11 bits e o bit RTR (pedido de transmisso remota), que indica se uma trama de dados (se o bit for dominante), ou uma trama de pedido (trama remota, se o bit for recessivo). Uma trama remota emitida

11

sempre que um dispositivo necessita de informao de outro, no contendo qualquer informao no campo de dados. O campo de controlo contm o bit IDE, que indica se a trama tem o formato standard (dominante), ou o formato estendido (recessivo), seguido de um bit reservado para futuras extenses do formato. Os ltimos 4 bits, DLC, indicam o nmero de bytes no campo de dados. O campo de dados contm a informao propriamente dita e varia de tamanho entre 0 e 8 bytes, seguido pelo campo de CRC. Este campo tem um tamanho de 15 bits e usado para deteco de erros. O campo ACK constitudo por dois bits. O primeiro bit transmitido com o valor recessivo, e o subsequentemente com o valor dominante se todos os dispositivos que receberam a mensagem correctamente, independentemente do resultado do teste de aceitao. O fim da mensagem indicado pelo campo EOF, end of frame que consiste em sete bits recessivos.[6]

Figura 5 Frame standard 2.0A

No final de cada trama so enviados 3 bits recessivos, designados intermisso, de modo a separar duas tramas consecutivas, se nenhuma estao quiser aceder rede, ela fica inactiva.

12

2.4.1.2.

Formato estendido 2.0B

O formato de tramas estendido proporciona identificadores de 29 bits em oposio aos 11 bits do formato standard. Este novo identificador constitudo pelos 11 bits j existentes (identificador base), seguido de uma extenso de 18 bits (extenso do identificador), permitindo assim, o protocolo CAN com a coexistncia dos dois formatos. A distino entre os dois formatos conseguida usando o bit IDE que transmitido como sendo dominante no caso de a trama ter o formato standard e recessivo se a trama for do tipo estendida. O bit RTR substitudo pelo bit SRR, sempre transmitido com o valor recessivo de modo a assegurar a prioridade das tramas standard no caso da arbitragem entre duas tramas de formato diferente e com o mesmo identificador base. Ao contrrio da verso 2.0A, na verso 2.0B o bit IDE seguido pelo identificador de extenso de 18 bits, pelo bit RTR e por um bit reservado RB1. Todos os campos seguintes so idnticos aos do da verso 2.0A.

Figura 6 Frame estendida 2.0B

2.4.1.3.

Compatibilidade entre 2.0A e 2.0B

O Protocolo CAN existe em duas verses, CAN 1.0 e CAN 2.0, sendo que o CAN 2.0 compatvel com a verso 1.0. Na verso 2.0A os identificadores tm 11 bits de comprimento, e na verso 2.0B podem ter identificadores de 11 bits como de 29 bits. Por forma a manter a compatibilidade com as verses anteriores, o 2.0B pode ser tanto do tipo passivo como activo.

13

A verso 2.0B passiva ignora todas as tramas do tipo estendido (com 29 bits de identificador). Se for activa, permite o envio e recepo de qualquer mensagem estendida, existindo algumas regras de compatibilidade: Os controladores CAN do tipo 2.0B activo podem enviar e receber tanto tramas com formato standard como com o formato estendido; Os controladores CAN 2.0B passivos enviam e recebem trama standard, ignorando as estendidas; Os controladores CAN 1.0 geram erros sempre que recebam uma trama com formato estendido.[6]

2.4.2.

TIPOS DE ENCAPSULAMENTO

Uma mensagem CAN pode ser encapsulada em quatro tipos bsicos de datagramas, sendo eles:[7] Trama de dados; Trama remota; Trama de erros; Trama de sobrecarga. 2.4.2.1. TRAMA DE DADOS

Uma trama de dados, ilustrada na Figura 7, contm os dados do emissor para o receptor. Os sete campos que compem este tipo de tramas so os seguintes:[4]

Figura 7 Estrutura de uma trama de dados[7]

Incio de trama, SOF, marca o incio da transmisso de dados ou remotas, representado por um bit dominante. Todos os dispositivos tm de se sincronizar, com a transio provocada pelo SOF do dispositivo que iniciou a transmisso primeiro;

14

O campo de arbitragem, depende do formato da trama, sendo no formato standard, constitudo pelo identificador e pelo bit RTR. O bit RTR tem o valor dominante para tramas de dados;

Campo de controlo, composto por seis bits, sendo 2 bits reservados para futura expanso seguidos pelo campo DLC (Data Length Code). 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, indica o nmero admissvel de bytes de dados, o que para uma trama de dados varia num intervalo de 0 a 8. Campo CRC (Cyclic Redundancy Code), contm a sequncia CRC seguida do delimitador CRC, o qual consiste num nico bit recessivo. Campo ACK, (Ackowledge) reconhecimento, constitudo por dois bits, o slot ACK e o delimitador ACK, sendo este ultimo recessivo. Os dispositivos receptores ao receberem correctamente a sequncia CRC, enviam o reconhecimento substituindo o bit recessivo por um bit dominante no campo ACK.

Fim de trama, (EOF), serve de flag delimitadora das tramas de dados ou remotas, sendo constitudo por sete bits recessivos.[4]

Figura 8 Campos de arbitragem e controlo de mensagem no formato CAN 2.0A[7]

2.4.2.2.

TRAMA REMOTA

Um dispositivo que seja receptor de determinados dados, pode iniciar a transmisso dos mesmos, atravs de pedido ao dispositivo de origem, enviando uma trama remota, ou seja, um pedido de dados. A trama remota constituda por seis campos, conforme ilustrado na Figura 9.[4]

15

Figura 9 Estrutura da trama remota[7]

Os campos que constituem uma trama remota so idnticos aos duma trama de dados, com a excepo do valor do bit RTR, do campo de arbitragem, que agora recessivo e da inexistncia do campo de dados. Os bits DLC do campo de controlo da trama remota devem possuir valor igual ao da trama de dados correspondente. 2.4.2.3. TRAMA DE ERRO

A Trama de erro, cujo formato est ilustrado na Figura 10, transmitida por qualquer dispositivo 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.

Figura 10 Trama de erro

Um dispositivo 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 dispositivos 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 dispositivos

16

individuais. O comprimento total desta sequncia varia entre um mnimo de seis e um mximo de doze bits. Uma estao passiva-ao-erro ao detectar uma condio de erro tenta sinalizar este facto atravs da transmisso de uma flag passiva-ao-erro. A estao passiva-ao-erro tem que aguardar sempre por seis bits subsequentes iguais aps detectar uma flag passiva-aoerro, sendo concluda quando estes forem detectados. O segundo campo o delimitador de erro, que consiste em oito bits recessivos. Aps a transmisso de uma flag de erro, cada dispositivo envia bits recessivos e monitoriza o barramento at detectar um bit recessivo. Aps o que inicia a transmisso de mais sete bits recessivos.[4] 2.4.2.4. TRAMA DE SOBRECARGA

A trama de sobrecarga, contm 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. A trama de sobrecarga, ilustrada na Figura 11, utilizada para provocar um atraso extra entre uma frame de dados ou remota e a frame posterior.

Figura 11 Trama 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 dispositivos 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:

Condies internas de um receptor, que requer um atraso da prxima frame de dados ou remota.

17

Na deteco de um bit dominante durante a intermisso, a trama de sobrecarga tem incio depois de ser detectado o bit dominante.

Depois da transmisso de um flag de sobrecarga, qualquer dispositivo escuta o barramento at detectar um bit recessivo.[4] O delimitador de sobrecarga composto por oito bits recessivos. Aps a transmisso de uma flag de sobrecarga, todos os dispositivos monitorizam o barramento at detectar uma transio de dominante para recessivo. Nesse instante todos os dispositivos terminam o 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.

2.5.

DETECO E SINALIZAO DE ERROS

O tratamento dos erros foi implementado dentro do protocolo CAN e de grande importncia para a performance final da rede. O objectivo do tratamento dos erros simplesmente a deteco de erros possveis de ocorrer nas mensagens que aparecem na rede, de modo a que o dispositivo que transmite possa retransmitir a mensagem corrigida. Qualquer controlador presente na rede tenta encontrar erros na mensagem, se for descoberto algum erro, o dispositivo que o encontrou comea a transmitir uma trama de erro, destruindo o trfego existente na rede. Os outros dispositivos, por sua vez, vo detectar o erro causado pela trama de erro e tomam a aco correcta, isto , ignoram a mensagem corrente.[6] 2.5.1. MECANISMOS DE DETECO DE ERROS

A REDE CAN TEM 5 MECANISMOS DE DETECO DE ERROS, 3 AO NVEL DAS MENSAGENS E 2


AO NVEL DO BIT.[5]

Erros de CRC Erros de formato Erros de bit stuffing Erros de ACK (Confirmao de Recepo) Erros de bit ERROS DE CRC

2.5.1.1.

18

O transmissor calcula uma soma de verificao para a sequncia de bits desde o bit SOF at ao fim do campo de dados. Esta sequncia transmitida no campo CRC da trama. O dispositivo que recebe a trama tambm faz este clculo e compara o resultado com a sequncia recebida. Este processo pode ser observado na Figura 12.

Figura 12 Deteco de erros CRC[5]

Se o dispositivo de recepo detectar a no correspondncia entre a sequncia recebida e a sequncia calculada, gera um erro CRC. De seguida a mensagem descartada e emite uma trama de erro para pedir a retransmisso da trama.[5] 2.5.1.2. ERROS DE FORMATO

Existem certos bits com valores pr-definidos que tm que ser transmitidos em certos pontos de uma mensagem CAN. Este mecanismo verifica se a estrutura da trama a ser transmitida est correcta, fazendo comparaes entre os campos da trama e o formato fixo das mensagens CAN.[6]

2.5.1.3.

ERROS DE BIT STUFFING

A codificao individual dos bits testada ao nvel do bit. A representao escolhida pelo CAN (codificao NRZ) garante a mxima eficincia na codificao dos bits, sendo as transies de sincronizao geradas atravs da introduo de um bit suplementar, a seguir a

19

5 bits consecutivos (todos do mesmo valor) com o valor complementar ao do conjunto dos bits. Se um, ou mais, erros forem descobertos por pelo menos um dispositivo usando os mecanismos acima descritos, a transmisso actual abortada e enviada uma "flag de erro". Isto impede que outras estaes aceitem uma mensagem errada e garante a consistncia dos dados ao longo de toda a rede.[6]

Figura 13 Aplicao do bit stuffing no protocolo CAN[5]

2.5.1.4.

ERROS DE CONFIRMAO

O protocolo CAN no utiliza mensagens de confirmao. Em vez disso, assinala os erros que ocorrem. Assim, as tramas recebidas correctamente so confirmadas por todos os dispositivos que as receberam atravs de uma confirmao positiva. Nenhum dispositivo modifica o valor recessivo do bit de ACK. No caso de o transmissor no receber nenhuma confirmao, gerado um erro que pode ser devido aos dispositivos receptores terem identificado um erro, ao campo ACK ter sido corrompido, ou ao facto de no existirem quaisquer outras estaes na rede.[6]

20

Figura 14 Deteco de erros ACK[5]

2.5.1.5.

ERROS DE BIT

Todos os dispositivos efectuam a monitorizao dos bits. Um erro acontece se o transmissor envia um bit dominante mas detecta no barramento um bit recessivo ou viceversa. Desta forma gera-se uma trama de erro e a mensagem repetida. Este erro no assinalado durante o campo de arbitragem ou a slot ACK, uma vez que estes campos tm que ter permisso para serem reescritos para atingir o objectivo da arbitragem e reconhecerem funcionalidade.[5]

2.6.

GESTO DOS ERROS

O confinamento de erros um mecanismo, que permite discriminar erros temporrios dos erros permanentes. Os erros temporrios podem ser causados por exemplo por fontes de tenso externas e picos de corrente. Os erros permanentes tm causa mais provvel nas ms ligaes, nos cabos partidos, e nos transmissores ou receptores deficientes. Cada dispositivo mantm 2 contadores de erros: o contador de erros ocorridos durante uma transmisso e o contador de erros ocorridos durante uma recepo. Por cada erro ocorrido durante a recepo incrementada uma unidade ao contador de erros de recepo, no entanto para os erros ocorridos durante a transmisso, so incrementadas 8 unidades ao

21

contador de erros de transmisso, isto porque mais provvel ocorrer um erro na estao que transmite a mensagem do que nas estaes receptoras. Os dispositivos funcionam num modo habitualmente conhecido como "erro activo", onde os dispositivos esto completamente funcionais, situando-se o valor de qualquer um dos contadores, obrigatoriamente abaixo das 128 unidades. Se qualquer um dos contadores exceder as 127 unidades, entra no modo "erro activo" estado de alerta. Os dispositivos no modo "erro passivo" podem ainda transmitir e receber mensagens, sendo, no entanto restringido o modo como estas fazem a sinalizao dos erros que detectam, uma vez que tambm possvel que sejam elas prprias a origem do problema. Se mensagens correctas subsequentes fizerem o contador baixar das 128 unidades, o dispositivo passa de novo para o modo "erro activo".[6]

Figura 15 Gesto de erros no protocolo CAN[5]

Se uma condio de erro persistir de modo a que o contador de erros de transmisso atinja o valor de 255 unidades, o dispositivo entra no modo "bus off", isto , o dispositivo cessa voluntariamente a sua actividade, sendo mantido o restante sistema em funcionamento, embora com alguma degradao decorrente da indisponibilidade do dispositivo.[6]

22

3. CONCLUSES
Algumas das caractersticas importantes do protocolo CAN esto na sua velocidade de transferncia e processamento de informaes atingindo ptimos tempos, na alta confiabilidade, na possibilidade de corrigir possveis erros de transmisso e recepo e no baixo custo da implementao de um dispositivo em actividades remotas com microcontroladores para aplicaes em tempo real. O protocolo CAN, devido sua fiabilidade e baixo custo, tem sido bastante aceite, existindo actualmente vrios dispositivos no mercado de circuitos integrados. Num sistema de comunicaes, quando um dispositivo do sistema falha existe a possibilidade de este bloquear todo o sistema, mas com o protocolo CAN isto no sucede porque esse dispositivo pode ser excludo de enviar e receber no barramento CAN. Este protocolo 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 dispositivos tentar o acesso ao barramento (multi-mestre) possibilita a construo de bons sistemas de controlo.

23

Referncias Documentais
[1] [2] Marques,Marco Antonio Marques, Can automotive sistema de monitoramento, http://juno.unifei.edu.br/bim/0030994.pdf, 24/10/2013 Hubert, Marco Kasdorf Hubert, O protocoloCAN como soluo para aplicaes distribuidas, baseadas em objectos, entre PCs e microcontroladores, http://www.ufpel.tche.br/prg/sisbi/bibct/acervo/info/2000/Mono-Kasdorf.pdf , 24/10/2013 Saraiva,Prof. Dr Antonio Mauro Saraiva, Um roteiro de implementao de uma rede CAN,http://www.alexag.com.br/Artigos/SIMEA2003.pdf , 24/10/2013 Protocolo de comunicaes CAN, http://paginas.fe.up.pt/~ee99058/projecto/pdf/Can.pdf, 24/10/2013 Pires,Antonio Julio Morais Pires, Comunicao de tempo-real em barramentos CAN baseados no controlador SJA1000, http://repositorioaberto.up.pt/bitstream/10216/12697/2/Texto%20integral.pdf, 24/10/2013 Caldeira, Pedro Miguel dos Reis Caldeira, Desenvolvimento de software de aplicao para redes can, http://paginas.fe.up.pt/~ee99058/projecto/relatorios/relatorio_n.pdf, 24/10/2013 Ferreira, Eduardo Henrique Corra Ferreira, Automao residencial utilizando protocol CAN, http://www.eletrica.ufpr.br/ufpr2/tccs/28.pdf, 24/10/2013

[3] [4] [5]

[6]

[7]

24

Você também pode gostar