Sciences de l'Ingénieur · Bac Sciences et Technologies Électriques

Liaisons et Réseaux Industriels — RS232, RS485, CAN, I2C

Comment les équipements industriels communiquent entre eux : transmission série, liaisons différentielles, réseaux multipoint et arbitrage du bus CAN.

Objectifs d'apprentissage

  • Distinguer liaison série (les bits transmis les uns après les autres sur un seul fil de données) et liaison parallèle (plusieurs bits simultanément, sur plusieurs fils)
  • Décrire les caractéristiques de la liaison RS232 : point à point, signaux single-ended référencés à la masse, distance limitée, vitesse modérée
  • Décrire les caractéristiques de la liaison RS485 : transmission différentielle sur paire torsadée, réseau multipoint, grande distance, forte immunité au bruit
  • Décrire le principe du bus CAN : bus différentiel multi-maître, arbitrage non destructif par priorité de message, robustesse temps réel
  • Décrire le principe du bus I2C : deux fils (SDA données, SCL horloge), fonctionnement synchrone, adressage direct des circuits esclaves
  • Comparer ces liaisons selon les critères : distance maximale, vitesse, nombre de participants, immunité au bruit
  • Calculer la durée d'un bit à partir d'un débit binaire (bauds) donné

Formules et résultats clés

Série vs parallèle

Une liaison série transmet les bits d'une donnée les uns après les autres sur un seul fil (moins de câblage, adaptée aux longues distances). Une liaison parallèle transmet plusieurs bits simultanément sur plusieurs fils (plus rapide sur de courtes distances, mais plus coûteuse en câblage et plus sensible à la désynchronisation des fils sur de longues distances).

RS232

Liaison série point à point, signaux single-ended (référencés à une masse commune), distance limitée à une quinzaine de mètres, débit modéré (quelques dizaines de kbauds). Sensible au bruit électromagnétique sur de longues distances.

RS485

Liaison série différentielle sur paire torsadée, réseau multipoint(plusieurs dizaines d'équipements sur le même bus), portée jusqu'à environ 1200 m, forte immunité au bruit grâce au rejet du mode commun.

Bus CAN (Controller Area Network)

Bus différentiel multi-maître : chaque message porte un identifiant qui définit sa priorité, pas un destinataire précis — tous les nœuds reçoivent tous les messages. En cas d'émission simultanée, un mécanisme d'arbitrage bit à bit non destructif laisse passer le message le plus prioritaire (identifiant le plus faible) sans perte de données. Utilisé en milieu automobile et industriel pour sa robustesse et son fonctionnement temps réel.

Bus I2C

Bus synchrone à deux fils : SDA (données) et SCL (horloge). Chaque circuit esclave possède une adressepropre ; le maître dialogue avec un esclave précis en émettant son adresse au début de l'échange. Portée limitée (quelques dizaines de centimètres, usage intra-carte), typique pour relier des capteurs à un microcontrôleur.

Durée d'un bit

Tbit=1deˊbit binaireT_{bit} = \dfrac{1}{\text{débit binaire}}

Erreurs fréquentes

1

Confondre transmission single-ended (RS232, signal référencé à la masse commune, sensible au bruit) et transmission différentielle (RS485/CAN, deux fils complémentaires, très robuste au bruit).

2

Confondre liaison point à point (RS232, un seul émetteur et un seul récepteur) et liaison multipoint (RS485, CAN, I2C : plusieurs équipements peuvent partager le même bus).

3

Croire que le bus CAN fonctionne par adressage direct du destinataire comme l'I2C : en réalité chaque message CAN porte un identifiant de priorité, tous les nœuds le reçoivent, et chacun décide localement s'il le traite.

4

Confondre I2C (2 fils, SDA + SCL, synchrone, adressage direct d'un esclave) et RS485 (2 fils différentiels, pas d'adressage matériel intégré, généralement asynchrone).

5

Oublier qu'en cas de collision sur un bus CAN, l'arbitrage bit à bit départage le message le plus prioritaire sans destruction de trame — contrairement à une simple collision qui détruirait les deux messages sur d'autres types de réseaux.

Exemple corrigé — Choisir une liaison pour une application donnée

Énoncé

Sur une même carte électronique embarquée, un microcontrôleur doit dialoguer avec trois capteurs différents (température, pression, accéléromètre) placés à quelques centimètres de lui. Justifier le choix du bus I2C plutôt que RS485 pour cette application.

Correction

Les trois capteurs sont très proches du microcontrôleur (quelques centimètres), donc la grande portée de RS485 (jusqu'à 1200 m) n'apporte aucun avantage ici et complexifierait inutilement le circuit (émetteurs/récepteurs différentiels supplémentaires).

L'I2C, avec seulement deux fils (SDA, SCL) et un adressage direct de chaque capteur, permet de dialoguer individuellement avec chacun d'eux sans câblage supplémentaire, ce qui est la solution la plus simple et la plus économique pour une liaison intra-carte courte distance.

On retient donc l'I2C, réservant RS485 aux applications nécessitant de longues distances ou une forte immunité au bruit industriel.

3 exercices pour t'entraîner

Exercice 1

Facile

Une liaison RS232 fonctionne à un débit de 9600 bauds9600\ \text{bauds} (bits par seconde). Calculer la durée d'émission d'un seul bit.

Voir la correction

Tbit=196001,04×104 s104 μsT_{bit} = \dfrac{1}{9600} \approx 1{,}04\times 10^{-4}\ \text{s} \approx 104\ \mu\text{s}.

Exercice 2

Moyen

Une usine doit relier une trentaine de capteurs de température répartis sur plusieurs centaines de mètres à un même automate, dans un environnement électriquement bruyant (moteurs, variateurs de fréquence à proximité). Quel type de liaison choisiriez-vous parmi RS232, RS485, CAN et I2C, et pourquoi ?

Voir la correction

RS485 est le choix le plus adapté : c'est une liaison multipoint (permet de relier plusieurs dizaines d'équipements sur le même bus, contrairement à RS232 qui est strictement point à point), différentielle (donc très robuste au bruit électromagnétique généré par les moteurs et variateurs), et conçue pour de grandes distances (jusqu'à environ 1200 m), bien au-delà de la portée typique de l'I2C, réservé aux liaisons courte distance intra-carte.

Exercice 3

Difficile

Deux nœuds d'un bus CAN émettent simultanément une trame : le nœud A avec l'identifiant binaire 100100, le nœud B avec l'identifiant binaire 101101. En admettant que le bit 0 est dominant et le bit 1 récessif, déterminer lequel des deux nœuds remporte l'arbitrage et poursuit son émission.

Voir la correction

Les deux premiers bits (1 et 0) sont identiques entre A (100100) et B (101101). Sur le troisième bit, A émet 00 (dominant) et B émet 11 (récessif) : B lit un 00 dominant sur le bus alors qu'il tentait d'émettre un 11 récessif, il détecte donc qu'il a perdu l'arbitrage et cesse immédiatement d'émettre. Le nœud A, dont l'identifiant est numériquement plus faible, remporte l'arbitrage et poursuit seul sa transmission — ce qui illustre que sur un bus CAN, un identifiant plus faible est toujours plus prioritaire.

3 exercices, c'est un début.

Orka en génère autant que tu veux sur ce chapitre, à ton niveau, avec correction détaillée étape par étape.

Continue gratuitement sur Orka

Va plus loin sur ce chapitre

Questions fréquentes

Quelle est la différence entre une transmission single-ended (RS232) et une transmission différentielle (RS485, CAN) ?

En transmission single-ended (RS232), chaque signal est référencé par rapport à une masse commune : toute perturbation électromagnétique affectant cette masse ou le fil de signal se traduit directement par une erreur de lecture, ce qui limite la distance et la robustesse de la liaison. En transmission différentielle (RS485, CAN), l'information circule sur deux fils complémentaires, et le récepteur ne s'intéresse qu'à la différence de potentiel entre ces deux fils : un bruit qui affecte les deux fils de façon identique (mode commun) s'annule automatiquement, ce qui rend la liaison beaucoup plus robuste et permet de plus grandes distances.

Comment fonctionne l'arbitrage sur un bus CAN en cas de collision ?

Chaque message CAN porte un identifiant qui définit à la fois sa nature et sa priorité. Si plusieurs nœuds émettent en même temps, ils comparent bit à bit leur identifiant pendant l'émission : dès qu'un nœud constate qu'il envoie un bit récessif (1) alors qu'un autre nœud impose un bit dominant (0) sur le bus, il arrête immédiatement d'émettre et laisse la priorité au message le plus prioritaire (identifiant le plus faible), sans qu'aucune donnée ne soit perdue ni corrompue. Ce mécanisme d'arbitrage non destructif est une caractéristique essentielle du bus CAN.

Quelle est la différence entre le bus I2C et le bus CAN ?

Le bus I2C utilise deux fils (SDA pour les données, SCL pour l'horloge de synchronisation) et repose sur un adressage direct : chaque circuit esclave possède une adresse propre, et le maître dialogue avec un esclave précis à la fois — c'est un bus plutôt réservé aux échanges courte distance à l'intérieur d'une même carte électronique. Le bus CAN utilise lui aussi deux fils, mais en transmission différentielle et sans adressage de destinataire : chaque message porte un identifiant de priorité et tous les nœuds le reçoivent, chacun décidant localement s'il le traite — un fonctionnement conçu pour la robustesse et le temps réel sur de plus longues distances, typique des réseaux automobiles et industriels.