SCIENCES DE L'INGENIEUR

Niveau : Terminale générale, enseignement de spécialité SI

D
É
C
O
N
N
E
C
T
É

Communiquer entre systèmes

1 - Transmission des données en série

1.1 - Liason RS-232

Le protocole RS-232 a déjà été vu en classe de première : Revoir le cours ici.

1.2 - Liaison USB (Universal Sérial Bus)


Il est possible de connecter jusqu'à 127 périphériques simultanément. Les périphériques qui disposent actuellement de ce type de port sont les imprimantes, scanners, webcams, les clés USB... Le câble se compose de 4 fils, une paire torsadée pour le transfert des données (DATA+ et DATA-), un fil au potentiel +5V qui permet d´alimenter éventuellement les périphériques USB et la masse. Le débit de transmission peut atteindre 480 Mbits/s ou plus. La longueur maximale est de 5 mètres.

1.3. LIAISON BLUETOOTH


C’est  une  technologie  de  réseau  personnel  sans  fil  (noté WPAN pour Wireless Personnel Area Network), c’est-à-dire une technologie de réseaux sans fil à faible portée (quelques dizaines de mètres). Elle permet de relier plusieurs appareils entre eux sans  liaison  filaire,  en  utilisant  les  ondes  radio  comme  support  de  transmission  (bande  de fréquence des 2,4 GHz).

Sa faible puissance et sa faible portée lui permet d'échanger des données à une vitesse maximale de 1 Mb/s.

Il peut émuler le protocole RS232 pour communiquer avec des micrcontrôleurs.

2 - LIAISON ENTRE PLUSIEURS SYSTEMES

Lorsque la transmission se fait entre plusieurs systèmes on parle de réseau ou de bus.

2.1 - Le réseau Ethernet

Chaque système est relié à un commutateur s'il est filaire par l'intermédiaire d'un câble RJ-45 ou à un point d'accès Wifi sans fil.

Le rôle du commutateur est d'éviter les collisions et d'autoriser les communications entre plusieurs systèmes.

2.1.1 - Le modèle TCP/IP

Pour communiquer, les deux interlocuteurs (deux ordinateurs par exemple) doivent respecter des règles communes. Cette communication repose sur des couches (connaissances, règles, support) et des protocoles (sujet, langue, parole).

Le message transmis doit comporter les données avec leur codage pour chaque étape de la transmission.

Chaque paquet d’information est encapsulé dans un paquet plus grand.

Exemple :

Le modèle de couches permet de dire dans quel ordre ces protocoles doivent être utilisés.

Le modèle le plus courant est aujourd’hui le TCP/IP (Transport Control Protocol/Internet Protocol).

Il divise l'ensemble des protocoles en 7 couches indépendantes reliées entre elles par des interfaces (verticalement) et des protocoles (horizontalement).

La lourdeur du modèle OSI à conduit au développement du modèle TCP/IP qui ne regroupe que 4 couches.

Couche application : Elle a pour rôle de gérer les échanges de données entre les programmes fonctionnant sur l'ordinateur et les services du réseau :

Couche transport : Elle est responsable de l’acheminement et de la réception de bout en bout. Elle est aussi responsable de couper les messages en segment pour la transmission et de reconstituer les messages à la réception. Cette couche manipule des segments.

Couche Internet : Elle identifie l'émetteur et  les récepteurs par une adresse IP et est chargée de fournir le paquet de données (datagramme).

Couche Réseau : Elle spécifie la forme sous laquelle les données doivent être acheminées quel que soit le type de réseau utilisé. Ainsi, la couche accès réseau contient toutes les spécifications concernant la transmission de données sur un réseau physique, qu’il s’agisse de réseau local Ethernet ou wifi, de connexion à une ligne téléphonique ou n’importe quel type de liaison à un réseau.

2.1.2 - Adresse IPv4

Pour permettre l'échange de données chaque équipement d'un réseau doit disposer d'une adresse définie par la couche IP. Cette adresse est codée sur 32 bits en IPv4 (128 bits en IPv6) habituellement présenté sous forme de 4 entiers compris entre 0 et 255. Elle permet de sélectionner un système (identifié par les derniers numéros) dans un réseau (identifié par les premiers numéros).

Dans un réseau local, l'adresse IP est définie par l'administrateur réseau (dans la plage 192.168.0.0 à 192.168.255.255) ou donnée automatiquement (cas d'un serveur DHCP).

Par contre au niveau mondial, l'adresse d'un réseau est fixée par une administration centrale qui se nomme le NIC ("Network Information Center’’).

Cinq formes d'adressage sont possibles :

  • Classe A : Un octet réseau, trois octets d’hôtes.
  • Classe B : Deux octets réseau, deux octets d’hôtes.
  • Classe C : Trois octets réseau, un octet d’hôte.

L'adresse IP est associée à un masque permettant de créer des sous-réseaux :

Classeadresse miniadresse maxiNombre de réseaunbr d'adressesMasque de sous-réseauNotation CIR
A1.z.y.x127.z.y.x12816 777 216255.0.0.0/8
B128.0.y.x191.255.y.x16 38465 536255.255.0.0/16
C192.0.0.x223.255.255.x2 097 152256255.255.255.0/24

Remarques :

  • Le numéro d'hôte 0 signifie que l'on s'adresse à soit même. Ex 192.125.236.0
  • Le numéro d'hôte 255 c’est ce que l’on appelle une adresse de diffusion ("broadcast"), c’est à dire une information délivrée à tout le monde. On évite au maximum l’usage d’une telle adresse IP sur les réseaux, pour des raisons d’encombrement de la bande passante.
    Exemple : 192.125.236.255 s'adresse à tous les hôtes du 192.125.236.x

2.1.3 - Masque de sous Réseau

Pour affiner la gestion du réseau, on a mis en place en 1984 un masque de sous-réseau qui permet de gérer plus finement les adresses et de décomposer un réseau en plusieurs sous réseaux ne pouvant communiquer directement entre eux.

Généralement les masques sont attribués en fonctions des classes, mais ce n'est pas impératif.

    Classe AClasse BClasse C
    Masque255.0.0.0255.255.0.0255.255.255.0

Exemple : supposons un réseau en classe C.

    Les machines avant une IP de 192.128.233.1 à 192.128.233.254 ne doivent pas pouvoir communiquer avec les machines ayant une IP de 192.128.200.1 à 192.128.200.254.

    Pour cela il suffit de définir un masque de sous-réseau à 255.255.255.0.

    En effet, on fait un ET logique entre les quatre octets de l’adresse IP et le masque.

    On obtient une adresse que l'on appelle : Adresse de sous réseau. Seules les machines qui auront la même adresse de sous-réseau pourront communiquer entre elles :

    Exemple :

    Adresse IP décimale19212823363
    Adresse IP binaire1100 00001000 00001110 10010011 1111
    Masque de sous réseau1111 11111111 11111111 11110000 0000
    Adresse du sous réseau binaire1100 00001000 00001110 10010000 0000
    Adresse du sous réseau décimale1921282330

2.1.4 - Exercice 1 :

Calculer les adresses de sous réseaux des machines suivantes :


Machine1 Machine2 Machine3 Machine4 Machine5

10.128.233.1
170.129.233.231
192.128.232.125
192.128.233.129
192.128.233.3
ET
255.0.0.0
255.255.0.0 255.255.255.0 255.255.255.0 255.255.255.0
=

Relevez le nom des machines qui peuvent communiquer entre elles :

2.1.5 - Exercice 2 :

Un réseau contient 3000 hôtes. L'administrateur désire le diviser en 3 sous-réseaux pouvant contenir au moins 1000 hôtes chacun. Quelle sera la classe du réseau ?

Vous débuterez vos adresses par 190.x.y.z

Sous réseau 1 :                                                                      Autre écriture possible :

1ère adresse IP :                                         

Dernière adresse  IP :                                 

Masque de sous-réseau :        

Sous réseau 2 :

1ère adresse IP :                    

Dernière adresse  IP :            

Masque de sous-réseau :        

Sous réseau 3 :

1ère adresse IP :                    

Dernière adresse  IP :            

Masque de sous-réseau :        

2.1.6 - DHCP

Le DHCP (Dynamic Host Configuration Protocol). Est un protocole qui permet à un ordinateur qui se connecte sur un réseau d’obtenir dynamiquement (c’est-à-dire sans intervention particulière) sa configuration (principalement, sa configuration réseau). Vous n’avez qu’à spécifier à l’ordinateur de se trouver une adresse IP tout seul par DHCP. Le but principal étant la simplification de l’administration d’un réseau.

2.1.7 - Adresse MAC

En réseau informatique une adresse MAC (Media Access Control address) est un identifiant physique stocké dans une carte réseau ou une interface réseau similaire et utilisé pour attribuer mondialement une adresse unique au niveau de la couche de liaison (couche 2). Une machine peut alors être reconnue par le serveur DHCP et celui-ci pourra lui attribuer la même adresse IP à chaque fois. Ex d’adresse MAC : 00-1C-92-55-BA-4F.

2.1.8. Décodage d'une trame Ethernet

On donne la capture de la trame suivante :

Depuis la capture ci-dessus, remplir le tableau suivant, permettant de comprendre la trame TCP.

Entête Ethernet II
adresse mac destination (6 octets)
adresse mac source (6)
type de paquet (2)
Entête IP
version (½)
 
longueur Entête (½)
type de service (1)
longueur totale du datagramme (2)
Identification (2)
drapeaux (1)
Décalage (1)
Durée de vie (1)
Protocole (1)
contrôle des entêtes (2)
Adresse IP Source (4)
Adresse IP destination (4)
Tansmission Control Protocol (TCP encapsulée)
Port source (2) Port destination (2)
Numéro de séquence (4)
Numéro d'acquitement (4)
Etc ...

Transcodez en décimal, les adresses IP source et destination :

  • IP source :
  • IP destination :

Quelle est la classe du réseau ?

Sans compter l'adresse du réseau et l'adresse de diffusion, combien de machines peut contenir ce sous-réseau ?

En déduire leur masque de sous réseau commun :

Quelle est l'adresse du réseau ?

2.2 - Le LoRaWAN

C'est un protocole de télécommunication radio permettant la communication à bas débit d'objets connectés. Il émet en France sur la bande de fréquence 868 mégahertz. Un objet connecté en LoRa peut envoyer un message à une borne située à une distance d'environ 1 kilomètre en zone urbaine et à 20 kilomètres dans une zone rurale plane. La vitesse de transmission des données se situe entre 0,3 et 50 kb/s. On réserve son utilisation pour transmettre des informations issues de capteurs. Sa faible consommation est un atout pour instrumenter des ponts par exemple, sans devoir changer sa source d'alimentation pendant plusieurs années.

3 - LES BUS

Ces dernières années, le nombre de capteurs dans un système pluritechnique n'a cessé de croître. Afin de réduire le nombre de fils et de rendre plus communicant les capteurs, les industriels ont intégré des capteurs et des microcontrôleurs dans un même boîtier. Tous ces capteurs communiquent suivant un protocole donné. L'existence des ces moyens de traitement rend possible la correction automatique d'un capteur (linéarisation, temps de réponse...)

Il existe des normalisations de BUS adaptés à chaque application

CAN :  ,  I²C (SMBUS) :  , EIB/KNX (non traité) :    .

3.1 - Le bus CAN

Le  bus  de  terrain  CAN  (Control Aera  Network)  est  utilisé  dans  l'automobile. L'usage de ce bus de terrain associé à une centaine de  capteurs et cartes électroniques permet de remplacer 2500m de câble. Les  lettres  indiquent  l'emplacement  des  capteurs  et  des  différents organes électriques.

Structure d'un réseau CAN


Le bus CAN est un système de bus sériel sur lequel tous les  participants  ont  les  mêmes  droits,  c’est-à-dire  que chaque  appareil de  commande peut  émettre  et  recevoir indépendamment.

Contrairement à d’autres protocoles, le bus CAN n’adresse pas les participants, mais les messages transmis. Le participant décide s’il a besoin de données ou non.

Sur les réseaux CAN, les signaux sont transmis sous forme de trames.

3.2. Exercice 3 :

Mise en situation

Les fabricants d'automobiles, face à une concurrence constamment croissante, conçoivent divers accessoires afin de satisfaire une clientèle toujours plus exigeante. Dans cette logique, certains monospaces possèdent deux Portes Latérales Coulissantes (notées par la suite PLC) équipées d’un système électromécanique d’ouverture et fermeture automatique. Chaque porte coulissante est guidée par trois rails fixés sur la carrosserie du véhicule.

La commande du motoréducteur et de la gâche électrique, qui permet de verrouiller la porte lorsqu’elle est fermée, est gérée par le Module De Commande (noté par la suite MDC), qui communique avec le calculateur central du véhicule et les divers composants concernés via le réseau multiplexé (bus CAN).

Principe de fonctionnement de l’ouverture et de la fermeture d'une PLC L’ordre d’ouverture/fermeture automatique d’une PLC est obtenu :

  • soit par une pression sur un bouton poussoir situé sur la console de plafonnier, à l’avant du véhicule ;
  • soit par une pression sur un bouton poussoir situé sur le montant de la PLC commandée ;
  • soit par la télécommande haute fréquence (HF) du porte-clé ;

Remarque : cet ordre est transmis au MDC via le bus CAN du véhicule.

Contraintes du cahier des charges fonctionnelles Le dispositif d’ouverture/fermeture de la porte doit satisfaire aux contraintes suivantes :

C1 : Permettre l’ouverture/fermeture automatique de la porte en respectant une durée d’ouverture comprise entre 3 et 4 secondes.

C2 : Autoriser une manoeuvre manuelle de la porte en cas d’absence d’alimentation.

C3 : Répondre aux conditions de sécurité des personnes. Une fonction anti-pincement doit permettre de détecter un obstacle lors de l’ouverture/fermeture, puis de :

  • commander l’arrêt du mouvement de la porte si la porte est en train de s'ouvrir ;
  • commander l’ouverture complète de la porte si la porte est en train de se fermer.

C4 : Assurer l’étanchéité de la porte par écrasement du joint en position porte fermée.

C5 : Interdire la manœuvre automatique de la porte lorsque la vitesse du véhicule est supérieure à 5 km·h-1.

C6 : Permettre au calculateur central de détecter une anomalie de fonctionnement (détérioration du mécanisme par exemple) et d’en informer le conducteur.

C7 : Permettre un déverrouillage en cas d’accident et stopper toutes les manœuvres en cours.

COMMUNICATION AVEC LE CALCULATEUR CENTRAL

L’objet de cette étude est de déterminer comment le calculateur central (via le bus CAN) peut détecter un dysfonctionnement afin de valider la contrainte C6 (exemple : suite à une demande d’ouverture, la porte ne s’est pas ouverte).

À l’aide du document technique DT1, répondre aux questions suivantes :

  • Question 1 : Compléter le tableau en explicitant le codage de la colonne « Données » pour chaque numéro de trame 3, 4, 5 et 22 circulant sur le bus CAN

    Décodage de trames sur le bus CAN

    Ligne 3 : 755 4 03 30 80 00
    03 308000
    requête

    Ligne 4 : 655 4 03 70 80 01
    03 708001
    réponse

    Ligne 5 : 755 4 03 30 80 01
    03 308001
    requête

    Ligne 22 : 655 4 03 70 80 02
    03 708002
    réponse
  • Question 2 : déterminer alors la durée d’ouverture de la porte à partir de l’ordre de commande (voir DT1).

  • Question 3 : Compléter sur l’oscillogramme, les valeurs binaires des champs IDENT (identifiant) et DATA (Donnée 0,1 et S pour les bits-stuffings) de l’oscillogramme et reporter ces valeurs dans les champs correspondants en éliminant les bit-stuffings (voir la remarque faite sur DT1). Transcoder ces valeurs en hexadécimal puis en déduire alors le(s) numéro(s) de(s) trame(s) du relevé (DT1) qui correspond(ent) à cet oscillogramme














    Décodage de la trame : le poids fort est transmis en premier

    IDENT (valeur binaire relevée) :

    IDENT (valeur hexadéciamle transcodée) :

    DATA (valeur binaire relevée) :

    DATA (valeur hexadécimale transcodée) :

    Numéro(s) de(s) trame (s) :

  • Question 4 : Imaginer et commenter succinctement comment le calculateur pourrait détecter une panne du système de motorisation de la PLC en utilisant les informations qui circulent sur le bus CAN, afin de respecter la contrainte C6.

  • 3.3 - Le bus I2C

    Le bus I²C (Inter-Integrated Circuit) a été créé au début des années 80 par RTC Philips afin d’apporter une solution simple et peu coûteuse à la communication entre les circuits intégrés numériques à l’intérieur des appareils grand public (téléviseurs, magnétoscopes, jouets, ...). Le principal avantage du bus I²C est de limiter le nombre de liaisons entre circuits intégrés.

    Le bus I²C est un bus de type série synchrone ne nécessitant que deux signaux référencés par rapport au 0V (GND).

    • SDA (Serial DAta line), le signal de données.
    • SCL (Serial Clock Line), le signal d’horloge.

    L’horloge va directement dépendre de la vitesse de transmission. Sa fréquence est de 100kHz pour un débit de 100 kbauds en mode standard, 400 kbauds en mode rapide et 1 Mbauds voir 3,4 Mbauds en haute vitesse. Cette vitesse est imposée et configurable par la valeur des résistances placées entre SDA et VCC (+5V) et SCL et VCC.

    Schéma

    Chaque esclave aura une adresse définie par le constructeur, ce qui limitera leur nombre à 128(27=). En réalité les 8 premières et les 8dernières adresses sont réservées.

    3.4 - Principe :

    Le principe se base sur une transmission maître – esclave, le maître étant en générale un microcontrôleur. C’est lui qui va générer le signal d’horloge SCL. Il peut envoyer des requêtes d'écriture (afficher un texte sur un écran LCD) ou de lecture (état d'un capteur) vers un esclave.

    Schéma

  • Au repos SDA et SCL sont au niveau 1, aucun circuit n’émet.
  • Start : SDA passe à 0 lorsque SCL = 1.
  • image start
  • Adresse : A partir du moment où SCL passe à 0 on positionne les 7 bits de l’adresse de l’esclave, validés par les 7 coups d’horloge de SCL.
  • image adresse
  • R/W : Le 8ème coup d’horloge indique à l’esclave si le maitre va lire (R=1) ou écrire (W=0).
  • image rw
  • ACK : Le 9ème coup de l’horloge valide la requête du maître qui attend la réponse.
  • image ack
  • Donnée : Si la réponse est envoyée par l’esclave, les 8 bits de données arrivent suivis d’un ACK si c’est la fin de transmission de l’esclave.
  • image data
  • Stop : SCL passe alors à 1 suivi de SDA et on repasse au repos.
  • image stop

    Exemple de trame complète, lorsque le maitre fait une requête et que l’esclave envoie un octet :

  • Début de transmission : start
  • Le maitre envoie l'adresse de l'esclave 0x67
  • Le maitre fait-t-il une requête de lecture
  • L'esclave répond (ACK=0) puis envoie la donnée 0xF8
  • Fin de transmission (ACK=0 ou NACK) puis stop
  • Exemple de trame lorsque le maitre fait une requête et que l’esclave ne répond pas :

  • Début de transmission : start
  • Le maitre envoie l'adresse de l'esclave 0x79
  • Le maitre fait-t-il une requête d'écriture
  • L'esclave ne répond pas, fin de transmission (NACK) puis stop
  • 3.5 - Exercice de décodage de trame I²C:

    Trouvez l'adresse de l'esclave, le type de requête et la donnée de la trame suivante

    Adresse de l'esclave en hexadécimal............0x

    Type de requête (entrez R ou W)....................

    Donnée envoyée ou reçue en hexadécimal....0x

    Fond : Texte : Tables :