Ce cours couvre les fondamentaux du bus CAN (Controller Area Network), incluant son architecture, son protocole de communication et ses applications dans les réseaux informatiques industriels et automobiles. Il aborde également les principes de transmission des données, la gestion des erreurs et les normes associées. Ce PDF, rédigé par Thierry VAIRA, offre un support pédagogique complet avec des exemples pratiques et des schémas explicatifs. Il permet aux étudiants et professionnels de maîtriser l'implémentation et la maintenance des réseaux CAN, tout en fournissant des ressources téléchargeables gratuitement pour faciliter l'apprentissage autonome.
Ce cours s'adresse aux ingénieurs en automatisation, aux techniciens en électronique automobile, aux développeurs embarqués et aux étudiants en génie électrique ou informatique industrielle. Une connaissance de base des réseaux de communication et de l'électronique est recommandée.
Le bus CAN (Controller Area Network) est un protocole de communication série robuste, conçu pour les environnements industriels et automobiles. Il permet une transmission fiable entre microcontrôleurs et capteurs avec une tolérance aux pannes élevée.
Développé par Bosch dans les années 1980, le CAN est devenu une norme internationale (ISO 11898). Son adoption massive dans l'automobile (pour les systèmes ABS, airbags, etc.) s'étend désormais à l'industrie (automation, IoT).
Le CAN utilise un accès multiple avec détection de collision et arbitrage (CSMA/CA). Applications typiques : véhicules (OBD-II), machines industrielles, aéronautique, et dispositifs médicaux.
Le CAN couvre principalement les couches 1 (physique) et 2 (liaison de données) du modèle OSI. La couche physique gère le support, tandis que la couche liaison gère les trames et le contrôle d'erreurs.
La couche liaison définit plusieurs types de trames : données, requêtes, erreurs, et surcharge. Chaque trame suit une structure précise avec des champs de contrôle.
Composée d'un identifiant (11 ou 29 bits), de données (0-8 octets), et de champs de contrôle (CRC, ACK). L'identifiant détermine la priorité lors de l'arbitrage.
Inclut un CRC (Cyclic Redundancy Check) pour détecter les erreurs de transmission, et un bit d'acquittement (ACK) confirmant la réception.
Utilisée par un nœud pour demander la transmission de données spécifiques. Similaire à une trame de données mais sans champ de données.
Le CAN détecte les erreurs via : CRC, monitoring bit à bit, et vérification de format. Les erreurs déclenchent une trame d'erreur pour notifier le réseau.
Erreurs bit, stuff, CRC, ACK, ou format. Chaque type active un mécanisme de reprise automatique ou d'isolation du nœud défaillant.
La couche physique utilise un différentiel à deux fils (CAN_H/CAN_L) pour une immunité au bruit. Le débit varie de 10 kbit/s à 1 Mbit/s selon la longueur du bus.
Niveaux logiques : dominant (2V diff.) et récessif (0V). Impédance caractéristique de 120 Ω avec terminaisons obligatoires.
Références : ISO 11898, "CAN System Engineering" par Wolfhard Lawrenz, et documentation Bosch.
Pratique avec analyse de trames CAN via un analyseur logique, calcul de CRC, et simulation de scénarios d'erreur.
Partner sites PDF Tutorials (English) | PDF Manuales (Spanish) | Cours PDF (French)