Quais são as principais aplicações do protocolo CAN?

O protocolo CAN (Controller Area Network) foi desenvolvido pela empresa europeia de eletrônica automotiva Robert Bosch GmbH em 1983 para redes em veículos. A intenção por trás do desenvolvimento do protocolo CAN era permitir a comunicação robusta de dados entre diferentes unidades de controle eletrônico (ECU) e unidades de controle microcontroladas (MCU) de um veículo em um único fio para eliminar a complexa fiação ponto a ponto entre eles. . Apesar de comunicar dados através de um único barramento, o CAN não requer nenhum computador host.

O protocolo CAN padrão opera nas camadas físicas e de link de dados do modelo OSI. As outras camadas de pilha de protocolo não são implementadas dentro do CAN, o que provou ser uma grande vantagem. Engenheiros de sistema são livres para projetar outras camadas de pilha de protocolo de uma forma que melhor se adapte a uma aplicação. Hoje, o CAN tem uma reputação como um protocolo de comunicação de rede serial robusto, simples, de domínio cruzado e versátil que deve ser implementado sempre que for necessária comunicação frequente de dados em tempo real entre dispositivos eletrônicos pertencentes a domínios diferentes. O CAN faz variações como CANopen, DeviceNet e J1939, permitindo a implementação de todas as sete camadas de pilha de protocolo junto com as camadas CAN padrão 1 e 2 para casos de uso específicos. Aprender a implementação do protocolo CAN padrão seria esclarecedor.

Neste artigo, daremos uma olhada no protocolo CAN e seus recursos distintos. Em seguida, exploraremos algumas aplicações típicas do protocolo CAN e investigaremos como o CAN é utilizado ali.

Padrão CAN
As especificações CAN definem o protocolo CAN e a camada física CAN. O protocolo é definido principalmente pelas especificações ISO-11898, mas outras especificações como ISO-11519 para comunicação de dados serial de baixa velocidade também se aplicam ao protocolo. A especificação ISO-11898 é dividida em três partes. A primeira parte define as especificações da camada de enlace de dados e do enlace físico único. A segunda parte da especificação define a camada física CAN para CAN de alta velocidade. A terceira parte da especificação define a camada física CAN para CAN de baixa velocidade.

O CAN de baixa velocidade possui taxas de dados de 5 Kbps, 10, 20, 50 e 125 Kbps. O CAN de alta velocidade possui taxas de dados de 250, 500, 800 Kbps e 1 Mbps. Em uma rede CAN, os dados são comunicados através de um par trançado blindado ou não blindado ou cabo de fita com impedância característica de 120 ohms. Os conectores DB9 (macho) são usados ​​conforme especificação CiA DS-102. CiA significa “CAN em Automação”. O alcance máximo de um barramento CAN é de 1000m (a 40Kbps). Para CAN de alta velocidade, o alcance máximo é de 40m a 1Mbps. Um máximo de 127 nós podem ser conectados a um barramento CAN.

Como funciona o protocolo CAN
Em uma rede CAN, cada dispositivo eletrônico ou sistema conectado ao barramento é um nó. Cada nó consiste em três elementos — controlador host, controlador CAN e transceptor CAN. O controlador host é um microcontrolador ou processador dentro do dispositivo/sistema que executa algum aplicativo para um trabalho específico. O controlador CAN lida com a transmissão e recepção de mensagens CAN entre o controlador host e o barramento CAN. Ele atua como um manipulador de protocolo. O transceptor CAN cuida da transmissão e recepção de mensagens CAN pelo barramento CAN. Ele atua como um driver de linha. Enquanto o controlador host é um controlador/processador físico, o controlador CAN e o transceptor CAN são implementados em software ou firmware.

Componentes de um nó CAN

Cada nó é um transceptor CAN. Os dados são comunicados de maneira assíncrona e half-duplex. Os bits são transmitidos pelo barramento CAN usando tensão diferencial. Os dois fios no barramento CAN são chamados CAN baixo e CAN alto. Existem dois estados lógicos incomuns no barramento CAN, chamados recessivos e dominantes. A lógica 1 é o estado recessivo e a lógica 0 é o estado dominante. Normalmente, o barramento fica em um estado recessivo, ou seja, lógico 1. Para o estado recessivo ou comunicação lógica 1, ambos os fios CAN baixo e CAN alto recebem uma tensão metade da tensão de alimentação VDD ou VCC. A tensão de alimentação é normalmente de 5 V, portanto ambos os fios são aplicados a 2,5 V. Como resultado, a tensão diferencial entre os fios é 0V. Isso é lido como lógico 1. No estado dominante, o CAN alto é aumentado para 3,5 V e o CAN baixo é aumentado para 1,5 V. Como resultado, a tensão diferencial entre dois fios é de 2V. Este é o estado dominante do barramento, que é lido como 0 lógico pelo transceptor CAN.

Exemplo de níveis de sinal CAN

O estado dominante sempre substitui o estado recessivo. O barramento apenas permanece no nível recessivo quando todos os nós enviam o bit recessivo. Devido à lógica AND, mesmo que um único nó envie um bit dominante, o estado do barramento é dominante.

CAN é um protocolo baseado em mensagens. Os dados são comunicados na forma de frames de mensagens. Um quadro é uma sequência significativa de bits. Existem quatro tipos de frames de mensagem – frames de dados, frames remotos, frames de erro e frames de sobrecarga. Os quadros de dados transportam mensagens de um transceptor CAN, os quadros remotos são enviados para solicitar dados de outros transceptores CAN, os quadros de erro são enviados para indicar um erro em um quadro de dados e o quadro de sobrecarga é enviado para indicar a sobrecarga dos quadros de dados, indicando a necessidade de atraso na transmissão de quadros de dados. Um campo identificador identifica cada quadro. O campo identificador tem 11 bits no CAN padrão e 29 bits no protocolo CAN estendido. Para saber mais sobre a estrutura/formato dos frames de dados e outros frames CAN, consulte este artigo sobre protocolo CAN padrão.

Por vez, apenas um nó pode acessar o barramento. O método de acesso usado no protocolo CAN é um método Carrier Sense Multiple Access with Collision Detection (CSMA/CD) denominado Bitwise Arbitration (BA). O campo identificador de um quadro de dados define a prioridade da mensagem. Quanto menor o valor do identificador, maior será a prioridade. Portanto, um quadro de dados com campo identificador 0x6C3 tem prioridade mais alta do que um quadro de dados com campo identificador 0x7B4. Da mesma forma, um quadro de dados com campo identificador 0x7B3 tem prioridade mais alta do que um quadro de dados com campo identificador 0x7B4.

Qualquer nó pode acessar o barramento CAN se estiver ocioso, ou seja, em estado recessivo. Se dois ou mais nós tentarem acessar o barramento simultaneamente, o nó que estiver transmitindo um quadro de dados com um campo identificador menor, ou seja, um quadro de dados com prioridade mais alta terá acesso ao barramento. Os campos identificadores são comparados bit a bit do MSB (bit 10) ao LSB (bit 0) até que um nó ganhe a arbitragem. Se um nó estiver transmitindo um bit correspondentemente recessivo enquanto qualquer outro nó estiver transmitindo um bit dominante, o nó perderá a arbitragem. Desta forma, o nó que transmite um quadro de dados com o menor valor de identificador, ou seja, de maior prioridade, obtém acesso ao barramento CAN. Os demais nós devem aguardar sua vez de acordo com o nível de prioridade de seu quadro de dados.

Um quadro de dados transmitido por um nó CAN é transmitido a todos os outros nós do barramento. Nos demais nós, é filtrado por eles e recebido somente se o campo identificador se aplicar a eles.

Por que pode?
Existem muitos motivos para escolher o protocolo CAN. CAN é um protocolo de comunicação de rede serial e requer apenas dois fios para comunicar dados entre vários dispositivos. Todos os dispositivos conectados em uma rede CAN comunicam-se através de um barramento comum de dois fios. Não é necessário conectar dois nós/dispositivos um a um.

Como o controlador CAN, assim como o transceptor CAN, são implementados no nível de software/firmware, e o protocolo é implementado apenas na camada física e de enlace de dados, dispositivos de diferentes domínios podem se comunicar no mesmo barramento. As outras camadas do modelo OSI em cada dispositivo ou nó podem ser projetadas individualmente pelos engenheiros de sistema de acordo com a necessidade ou função do nó/dispositivo específico.

CAN é um protocolo baseado em mensagens. Ao contrário do protocolo baseado em endereço, este tipo de protocolo não é afetado pela adição ou remoção de nós no barramento. As mensagens transmitidas pelo barramento são transmitidas para todos os outros nós e filtradas de acordo com o campo identificador no nível do nó. A prioridade é atribuída aos quadros de mensagens, não aos nós CAN, por meio de seus campos identificadores. Desta forma, não há necessidade de identificar nós que compartilham o barramento CAN. Os nós podem ser inseridos ou excluídos sem afetar a rede CAN.

Conforme construído para redes em veículos, o protocolo utiliza tensões diferenciais. Portanto, os dados não podem ser corrompidos ou alterados por outros nós. Devido aos níveis diferenciais de tensão, o CAN é um dos protocolos de comunicação serial mais robustos.

O barramento CAN tem menos chance de colisão entre dispositivos. Pela arbitragem bit a bit, a prioridade é atribuída às mensagens, de modo que as mensagens mais importantes são comunicadas primeiro pelo barramento, independentemente dos nós que as transmitem. Os dados são transmitidos pelo barramento de forma assíncrona e priorizados por arbitragem bit a bit.

O protocolo permite a verificação de erros para fins de confiabilidade e oferece excelente imunidade a ruídos. CAN é um protocolo de comunicação serial amplamente utilizado para troca de dados frequente, mas de baixa velocidade, entre dispositivos eletrônicos embarcados. Muitos chips possuem interfaces CAN integradas. Os chips semicondutores para configurar a rede CAN estão disponíveis em fornecedores como Maxim Integrated, Texas Instruments, Analog Devices, Microchip Technology, NXP, ST Microelectronics e outros.

Aplicações de CAN
O protocolo CAN é amplamente utilizado por todos os tipos de aplicações da indústria automobilística, incluindo veículos de passageiros, veículos pesados ​​de mercadorias e utilitários e veículos agrícolas. Sendo um protocolo de comunicação serial robusto, confiável e versátil, o CAN não se limita apenas aos automóveis. O protocolo é utilizado pelos módulos de controle de trens e aeronaves de alta velocidade. É usado por sistemas de entretenimento e infoentretenimento em automóveis. O protocolo é usado para controlar e monitorar guindastes e sondas de perfuração. É usado por elevadores e sistemas de controle de elevadores. O protocolo é utilizado para automação predial, como sistemas de aquecimento e ar condicionado. Também é utilizado em portas automáticas e abridores de cortinas. É utilizado para rega automatizada em estufas e fazendas. O protocolo é amplamente adotado em instrumentação médica devido à sua robustez e versatilidade. Muitos sistemas de controle de máquinas-ferramenta usam a rede CAN como um sistema de barramento no dispositivo, permitindo a automação da fábrica. O protocolo também é usado por redes de sensores onde é necessária robustez de sinal devido a fatores ambientais.

PODE em automóveis
Construído para redes automotivas, o protocolo CAN é usado na maioria dos automóveis de passageiros. Ele permite a comunicação de dados entre várias ECUs sem qualquer fiação individual. A maioria dos carros possui um sistema de gerenciamento de motor baseado em CAN. Não apenas isso, a maioria dos carros conecta ECUs eletrônicos da carroceria por meio de sistemas multiplex baseados em CAN. Os sistemas de entretenimento do veículo são conectados através do barramento CAN. Além disso, o barramento CAN é usado por sistemas de diagnóstico em veículos. ISO-15765 é uma especificação para interfaces de diagnóstico baseadas em CAN. O CAN também é usado para comunicação de dados orientada à conexão entre dispositivos de entretenimento automotivos.

Nos carros elétricos e nos veículos híbridos, a rede CAN tem um papel inesperadamente mais amplo a desempenhar. É útil para comunicação entre inversores, sistemas de gerenciamento de baterias e controladores de servo motores. Ele também conecta servocontroladores com interface homem-máquina para o driver. Embora CANopen seja a variante CAN mais usada em aplicações não automotivas, é aquela que está encontrando utilidade em veículos híbridos e elétricos.

Muitas máquinas agrícolas, como escavadeiras e empilhadeiras, dependem de redes baseadas em CAN. Em guindastes sobre caminhões, o CAN é usado para monitoramento e controle do sistema do guindaste.

CAN em sistemas de transporte público
O protocolo CAN é amplamente utilizado em trens e aeronaves de alta velocidade. Os trens usam CAN para conectar sistemas de controle de freio. Nos trens de alta velocidade, o CAN é usado para permitir a frenagem automática. Os trens também usam CAN para se comunicar com subsistemas como controle de freios, controle de portas, diagnósticos, monitoramento de vagões de carga e para se comunicar com gateways em sistemas de ônibus de trem. CAN também é útil na automatização de atendimento ao cliente e sistemas de informação de passageiros.

No transporte rodoviário, redes de sensores baseadas em CAN são utilizadas para detecção de velocidade, vigilância de tráfego e gerenciamento de semáforos. CAN também é o protocolo utilizado por equipamentos eletrônicos marítimos. Também é usado para conectar sistemas de controle de motores de aeronaves com sensores de estado de voo e sistemas de navegação.

CAN para automação industrial
Sendo um protocolo de comunicação serial confiável equipado com métodos de detecção de erros, lógica de sinal robusta e capacidade de confinamento de falhas, protocolos baseados em CAN como CANopen, DeviceNet e Smart Distributed Systems são amplamente utilizados para controle de máquinas industriais. Equipamentos de fabricação de semicondutores, máquinas de embalagem cartonada, máquinas de processamento têxtil, máquinas de impressão e equipamentos de controle de qualidade, todos dependem de redes CAN incorporadas. Os sistemas de controle distribuído baseados em CAN são amplamente utilizados para controle de robôs e automação de linhas de montagem.

CAN na automação predial
Na automação predial, o protocolo CAN é amplamente utilizado por sub-redes. O sistema de controle de elevadores e elevadores, sistemas de ar condicionado, portas automáticas, abridores automáticos de cortinas, sistemas de controle de persianas, sistemas de aquecimento e resfriamento e sistemas de controle de iluminação usam protocolos baseados em CAN para comunicação entre dispositivos eletrônicos de diferentes domínios.

CAN em eletrônica médica
Devido aos sinais robustos, capacidade de detecção de erros e comunicação entre domínios, o CAN é um protocolo amplamente aplicado para comunicação no dispositivo em equipamentos eletrônicos médicos, como máquinas de raios X e tomógrafos. Os protocolos baseados em CAN também são aplicados para redes entre dispositivos em unidades de terapia intensiva e salas de cirurgia.

CAN em eletrônica embarcada
CAN permite redes embarcadas flexíveis e é empregado como um barramento de sistema em muitos aparelhos e dispositivos de consumo, como máquinas de lavar, máquinas de venda automática, sistemas de áudio e vídeo, máquinas de café e muitos outros aparelhos domésticos.

Related Content

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.