A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "CAN Felipe Augusto da Silva Paulo Ricardo Cechelero Villa Programação de Periféricos 07/1 Profº Eduardo Bezerra."— Transcrição da apresentação:

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

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 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 RTOs (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: Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra 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;

10 CAN - Controller Area Network 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 Pacote de dados:

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) kbit/s kbit/s kbit/s 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 : CAN high-speed ISO : CAN fault-tolerant (low-speed) ISO : CAN fault-tolerant for truck/trailer communication ISO : 250 kbit/s, Agricultural Standard SAE J : 250 kbit/s, Shielded Twisted Pair (STP) SAE J : 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: TCC utilizando CAN: an/TCFinal.pdf an/TCFinal.pdf Links aleatórios: Felipe Augusto da Silva – Paulo Ricardo Cechelero Villa – Programação de Periféricos 07/1 – Profº Eduardo Bezerra


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

Apresentações semelhantes


Anúncios Google