250 likes | 350 Vues
REDES INDUSTRIAIS CAN. Wilmar Oliveira de Queiroz PUCGoiás 2012. CAN. É um protocolo de comunicação serial; Desenvolvido inicialmente pela Bosch (1986) para aplicações automotivas;
E N D
REDES INDUSTRIAISCAN Wilmar Oliveira de Queiroz PUCGoiás 2012
CAN • É um protocolo de comunicação serial; • Desenvolvido inicialmente pela Bosch (1986) para aplicações automotivas; • Como método de acesso ao barramento usa o protocolo CSMA/CR (Carrier Sense Multiple Access/Collision Resolution), também chamado de CSMA/CD + AMP (Carrier Sense Multiple Access/Collision Detection and Arbitration on Mesage Priority); • Foi adotado em 1993/94 como padrão mundial ISO11898; • CiA (CAN in Automation) é uma associação de fabricantes de controladores CAN e de microcontroladores com controladores CAN integrados.
CAN • Características gerais • Mensagens de dados são pequenas (até 8 bytes); • Taxa de até 1 Mbps; • Priorização de mensagens; • Pode transmitir em broadcast; • Recepção multicast com sincronização; • Detecção de erros; • Sinalização e retransmissão automática de mensagens; • CAN 2.0A especifica identificadores de 11 bits; • CAN 2.0B suporta mensagens estendidas com identificadores de 29 bits; • É constituído somente de duas camadas: Enlace de dados e Física. A Camada de Aplicação é especificada pelo projetista.
CAN • Características gerais: • O controle do acesso ao barramento é feito por um esquema de arbitragem binária não destrutiva (bitwise arbitration) descentralizada, baseada na adoção dos níveis dominante (0) e recessivo (1); • Não há endereço explícito nas mensagens. Cada mensagem carrega um identificador que controla sua prioridade no barramento e também identifica seu conteúdo; • Esquema de tratamento de erros com retransmissão de mensagens; • Isola falhas e remove nós com problema do barramento; • Filtra mensagens (endereçamento); • Os meios físicos podem ser o par metálico, a fibra óptica e radiofrequência; • Possui capacidade multimestre; • Distingue entre erros temporários e erros permanentes; • Flexibilidade de configuração.
CAN • Arquitetura • Define duas camadas: • Camada de enlace de dados • LLC – Logic Link Control • Controle de aceitação de mensagens • Notificações de sobrecarga do nó à rede • MAC – Medium Access Control • Controle do acesso ao meio físico • Detecção e sinalização de erros • Reconhecimento de mensagens recebidas • (Des)encapsulamento de mensagens • Camada física • Define o nível do sinal de transmissão • Ajuste do tempo de bit (bit timing) • Sincronização entre os nós
CAN • Camada Física • Versões: 1.0 e 2.0A Padrão (com identificadores de 11 bits) e 2.0B Estendida (com identificadores de 29 bits); • A versão 2.0B pode ser: • Passiva: envia e recebe somente quadros padrão (11 bits); • Ativa: envia e recebe quadros tanto padrão quanto estendida.
CAN - Frames • SOF – Start of Frame (1 bit) – início da mensagem e sincronismo dos nós • Identificador (11 ou 29 bits) – define a identificação e a prioridade da mensagem • RTR – Remote Transmission Request (1 bit) – indica uma requisição de transmissão remota • IDE – Identifier Extension (1 bit) – indica se haverá ou não extensão do identificador • r0 – Reservado (1 bit) • DLC – Data Length Code (4 bits) – contém o número de bytes de dados a serem transmitidos • Data (64 bits) – contém os dados da mensagem • CRC – Cyclic Redundancy Check (16 bits) – código de detecção de erros • ACK – Acknowledge (2 bits) – reconhecimento do recebimento de uma mensagem sem erros • EOF – End of Frame (7 bits) – indica o fim de um frame • IFS – Inter Frame Space (7 bits) – contém a quantidade de tempo requerido pelo controlador CAN para mover um frame para a posição dele na memória. • SRR – Substitute Remote Request (1 bit) – substitui o RTR • r1 - Reservado
CAN – Formatos de frame • Frame de dados: transmite os dados entre os nós da rede CAN (emissor e o receptor). O campo DLC indica o tamanho da mensagem (carga útil); • Frame remoto: é enviado por um nó da rede que necessita de uma dada mensagem. O campo RTR terá valor 1. Não existe carga útil; • Frame de erro: notifica um erro no recebimento de um frame e pode ser enviado por qualquer nó da rede; • Frame de sobrecarga: sinaliza sobrecarga em um nó, impossibilitando-o de receber frames de dados
CAN – Processo de arbitragem • A prioridade é especificada pelos identificadores • O identificador de menor valor numérico tem maior prioridade • O protocolo CAN permite acesso simultâneo ao barramento por diferentes nós. Nesse caso a arbitragem é requerida • Se o barramento estiver ocupado o nó atrasa sua transmissão • O método de acesso é o CSMA/CA with NDA(Carrier Sense Multiple Access with Collision Avoidance with Non-Destructive Arbitration) • Os conflitos são resolvidos através da arbitragem bit a bit dos identificadores das mensagens • Cada nó observa a rede bit a bit utilizando o mecanismo bitwise em que o estado dominante (“0”) se sobrepõe ao estado recessivo (“1”) • O nó que está transmitindo um bit dominante tem prioridade sobre o nó que está transmitindo um bit recessivo • Todos os nós perdedores tornam-se imediatamente receptores da mensagem com maior prioridade e somente voltam a tentar transmitir quando a rede estiver livre
CAN – Processo de arbitragem no barramento CAN R T R S O F 10 9 8 7 6 5 4 3 2 1 0 Escuta Nó 1 Nó 2 Escuta Nó 3 Nó 3 ganha a arbitragem Sinal no barramento
CAN - Barramento Os dados são representados por bits Dominantes (nível 0, Vdif>=0,9V) e bits Recessivos (nível 1, Vdif =<0,5V), criados em função da condição presente nos fios CAN_H e CAN_L.
CAN – Interface com microcontrolador • O controlador CAN pode estar conectado diretamente a um microcontrolador comum • Os microcontroladores CAN possuem um controlador CAN interno • Um nó, geralmente, é conectado a um barramento através de um transceiver • O transceiver transforma os bits que entram no barramento em uma tensão diferencial para diminuir a EMI
CAN – Interface com microcontrolador com controlador embutido
CAN – Conexão ao barramento • Os nós são conectados ao barramento através dos fios CAN_H e CAN_L • Pose-se usar conectores de 9 pinos
Protocolos de alto nível em CAN • CAN oferece somente os serviços de transferência e requisição de dados • A aplicação HLP (High Layer Protocol) deve especificar: • Os identificadores • Inicialização dos nós • Estabelecimento da comunicação • Transmissão de dados com mais de 8 bytes • Endereçamento dos nós • Controle de fluxo
Alguns protocolos HLP abertos • Automotivos • Volcano • J1939 • Industriais • CANopen • SDS – Smart Distributed Systems • CANKingdom • DeviceNet
CAN para sistemas automotivos • Vários sensores, atuadores, sistemas de segurança, sistemas de telemetria, ... • Os controladores espalhados reduzem o tamanho do cabeamento e gerenciam o tráfego das informações constituindo a Rede intraveicular (In-Vehicle Networking) • Vantagens de uma rede intraveicular: • Cabeamento menor • Compartilhamento de sensores • Flexibiliza o projeto • Padrões: CAN, SAE, VAN, ABUS
CAN para sistemas automotivos • Padrão SAE (Society of Automotive Engineers) define três classes: • Classe A: • Baixa velocidade (até 10 Kbps) • Aplicações típicas: entretenimento, áudio... • Implementada com uma UART (RS232) • Classe B: • Média velocidade (até 125 Kbps) • Aplicações típicas: monitoramento de pressão, temperatura.. • Protocolo SAE J1850 • Classe C: • Alta velocidade (acima de 125 Kbps) • Aplicações típicas: controle de servomecanismos em tempo real (suspensão inteligente, controle aerodinâmico..) • Protocolo CAN 2.0
Sensores de velocidade e aceleração Controlador CAN principal Motor Transmissão Freios Reservatório de combustível
Referências bibliográficas • LUGLI, Alexandre B. e SANTOS, Max M. D. SISTEMAS FIELDBUS para Automação Industrial: Devicenet, CANopen, SDS e Ethernet. 1ª ed. Editora Érica, São Paulo, 2009. • http://www.pcs.usp.br/~laa/Grupos/EEM/CAN_Bus_Parte_3.html • http://www.fipai.org.br/Minerva%2001%2801%29%2001.pdf