Protocolo CAN Controller Area Network -...
Transcript of Protocolo CAN Controller Area Network -...
Protocolo CANProtocolo CANController Area NetworkController Area Network
Carlo Frederico CamposDanielle SimoneProf. Luiz Affonso
Universidade Federal do Rio Grande do Norte
Programa de Pós-graduação em Engenharia Elétrica
Maio / 2005
17 de maio de 2005 CAN - Controller Area Network 2
SumárioSumárioIntrodução
– Áreas de aplicação do CANCaracterísticas do CANCamadas do protocolo CAN
– Camada Física– Camada de Enlace
Formato das mensagens CAN– Tipos de quadros
CodificaçãoTratamento de erros (detecção e sinalização)Filtragem/Validação das mensagensProtocolos de alto nívelImplementaçãoConclusões
17 de maio de 2005 CAN - Controller Area Network 3
IntroduçãoIntroduçãoO CAN Bus (Barramento Controller Area Network) foi desenvolvido pela empresa Alemã BOSCH e disponibilizado em meados dos anos 80.
Desenvolvido inicialmente para área automotiva mas devido à sua comprovada confiabilidade e robustez também está sendo adotado em aplicações industriais em sistemas que necessitam de controle distribuído em tempo real.
17 de maio de 2005 CAN - Controller Area Network 4
Áreas de Aplicação do CANÁreas de Aplicação do CAN
Veículos (marítmo, aéreo, terrestre) – carros de passeio, off-road,trens, sistema de semáforo (trens e carros), eletrônica marítma,
máquinas agrícolas, helicópteros, transporte público.
Sistema de Controle Industrial – controle de planta, de maquinário, robôs, sistema de supervisão.
Automação Predial – controle de elevadores, ar condicionado, iluminação.
Aplicações Específicas – sistemas médicos, telescópios, simuladores de vôo, satélites artificiais, entre outros.
17 de maio de 2005 CAN - Controller Area Network 5
Características do CANCaracterísticas do CANProtocolo Digital e Comunicação Serial SíncronoConceitos baseados na técnica CSMA/CD with NDA(Carrier Sense Multiple Access /Collision Detection)Priorização de MensagensGrande Flexibilidade de ConfiguraçãoRecepção MulticastGarantia de Consistência dos DadosDetecção/Sinalização de errosRetransmissão Automática de Mensagens Corrompidas
17 de maio de 2005 CAN - Controller Area Network 6
Camadas do CANCamadas do CAN
O CAN foi dividido em duas camadas, obedecendo o modelo OSI/ISO:– Data Link Layer
Logical Link Control (LLC)Medium Access Control (MAC)
– Physical Layer
17 de maio de 2005 CAN - Controller Area Network 7
Camadas do Protocolo CANCamadas do Protocolo CANModelo OSI/ISOModelo OSI/ISO
Camada Física - Physical Layer– Codificação / Decodificação dos Bits– Temporização dos Bits– Sincronização
17 de maio de 2005 CAN - Controller Area Network 8
Camadas do Protocolo CANCamadas do Protocolo CANCamada Física Camada Física –– Physical LayerPhysical Layer
Velocidade de Transmissão – Até 1Mbps
100005
670010
330020
130050
620100
530125
270250
130500
401000
Distância máxima (m)Taxa Kbit/s
Taxa de transmissão X distância para o barramento CAN
17 de maio de 2005 CAN - Controller Area Network 9
Camadas do Protocolo CANCamadas do Protocolo CANCamada Física Camada Física –– Physical LayerPhysical Layer
ISO11898– Alta Velocidade de Transmissão de dados –
125 Kbps a 1 Mpbs
ISO11519-2– Baixa Velocidade de Transmissão de dados –
10 Kbps a 125 Kbps
17 de maio de 2005 CAN - Controller Area Network 10
Camadas do Protocolo CANCamadas do Protocolo CANCamada Física Camada Física –– Physical LayerPhysical Layer
Meio de Transmissão Fios Elétricos
Formas de Constituição de um barramento CAN:
1 Fio - Fio de dados2 Fios - CAN_H,CAN_L4 Fios
– CAN_H– CAN_L– Vcc– GND
17 de maio de 2005 CAN - Controller Area Network 11
Camadas do Protocolo CANCamadas do Protocolo CANModelo OSI/ISOModelo OSI/ISO
Camada de Enlace - Data Link Layer– Logical Link Control (LLC)
RecepçãoFiltragemNotificação de OverloadGerenciamento de Recuperação
– Medium Accsses Control (MAC)Encapsulamento/ Desencapsulamento dos DadosCodificação dos QuadrosGerenciamento de Acesso ao MeioDetecção e Sinalização de ErrosReconhecimentoSerialização / Deserialização
17 de maio de 2005 CAN - Controller Area Network 12
Quadros CANQuadros CAN
O barramento CAN utiliza 4 tipos de quadros (Frames) para controlar a transferência de mensagens
– Quadro de Dados (Data Frame)– Quadro Remoto (Remote Frame)– Quadro de Erro (Error Frame)– Quadro de Sobrecarga (Overload Frame)
17 de maio de 2005 CAN - Controller Area Network 13
Mensagens do CANMensagens do CANFormato das Mensagens Formato das Mensagens –– Tipos de QuadrosTipos de Quadros
Camada de EnlaceCamada de EnlaceQuadro de Dados– Composto por 7 (sete) diferentes campos de bits
17 de maio de 2005 CAN - Controller Area Network 14
Mensagens do CANMensagens do CANFormato das Mensagens Formato das Mensagens –– Tipos de QuadrosTipos de Quadros
Camada de EnlaceCamada de Enlace
Quadro Padrão – CAN 2.0A– Identificador de 11 bits
É possível ter até 2048 mensagens em uma rede
Quadro Estendido – CAN 2.0B– Identificador de 29 bits
É possível ter até 537 milhões de mensagens em uma rede
17 de maio de 2005 CAN - Controller Area Network 15
Mensagens do CANMensagens do CANFormato das Mensagens Formato das Mensagens -- Campo de ArbitragemCampo de Arbitragem
17 de maio de 2005 CAN - Controller Area Network 16
Mensagens do CANMensagens do CANFormato das Mensagens Formato das Mensagens -- Campo de ControleCampo de Controle
dominante
17 de maio de 2005 CAN - Controller Area Network 17
Codificação de Tamanho para o Codificação de Tamanho para o Campo de DadosCampo de Dados
17 de maio de 2005 CAN - Controller Area Network 18
Mensagens do CANMensagens do CANFormato das MensagensFormato das Mensagens
Campo de Dados– Pode comportar de 0 (zero) a 8 (oito) bytes, de 8 bits
cada.
17 de maio de 2005 CAN - Controller Area Network 19
Mensagens do CANMensagens do CANFormato das MensagensFormato das Mensagens
Campo CRC (Cyclic Redundancy Check)– Composto por 15 (quinze) bits– CRC delimitador
Recessivo
17 de maio de 2005 CAN - Controller Area Network 20
Mensagens do CANMensagens do CANFormato das MensagensFormato das Mensagens
Campo de Reconhecimento (Ack Field)– Composto por 2 (dois) bits
ACK SlotACK delimiter
Fim de Quadro (End of Frame)– Composto por sete bits recessivos
17 de maio de 2005 CAN - Controller Area Network 21
Mensagens do CANMensagens do CANFormato das Mensagens Formato das Mensagens –– Tipos de QuadrosTipos de Quadros
Quadro Remoto – Remote Frame– É enviado toda vez que um determinado nó, atuando como
receptor, necessita receber uma mensagem.– Mesma formação do Quadro de Dados, entretanto não possui o
Campo de Dados.– O Bit RTR nesse quadro é recessivo
RTR
Recessivo
17 de maio de 2005 CAN - Controller Area Network 22
Mensagens do CANMensagens do CANFormato das Mensagens Formato das Mensagens –– Tipos de QuadrosTipos de Quadros
Quadro de Erros (Error Frame)
– Composto por dois campos:Flag de erro
– Error Active– Error Passive
Delimitador de quadro
Quadro de Sobrecarga(Overload Frame)
– Composto por dois campos:Flag de SobrecargaDelimitador de quadro
8 bits recessivos
6 bits dominantes 8 bits recessivos
17 de maio de 2005 CAN - Controller Area Network 23
Mensagens do CANMensagens do CANFormato das Mensagens Formato das Mensagens –– Tipos de QuadrosTipos de Quadros
Espaço Interquadros – Interframe Space
Intervalo3 bits recessivos
17 de maio de 2005 CAN - Controller Area Network 24
CodificaçãoCodificaçãoCampos Codificados
Bit StuffingQuadro de Dados / Remoto
– Inicio de Quadro – Campo de Arbitragem– Campo de Controle– Campo de Dados– CRC
Campos Não Codificados
(Formato Fixo)Quadro de Dados / Remoto
– Delimitador de CRC– Campo de
Reconhecimento– Fim de Quadro
Quadros de ErrosQuadro de Overload
17 de maio de 2005 CAN - Controller Area Network 25
Tratamento de ErrosTratamento de ErrosDetecção e SinalizaçãoDetecção e Sinalização
DetecçãoNível de Bit
Bit monitoringBit Stuffing
Nível de MensagemCRC ou Cyclic Redundancy CheckFrame CheckAcknowledgment Error Check
SinalizaçãoErro de CRC - O bit flag de erro é enviado após o bit Ack Delimiter
Outros tipos de erros - O bitflag de erro é enviado após a detecção
17 de maio de 2005 CAN - Controller Area Network 26
Tratamento de ErrosTratamento de ErrosMecanismo de Falhas Mecanismo de Falhas -- Fault ConfinentFault Confinent
Dois contadores - Nó do CANErros de Transmissão – 8 pontosErros de Recepção – 1 ponto
Estado dos Nós1 a 127 pontos – Error Active128 a 255 – Error PassiveAcima de 255 – Bus Off
17 de maio de 2005 CAN - Controller Area Network 27
Filtragem e Validação das Filtragem e Validação das MensagensMensagens
Filtragem Através de Máscaras e CódigosEx:Para um Quadro Padrão de 11 bits
110000000101000000
Validação das Mensagens– Transmissor
Após Último bit do Fim de Quadro– Receptor
Após Penúltimo bit do Fim de Quadro
17 de maio de 2005 CAN - Controller Area Network 28
Protocolos de Alto NívelProtocolos de Alto NívelHigh High Layer Layer ProtocolsProtocols –– Modelo OSIModelo OSI
Algumas Tarefas DesenvolvidasInicialização dos diversos componentes do sistemaDistribuição dos identificadores de mensagemInterpretação do conteúdo do Quadro de DadosGerenciamento do status do sistema
Exemplo de Protocolos de Alto Nível – HLP– CAN OPEN– DEVICENET– CAN Kingdom
17 de maio de 2005 CAN - Controller Area Network 29
ImplementaçãoImplementaçãoExemplo de RedeExemplo de Rede
17 de maio de 2005 CAN - Controller Area Network 30
ImplementaçãoImplementação(em laboratório)(em laboratório)
Montagem de uma Rede CANImplementação de projetos com comunicação CAN
Placa CANHub
Pontos de Rede CAN
Placa MicrocontroladaPIC 18F258
SupervisórioLabVIEW
Placa MicrocontroladaPIC 18F258