SN - Bretagne



BUS de terrain CAN (Controller Area Network)

1- Présentation

Depuis quelques années, l'industrie automobile a développé de nombreux systèmes électroniques (ABS, ESP, ASR , direction à assistance variable, BVA, suspension pilotée, gestion moteur, airbag, anti-démarrage, climatisation, détection du sous-gonflage des roues, aide au stationnement. Allumage automatique des feux de croisement, essuie-vitre automatique...

La complexité de ces systèmes et la nécessité d'échanger des données entre eux exigent un câblage de plus en plus complexe. La multiplication des liaisons traditionnelles entraînant une augmentation du coût, des problèmes d'encombrement, de fiabilité etc..., il a été décidé d'adopter une solution multiplexée.

Vers le milieu des années 80, Bosch, avec le bus CAN, propose une solution qui est devenue un standard.

Avec le protocole CAN, les contrôleurs, capteurs et actionneurs communiquent entres eux sur deux câbles à une vitesse pouvant aller jusqu'à 1 Mbits/s.

Les contrôleurs CAN sont petits, peu coûteux et entièrement intégrés. Ils sont utilisables à des débits importants, en temps réel et dans des environnements difficiles. Enfin, les transmissions ont un haut niveau de fiabilité. C'est pourquoi ils ont été utilisés par d'autres industries (agriculture, marine, matériel médical etc).

2- Définition et règles de fonctionnement

- Nœud : sous-ensemble capable de communiquer sur le réseau selon un protocole défini (protocole CAN).

- bit : Sur le le bus CAN, les bits sont définis sous des formes dites : dominant (niveau logique 0) et récessif (niveau logique 1).

- trame : Les informations circulent sur le bus sous forme de trame, de format défini mais de longueur variable (et limitée). Dès que le bus est libre, n’importe quel nœud relié au réseau peut émettre un nouveau message.

- Routage : Chaque message est envoyé avec un identificateur qui caractérise les données envoyées. Donc tous les nœuds reçoivent le message, et chaque nœud est capable de savoir (grâce à un dispositif de filtrage) si la trame lui est destinée ou non. Chaque nœud peut également détecter des erreurs sur un message qui ne lui est pas destiné et en informer les autres nœuds.

Des nouveaux nœuds peuvent être ajoutés au réseau sans aucune modification logicielle ou matérielle.

- Trame de données, trame de requête : Les trames CAN sont de 2 natures :

• trame de données : trame qui transporte des données.

• trame de requête : émise par un nœud désirant recevoir une trame de données.

Il existe deux formats de trames de données et de requête qui diffèrent seulement par l’identificateur :

• CAN2.0A : trame standard identificateur de 11 bits (CAN standard) ;

• CAN2.0B : trame plus longue avec identificateur sur 29 bits (CAN étendu).

La version 2.0B accepte donc un nombre plus important d'identificateurs différents et elle est plutôt réservée aux marches du type 'Buses & Trucks', agricoles ou les messageries sont normalisées et partagées par de nombreux équipementiers. Ce n'est pas le cas dans le milieu automobile ou chaque constructeur développe sa propre messagerie.

- Priorités : les identificateurs de chaque message permettent de définir le degré de priorité d'un message sur un autre.

- Fonctionnement multi-maître : lorsque le bus est libre, chaque nœud peut décider d’envoyer un message. Le message ayant le plus haut degré de priorité prend possession du bus.

- Arbitrage : Si deux nœuds ou plus tentent d’émettre un message sur un bus libre il est nécessaire de définir des priorités. Le bus compare alors bit à bit le contenu de l’identificateur du message.

Exemple :

Dès qu'un noeud émet un bit récessif en même temps qu'un autre noeud émet un bit dominant, il perd la priorité et arrête d'émettre. Tous les perdants deviennent automatiquement des récepteurs du message, et ne tentent à nouveau d'émettre que lorsque le bus se libère. 

- Dans le cas de deux identificateurs identiques, la trame de données gagne le bus.

• Débits : vitesse de transmission des informations sur le bus

Il existe deux types de bus CAN différenciés par leur débit :

• le CAN Low Speed ;

• le CAN High Speed.

Réseau CAN Automobile

Un bus rapide pour gérer la sécurité

et le moteur

Un bus lent pour gérer les accessoires

et le confort

3- Les signaux du bus CAN

La transmission des données est effectuée sur une paire filaire différentielle. La ligne est donc constituée de deux fils. Et les niveaux logiques (récessifs et dominants) sont obtenus par la différence de potentiel entre les deux voies CAN L et CAN H.

VCAN H > VCAN L + 0.5v ( 1 logique récessif

VCAN H < VCAN L + 0.5v ( 0 logique dominant

Les niveaux recessifs/dominants sont lus sur CAN L (la trace rouge).

Les deux signaux vus ensemble permettent l'interpretation suivante :

• un ventre = bit dominant

• un noeud = bit recessif.

Les niveaux de tension sur CANL et CANH dépendent du type Low Speed ou High Speed du bus.

Ces niveaux de tension correspondent à un codage dit NRZ (No Return to Zero : il n’y a jamais de courant nul sur la ligne. La masse n’est plus utilisée et les niveaux logiques correspondent à 2 niveaux de tensions distincts).

|notamment sur les débits supportés. Paramètres |CAN low speed |CAN high speed |

|Débit |125 kb/s |125 kb/s à 1 Mb/s |

|Nombre de noeuds sur le bus |2 à 20 |2 à 30 |

|Courant de sortie (mode émission) |> 1 mA sur 2,2 kΩ |25 à 50 mA sur 60Ω |

|Niveau dominant |CAN H = 4V |CAN H = 3,5 V |

| |CAN L = 1V |CAN L = 1,5 V |

|Niveau récessif |CAN H = 1,75V |CAN H = 2,5 V |

| |CAN L = 3,25V |CAN L = 2,5 V |

|Caractéristique du câble |30 pF entre les câbles de ligne |2*120Ω |

|Tensions d’alimentation |5V |5V |

la lecture en mode différentiel : permet de s'affranchir de l'altération du signal par la superposition d'un parasite. Le même parasite apparait nécessairement sur les deux lignes a la fois car elles se situent dans le même environnement. C'est la différence des signaux qui est prise en compte, donc le résultat n'est pas altéré.

L’utilisation de paires torsadées permet de s'affranchir des émissions du câble en inversant a chaque torsade les vecteurs induction produits, ce qui les annule deux a deux. Elle permet également de réduire les perturbations extérieures en annulant par opposition les courants induits dans chaque boucle par un champ perturbateur.

4- Le bit de stuffing

Une des caractéristiques du codage NRZ est que le niveau du bit est maintenu pendant toute sa durée. Cela pose des problèmes de fiabilité si un grand nombre de bits identiques se succèdent. La technique du Bit Stuffing impose au transmetteur d’ajouter automatiquement un bit de valeur opposée lorsqu’il détecte 5 bits consécutifs dans les valeurs à transmettre.

Exemple de trame CAN « stuffée » observée à l'analyseur logique :

Les « bits de stuffing » sont repérés en rouge.

5- Constitution d’une trame en format standard et étendu

Format standard - CAN 2.0A - identificateur 11 bits

Format étendu - CAN 2.0B - identificateur 29 bits

|Début |Identifica|

| |teur |

|11 bits |1 bit |

• les 11 premiers indiquent l’identité du contenu du message, et servent également à l’arbitrage (gestion des priorités)

• bit RTR (Remote Transmission Request) : détermine s'il s'agit d'une trame de données (ex : régime moteur) ou d'une d’une trame de demande de message (ex : demande de T° eau). Le bit à 0 (dominant) pour une trame de données et le bit à 1 (récessif) pour une trame de demande.

Format étendu - CAN 2.0B - identificateur 29 bits

Composée de 29 bits (zone d'identification de la trame ((11 bits + 18 bits = 29 bits) + SRR + IDE + RTR) :

|Poids forts de l'identificateur |SRR |IDE |Poids faibles de l'identificateur |RTR |

|11 bits |1 bit |1 bit |18 bits |1 bit |

• les 29 bits indiquent l’identité du contenu du message, et servent également à l’arbitrage (gestion des priorités)

• SRR (Substitute Remote Request).

• IDE (Identifier Extension bit) qui établit la distinction entre format standard (état dominant) et format étendu (état récessif).

• RTR (Remote Transmission Request) détermine s'il s'agit d'une trame de données ou d'une d'une trame de demande de message.

|Début |Identificateur |Commande |Données |Contrôle |Ack |

|1 bit dominant |1 bit dominant |1 bit |1 bit |1 bit |1 bit |

• R1 et R0 sont des bits réservés. Ils doivent être dominants.

• DLC3-DLC0 (Data Length Code) : ces bits permettent de sélectionner le nombre d'octets de données contenues dans le champ de données.

Le codage est le suivant :

|Nombre d'octets |DLC3 |DLC2 |DLC1 |DLC0 |

|0 |d |d |d |d |

|1 |d |d |d |r |

|2 |d |d |r |d |

|3 |d |d |r |r |

|4 |d |r |d |d |

|5 |d |r |d |r |

|6 |d |r |r |d |

|7 |d |r |r |r |

|8 |r |d |d |d |

d : représente un bit dominant r : représente un bit récessif

|Début |Identificateur |

|15 bits |1 bit récessif |

• Zone CRC (Cyclic Redundancy Code) de 15 bits : Ces bits sont recalculés à la réception et comparés aux bits reçus. S'il y a une différence, une erreur CRC est déclarée.

• le dernier bit est un délimiteur de fin de champ de CRC (bit toujours récessif).

|Début |Identificateur |

|1 bit |1 bit récessif |

• Zone d'acquittement (ACKnowledge) composé d'un bit à l'état récessif ainsi qu'un bit séparateur ACK. Le premier bit doit être forcé à l'état dominant par les stations ayant bien reçu cette trame.

Début |Identificateur |Commande |Données |Contrôle |Ack |Fin | |

• Zone de fin de trame EOF (End Of Frame), 7 bits récessifs (à l’état 1).

Remarque : 3 bits à l’état 1 séparent obligatoirement 2 trames consécutives

6 - Analyse d'une trame

La trame ci dessus, relevée a l'oscilloscope, a été émise a une vitesse de 250 Kbit/s, ce qui donne un temps de bit de 4μs. On isole le signal CAN Low qui donne une représentation conforme des bits dominants et récessifs.

La première opération consiste à repérer, puis supprimer, les bits de 'stuffing ' 4 (en gris sur la

figure ci-dessous).

On procède ensuite a l'identification des champs et a l'interprétation de leurs valeurs en

hexadécimal.

7- Exemples :

-----------------------

[pic]

[pic]

-----------------------

COURS SEN

BUS CAN

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download