1 / 21

CAN

Felipe Augusto da Silva Paulo Ricardo Cechelero Villa Programação de Periféricos 07/1 Profº Eduardo Bezerra. CAN. CAN - ?. Mas, o que é CAN?. ?. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra. CAN - Controller Area Network.

Download Presentation

CAN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Felipe Augusto da Silva Paulo Ricardo Cechelero Villa Programação de Periféricos 07/1 Profº Eduardo Bezerra CAN

  2. CAN - ? Mas, o que é CAN? ? Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  3. CAN - Controller Area Network O que é: Foi criado pela Bosch GmbH (Gesellschaft mit beschränkter Haftung, Empresa limitada, Ltd. em alemão) nos meados de 1986. Uma demanda da Mercedes-Benz e BMW, pois haviam dificuldade em conectar e compartilhar as informações da ECU (Electronic Control Units). O padrão UART não servia, pois era somente para comunicação ponto-a-ponto, e era necessários conectar vários nodos. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  4. CAN - Controller Area Network O que é: O primeiro CAN Chip foi disponibilizado pela Intel em 1987, e depois disso várias outras empresas. Baseadas em RTO’s (sistemas de tempo real), possuem um controle rígido de erros e garantia de recebimento de mensagens. As mensagens são geradas no modo de broadcast para um barramento único. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  5. CAN - Controller Area Network Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  6. CAN - Controller Area Network São 4 os tipos de mensagens trafegando nas redes CAN. São elas: Mensagens enviadas quando o sistema esta num estado funcional: Data Frame Remote Frame Mensagens enviadas quando o sistema esta num estado característico de erro: Error Frame Overload Frame Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  7. CAN - Controller Area Network Data Frame: Tipo de mensagem enviada na rede para transportar informações correntes do sistemas, dados normais. Por exemplo; em sistemas automotivos serve para sinalizar o estado da temperatura do óleo (sensor que deve enviar informações constantes). Remote Frame: Mensagem enviada solicitando informação do sistema, ou seja, quando um dispositivo precisa verificar se há água no reservatório do sistema de limpeza do pára-brisa este envia uma mensagem para o controlador do reservatória solicitando o estado atual do mesmo. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  8. CAN - Controller Area Network Overload Frame: Mensagem que serve para indicar um estado ocupado do sensor, ou seja, quando um dispositivo envia uma mensagem de Remote Frame para um dispositivo ocupado é retornado uma mensagem Overload indicando congestionamento do dispositivo. Error Frame: Mensagem característica quando um dispositivo indica que não foi possível enviar uma mensagem de controle por ser recessiva. Este tipo de mensagem também serve para indicar que o dispositivo apresenta falhas. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  9. CAN - Controller Area Network Pacote de dados: • SOF (1 bit dominante): Marca o início de uma mensagem. Quando o barramento se encontra ocioso, uma borda de descida do SOF sincroniza os nodos da rede (hard sincronization); • Dados (0 a 64 bits): Contém o dado da mensagem; • CRC (16 bits): Contém o checksum dos bits precedentes da mensagem. Esse checksum é usado para fazer detecção de erros; • ACK (2 bits): É composto pelo bit ACK Slot e pelo bit Delimitador de ACK. Transmissores enviam ambos os bits em recessivo. Um receptor indica que recebeu a mensagem enviando um bit dominante no ACK Slot. Isso indica ao transmissor que ao menos um nodo recebeu a mensagem corretamente; Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  10. CAN - Controller Area Network CAN - Controller Area Network Pacote de dados: • EOF (7 bits recessivos): End Of Frame delimita o fim de uma mensagem. Bit stuffing é desativado enquanto EOF está ativo; • IDLE (0 ou + bits recessivos): Sinaliza que o barramento está livre. Qualquer nodo pode começar uma transferência de mensagem; • Intermission ou IFS - InterFrame Space (3 bits recessivos): IFS é o tempo necessário para que um nodo transfira um pacote corretamente recebido do barramento para área de armazenamento local (mailbox). É o tempo mínimo entre a transmissão de dois pacotes (tempo interno para nodo processar o pacote ). Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  11. Arbitração e Controle: Esses campos são sub-divididos de acordo com a figura abaixo. CAN - Controller Area Network Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  12. Identificador (11 ou 29 bits): É o endereço lógico e a prioridade da mensagem. Valores menores tem maior prioridade. O formato padrão possui 11 bits, enquanto o estendido possui 29. RTR (1 bit): Remote Transmission Request identifica se a mensagem é de dados (dominante) ou de requisição de dados (recessivo); IDE (1 bit): O IDE (Identifier Extension) identifica se a mensagem é do formato padrão (dominante) ou estendido (recessivo); SRR (1 bit recessivo): Substitute Remote Request; r0 e r1( 2 bits dominantes): São bits de reserva; CAN - Controller Area Network Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  13. DLC (4 bits): Data Length Code informa o número de bytes que será transmitido. Originalmente CAN suporta o envio de até 8 bytes de dados em um único pacote. Porém, em aplicações específicas, pode-se fazer uso de até 16 bytes de dados por pacote. A tabela abaixo mostra a codificação do campo DLC. CAN - Controller Area Network Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  14. Pacote de requisição de dados: CAN - Controller Area Network • Existem duas diferenças entre pacotes de dados e pacotes requisição de dados: • Primeiramente o bit RTR é transmitido dominante em pacotes de dados e recessivo em pacotes requisição de dados. • A outra diferença é que não existe campo de dados em pacotes requisição de dados. Quando um pacote de dados e um pacotes requisição de dados com mesmo identificador são transmitidos no mesmo instante, o pacote de dados ganha a disputa devido ao bit RTR dominante. Assim, o nodo que requisitou o dado recebe-o imediatamente. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  15. CAN - Controller Area Network Pacote de erro: • Um pacote de erro é gerado por qualquer nodo que detecte um erro. Sua função, por tanto, é notificar a ocorrência de falhas. O pacote de erro é formado por dois campos: flag de erro e delimitador de erro. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  16. CAN - Controller Area Network • Flag de Erro – 6 bits – É o campo que sinaliza a existência de um erro. Existem dois tipos de flag de erros: flag erro ativo e flag erro passivo. Um nodo em estado de erro ativo envia um flag de erro ativo (dominante), enquanto um nodo em estado de erro passivo envia um flag de erro passivo (recessivo). • Delimitador de Erro – 8 bits (recessivos) - É transmitido pelo nodo que enviou o dado que continha erro. Sua função é recomeçar comunicações no barramento após uma falha. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  17. CAN - Controller Area Network Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  18. CAN - Controller Area Network Pacote Overload • É usado, basicamente, para sinalizar a um transmissor que o receptor não está pronto para receber as próximas mensagens, portanto o transmissor deve esperar para fazer a próxima transmissão. • O formato do pacote é idêntico ao pacote de erro com a diferença que Overload Flag é sempre dominante e que o envio de um pacote de overload ocorre sempre após os 3 bits de IFS, ou seja, depois do fim de um mensagem. Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  19. CAN - Controller Area Network Tamanho máximo do cabo: • A 1 Mbit/s, um cabo com 40 metros pode ser utilizado. • Outros comprimento para o cabo (esses valores são aproximados) • 100m@500 kbit/s • 200m@250 kbit/s • 500m@125 kbit/s • 6km@10 kbit/s Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  20. CAN - Controller Area Network • Outros padrões de CAN: • ISO 11898-2: CAN high-speed • ISO 11898-3: CAN fault-tolerant (low-speed) • ISO 11992-1: CAN fault-tolerant for truck/trailer communication • ISO 11783-2: 250 kbit/s, Agricultural Standard • SAE J1939-11: 250 kbit/s, Shielded Twisted Pair (STP) • SAE J1939-15: 250 kbit/s, UnShielded Twisted Pair (UTP) (reduced layer) • SAE J2411: Single-wire CAN (SWC) Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

  21. CAN - Controller Area Network • Links sobre o assunto: • www.google.com/search?q=can • http://en.wikipedia.org/wiki/Controller_Area_Network • TCC utilizando CAN: • http://www.inf.pucrs.br/~eduardob/disciplinas/ProgPerif/can/tc_can/TCFinal.pdf • Links aleatórios: • www.entensity.net • www.collegehumor.com Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra

More Related