Escolar Documentos
Profissional Documentos
Cultura Documentos
Rede CAN - O Que É e Como Funciona - MachineWorkShop PDF
Rede CAN - O Que É e Como Funciona - MachineWorkShop PDF
O CAN Bus (ou Barramento Controller Area Network) foi desenvolvido pela empresa
alem Robert BOSCH e disponibilizado em meados dos anos 80. Sua aplicao inicial foi
realizada em nibus e caminhes. Atualmente, utilizado na indstria, em veculos
automotivos, navios e tratores, entre outros.
CONCEITUAO BSICA
Outro ponto forte deste protocolo o fato de ser fundamentado no conceito CSMA/CD
with NDA (Carrier Sense Multiple Access / Collision Detection with Non-Destructive
Arbitration). Isto signica que todos os mdulos vericam o estado do barramento,
analisando se outro mdulo est ou no enviando mensagens com maior prioridade.
Caso isto seja percebido, o mdulo cuja mensagem tiver menor prioridade cessar sua
transmisso e o de maior prioridade continuar enviando sua mensagem deste ponto,
sem ter que reinici-la.
Outro conceito bastante interessante o NRZ (Non Return to Zero), onde cada bit (0 ou
1) transmitido por um valor de tenso especco e constante.
Como mencionado no incio, todos os mdulos podem ser mestre e enviar suas
mensagens. Para tanto, o protocolo sucientemente robusto para evitar a coliso
entre mensagens, utilizando-se de uma arbitragem bit a bit no destrutiva. Podemos
exemplicar esta situao, analisando o comportamento de dois mdulos enviando, ao
mesmo tempo, mensagens diferentes. Aps enviar um bit, cada mdulo analisa o
barramento e verica se outro mdulo na rede o sobrescreveu (vale acrescentar que um
bit Dominante sobrescreve eletricamente um Recessivo). Um mdulo interromper
imediatamente sua transmisso, caso perceba que existe outro mdulo transmitindo
uma mensagem com prioridade maior (quando seu bit recessivo sobrescrito por um
dominante). Este mdulo, com maior prioridade, continuar normalmente sua
transmisso.
CAN 2.0A Mensagens com identicador de 11 bits. possvel ter at 2048 mensagens
em uma rede constituda sob este formato, o que pode caracterizar uma limitao em
determinadas aplicaes. A Figura 3 apresenta o quadro de mensagem do CAN 2.0A.
PADRES EXISTENTES
DETECO DE FALHAS
Bit Stufng:Apenas cinco bits consecutivos podem ter o mesmo valor (dominante ou
recessivo). Caso seja necessrio transmitir seqencialmente seis ou mais bits de
mesmo valor, o mdulo transmissor inserir, imediatamente aps cada grupo de cinco
bits consecutivos iguais, um bit de valor contrrio. O mdulo receptor car encarregado
de, durante a leitura, retirar este bit, chamado de Stuff Bit. Caso uma mensagem seja
recebida com pelo menos seis bits consecutivos iguais, algo de errado ter ocorrido no
barramento.
Toda e qualquer falha acima mencionada, quando detectada por um ou mais mdulos
receptores, far com que estes coloquem uma mensagem de erro no barramento,
avisando toda a rede de que aquela mensagem continha um erro e que o transmissor
dever reenvi-la.
Nvel Fsico Para os barramentos com 2 e 4 os, caso algo de errado venha a ocorrer
com os os de dados CAN_H e CAN_L, a rede continuar operando sob uma espcie de
modo de segurana. Seguem abaixo algumas das condies de falha nas linhas de
comunicao que permitem a continuidade das atividades da rede:
a parte mais dedicada aplicao quando se trabalha com um protocolo como o CAN.
O Dicionrio de Dados (ou Data Dictionary) o conjunto de mensagens que podem ser
transmitidas naquela determinada rede.
A forma mais interessante de se organizar um dicionrio de dados criando uma matriz
com todos os mdulos da rede. Esta matriz mostrar cada mensagem sob a
responsabilidade de cada mdulo, relacionando quem a transmite e quem a recebe.
Outros dados importantes nesta matriz so: o tempo de atualizao dos valores da
mensagem, o intervalo de transmisso da mesma e o valor relativo ao seu identicador.
Alm desta matriz, a documentao referente ao Dicionrio de Dados dever conter
uma descrio detalhada de cada mensagem, bit a bit.
O Dicionrio de Dados implementado numa rede CAN via software e dever ser o
mesmo (ter a mesma verso de atualizao, inclusive) em todos os mdulos
conectados rede. Isto garantir total compatibilidade entre os participantes do
barramento.
Uma rede CAN, dependendo da sua aplicao, poder ter at centenas de mdulos
conectados. O valor mximo para a conexo de mdulos em um barramento depende
da norma que se utiliza na dada aplicao.
Toda rede CAN possui 2 Terminadores. Estes terminadores nada mais so que
resistores com valores entre 120 e 124 ohms, conectados rede para garantir a perfeita
propagao dos sinais eltricos pelos os da mesma. Estes resistores, um em cada
ponta da rede, garantem a reexo dos sinais no barramento e o correto funcionamento
da rede CAN.
A Figura 5 ilustra a rede CAN de um sistema automotivo, com duas sub-redes e dois
terminadores. O Gateway desta aplicao o Painel de Instrumentos.
A Figura 6 mostra um diagrama que ilustra as medidas que devem ser observadas no
desenvolvimento do chicote.
Destacamos que, aps o barramento ser montado, caso seja necessrio qualquer
retrabalho no mesmo, aconselhvel a troca do chicote eltrico danicado. Emendas
podero alterar a impedncia caracterstica da rede e com isso afetar o seu
funcionamento.
DETERMINAO DA ARQUITETURA
Considerando uma determinada aplicao, a primeira tarefa que devemos considerar
durante o projeto de sua rede de comunicao de dados a determinao da sua
arquitetura. Neste ponto podemos enfrentar duas situaes: ter que estabelecer uma
rede de comunicao entre ECUs prontas e que no trabalhem em rede ou, ter que
projetar totalmente as ECUs, considerando a leitura das entradas, seus devidos
processamentos e atuaes nas sadas, alm da troca de dados atravs da rede
propriamente dita.
Sero duas ECUs conectadas por uma rede de comunicao CAN Bus, onde ambas
tero as mesmas responsabilidades:
O Dicionrio de Dados (D.D.) de uma aplicao pode ser resumidamente descrito como
uma tabela que relaciona as mensagens existentes nesta aplicao (seus
identicadores e dados) e as ECUs responsveis por sua transmisso e recepo.
Quando projetamos uma ECU para a sua utilizao em uma rede de comunicao de
dados baseada no Protocolo CAN Bus, temos duas alternativas tecnolgicas em relao
execuo do processamento: utilizar um Micro-Controlador (sem CAN) conectado a
um Controlador CAN (o que caracteriza dois CIs distintos e interligados) ou utilizar um
Micro-Controlador com CAN incorporado.
Inneon C167CR-LM
Intel 87C196CA
Microchip 18Fxx8
Motorola 68376
Philips P8xC591
Controladores CAN
Fabricante Componente
Inneon 81C90
Intel 82527
Microchip MCP2510
Philips SJA1000
Transceivers CAN
Fabricante Componente
Bosch CF151
Inneon TLE6252G
Philips PCA82C250
TJA1050
#include 87C591.h
#dene BYTE unsigned char
#dene WORD unsigned int
#dene IN P1_2
#dene OUT P3_2
typedef struct {
BYTE INFO; /* Byte com informaes relacionadas a mensagem CAN */
BYTE ID[4]; /* 4 bytes de Identicador */
BYTE BUF[8]; /* 8 bytes de dados */
}
PDU;
void init_serial() {
PCON = 0x80; /* SMOD1=1 e SMOD0=0 => Baud Rate dobrado */
TMOD = 0x20; /* Timer 1 autoload */
TCON = 0x40; /* Inicia o Timer 1 */
TH1 = 0x0FD; /* Taxa de transmisso: 19200*2=38400 */
SCON = 0x52; /* SM0=0 e SM1=1 => Modo 1 */
}