Bus et réseaux industriels - Electronique et informatique ... · La liaison RS232 • Liaison...

Post on 10-Sep-2018

217 views 1 download

Transcript of Bus et réseaux industriels - Electronique et informatique ... · La liaison RS232 • Liaison...

F. Pépin 1

Bus et

réseaux industriels

F. Pépinwww-pepin.ensea.fr

F. Pépin 2

PlanGénéralités sur la transmission de données

La boucle de courant 4 – 20 mA

La liaison RS232

Le Bus IEEE 488

Définitions

Quelques termes

Le Bus I2C

Le Bus SPI

Le Modèle OSI

Couche physique : les différentes topologies

Couche physique : le codage

Couche physique : le médium

Couche liaison : accès au médium

Couche liaison : détection d'erreur

Objectifs d'un réseau de terrain

Le bus CAN

Le bus LIN

Normes RS422 et RS485

Le Profibus

Le FlexRay

F. Pépin 3

Généralités sur la transmission de données

• Transmission d'octets ou de groupes d'octets

• Sens de transmission des données :

Simplex : toujours dans le même sens

Half-duplex : bidirectionnel, utilisant un seul "fil"

Full-duplex : bidirectionnel, utilisant deux "fils"

Émetteur Récepteur

Émetteur

RécepteurRécepteur

Émetteur

Émetteur

RécepteurRécepteur

Émetteur

Généralités

F. Pépin 4

• Nombre de participants :

Point à point : 2 participants uniquement

Bus : plusieurs participants

Émetteur Récepteurdonnées

Émetteur

Récepteur

Récepteur

Récepteur

données

?

Généralités

F. Pépin 5

• Transmission parallèle :

Les bits de données sont transmis simultanément

Des fils supplémentaires permettent la synchronisation

On peut aussi transmettre d'autres informations en même

temps, comme une adresse

Inconvénient : beaucoup de fils

Exemples : bus de mP, bus IEEE488, centronics

b0

b1

b2

b3

b4

b5b6

b7

b0

b1

b2

b3

b4

b5b6

b7

stb stb

Généralités

F. Pépin 6

• Transmission série :

Les n bits de données sont transmis les uns après les

autres sur un seul fil :

Nécessité d'une signalisation de début et de fin d'une

donnée

Avantage : quelques fils

Exemples : bus RS232, USB, Ethernet

b0

b1

b2

b3

b4

b5

b6

b7

b0

b1

b2

b3

b4

b5

b6

b7

10110110

10110110

0 1 0 1 1 0 1 0 1 1 0 1 1 0 11

Registre à décalage Registre à décalage

Émetteur Récepteur

H

b0

b1

b2

b3

b4

b5

b6

b7

b0

b1

b2

b3

b4

b5

b6

b7

10110110

10110110

0 1 0 1 1 0 1 0 1 1 0 1 1 0 11

Registre à décalage Registre à décalage

Émetteur Récepteur

H

F. Pépin 7

• Transmission série (suite) :

Synchronisation entre l'émetteur et le récepteur : pour

connaître la valeur des bits.

Notion de point d'échantillonnage

Transmission synchrone : l'horloge est présente sur le

bus

Transmission asynchrone : l'horloge n'est pas présente

sur le bus

Le récepteur doit pouvoir se synchroniser sur l'émetteur

Généralités

F. Pépin 8

• Débit binaire : en bits / s

• Débit de symboles : en symboles / s

ex : transmission d'octets, en octets / s

• Transmission en bande de base : pas de

modulation

• Immunité aux bruits

Généralités

F. Pépin 9

La boucle de courant 4 – 20 mA

I R

Capteur Système d'acquisition

Entre 4 et 20 mA

• L'information est transportée par l'intermédiaire d'un courant

• C'est une transmission analogique !

• 0 -20 mA / 4 – 20 mA

V

Boucle de courant

F. Pépin 10

La boucle de courant 4 – 20 mA

• Exemple : compteur de particules

Boucle de courant

F. Pépin 11

La liaison RS232

• Liaison série asynchrone, half-duplex ou full-duplex

Équipement 1

• C'est une liaison point à point

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

Transceiver

+12V et –12 V

0 et 5V ou 3,3V

Transceiver

Liaison RS232

F. Pépin 12

• Transmission d'un octet (0x46) :

Synchronisation des octets : START et STOP

Synchronisation des bits : le front descendant du START

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

START

0 1 0 0 0 1 1 0

STOP

TxD

Liaison RS232

F. Pépin 13

• Transmission d'un octet (0x46) :

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

START

0 1 0 0 0

STOP

TxD

Synchronisation des octets : START et STOP

Synchronisation des bits : le front descendant du START

1 1 0

Liaison RS232

F. Pépin 14

• Transmission d'un octet (0x46) :

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

START

0 1 0 0 0

STOP

TxD

Synchronisation des octets : START et STOP

Synchronisation des bits : le front descendant du START

1 1 0

Liaison RS232

F. Pépin 15

• Transmission d'un octet (0x46) :

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

START

0 1 0 0 0

STOP

TxD

Synchronisation des octets : START et STOP

Synchronisation des bits : le front descendant du START

1 1 0

Liaison RS232

F. Pépin 16

• Transmission d'un octet (0x46) :

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

START

0 1 0 0 0

STOP

TxD

Synchronisation des octets : START et STOP

Synchronisation des bits : le front descendant du START

1 1 0

Liaison RS232

F. Pépin 17

• Transmission d'un octet (0x46) :

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

START

0 1 0 0 0

STOP

TxD

Possibilité de glissement du point d'échantillonnage !

1 1 0

Erreur !

Un seul octet encadré par un START et un STOP

Liaison RS232

F. Pépin 18

• Transmission d'un octet (0x46) :

7 bits (ASCII), 8 bits ou 9 bits

avec ou sans parité

1 ou 2 bits de STOP

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

START

0 1 0 0 0 0 1 1

STOP

TxD

Liaison RS232

F. Pépin 19

• Contrôle de flux :

Par l'intermédiaire de 4 signaux :

– /RTS et /CTS

– /DTR et /DSR

Par logiciel : caractères XON et XOFF

Équipement 1

TxD

RxD

O V

Équipement 2

TxD

RxD

O V

Liaison RS232

F. Pépin 20

• Liaison RS232 sur DB9 :

Liaison RS232

F. Pépin 21

• Liaison RS232 sur bus USB :

Liaison RS232

F. Pépin 22

FT232R :

Liaison RS232

F. Pépin 23

• Exemple : le récepteur GPS

Norme NMEA : regroupe un ensemble de trames.

Exemple : trame GGA

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

Heure GMT Latitude Longitude

Liaison RS232

• RS422, RS485

F. Pépin 24

Définitions

• Bus : conducteur(s) commun(s) à plusieurs circuits

permettant l'échange de données

• Liaison point à point

• Réseau : lien de communication numérique multi-maîtres

entre plusieurs systèmes

• Terrain : zone limité géographiquement (usine, véhicule, …)

• Réseau (ou bus) de terrain : système de communication

numérique entre plusieurs dispositifs limité à un terrain

spécifique, ou entre un dispositif et ses périphériques

(capteurs, actionneurs)

Définitions

F. Pépin 25

Quelques termes

• Stations, nœuds, équipements, …

• maître, esclave, émetteur, récepteur

• Protocole de communication : définit un ensemble de règles

d'échange entre deux stations (nœuds, équipements, …)

• Trame : message échangé entre deux stations. Elle contient

plusieurs champs de contrôle et de données

• Télégramme : terme utilisé pour une trame dans quelques

réseaux de terrain (CanOpen, Profibus)

• Routage de l'information

Exemple : par adressage du destinataire et de l'émetteur

• Accès au médium

Quelques termes

F. Pépin 26

Le Bus I2C (Inter Integrated Circuit Bus)

• Objectif : connecter des composants sur une

même platine

– Philips (télévision, radio, lecteur CD, ...)

– NEC, Toshiba, Hitachi, ...

mP A

mP B

Afficheur

LCD

CAN CNA

• Constitution du bus :

2 fils + 1 masse

SDA : Serial DAta

SCL : Serial CLock

Bus I2C

F. Pépin 27

• Transfert de données bidirectionnel et en série

• Un composant : émetteur ou récepteur, maître ou esclave– émetteur : envoie les données

– récepteur : reçoit les données

– maître : circuit ayant initialisé le transfert, qui génère le signal d'horloge et qui termine le transfert

– esclave : composant adressé par le maîtremP A

mP B

Afficheur

LCD

CAN CNA

Bus I2C

F. Pépin 28

• Chaque circuit a sa propre identité (son adresse)

• La vitesse de transfert est définie par le maître jusqu'à

100 Kbits/s

• Possibilité d'une configuration multi-maîtres

• Acquittement à la fin d'un message

mP A

mP B

Afficheur

LCD

CAN CNA

Bus I2C

F. Pépin 29

• Configuration matérielle :

SDA

SCL

5 V

0 V : valeur dominante

5 V : valeur récessive

Bus I2C

F. Pépin 30

• OU câblée : 0 V : valeur dominante

5 V : valeur récessive

v1

s

v2

SDA ou SCL

e1 e2

5 V

5 V

0 V

0 V5 V

5 V

0 V

0 V

0 V

v1

v2vs

0

1

10

0

1

1

1

e1

e2s

s = e1 + e2

0 V : vrai, 1 logique

5 V : faux, 0 logique

Circuit 1 Circuit 2

Bus I2C

F. Pépin 31

• Synchronisation des données :

SDA valide durant l'état haut de l'horloge SCL :

SDA

SCL

Bus I2C

F. Pépin 32

• Condition de START

Un front descendant sur SDA quand SCL est à l'état haut :

SDA

SCL

Bus I2C

F. Pépin 33

• Condition de STOP

Un front montant sur SDA quand SCL est à l'état haut :

SDA

SCL

Note : le bus est considéré comme occupé après

la condition de START et libre après le STOP

Bus I2C

F. Pépin 34

• Les données :

8 bits (MSB en premier),

nombre d'octets quelconque durant un transfert,

acquittement après chaque octet.

SDA

SCL

Bus I2C

F. Pépin 35

• L'acquittement (acknowledge) :

L'émetteur ayant relâché la ligne SDA, le récepteur doit

bloquer cette ligne à l'état bas durant l'impulsion d'horloge

générée par le maître

SDA émetteur

SCL

SDA récepteur

8 9

le récepteur adressé doit générer cet acquittement après le

transfert de chaque octet

Si le récepteur ne répond pas à cet acquittement, le maître peut

générer un STOP pour annuler la transmission.

Bus I2C

F. Pépin 36

• Transmission de deux octets :

SDA

SCL 1 2 3 8 9 1 2 3. . .8 9

ACK ACK

• Format des données :

START

Adresse d'un esclave sur 7 bits + 1 bit de direction

R/W = 0 écriture

= 1 lecture + ACK

N x ( octets + ACK )

STOP

Bus I2C

F. Pépin 37

Exemples :

• maître / émetteur -> esclave / récepteur

Start adresse 0 Ack donnée Ack donnée Ack Stop

• maître / récepteur -> esclave / émetteur

Start adresse 1 Ack donnée Ack donnée Ack Stop

après l'acquittement, le maître devient récepteur et l'esclave devient émetteur

Bus I2C

F. Pépin 38

• L'arbitrage, dans une configuration multi-maîtres

SCL

SDA

Maître 2

Maître 1 Le maître 1 a perdu

Bus I2C

F. Pépin 39

• Synchronisation de l'horloge

CLK1

SCL

CLK2

Bus I2C

F. Pépin 40

• Pourquoi 100 K bits/s ?

4,7 ms min

4 ms min

Bus I2C

F. Pépin 41

• Quelques exemples de composants

Bus I2C

F. Pépin 42

Le premier octet :

Écriture d'un octet :

Bus I2C

F. Pépin 43Bus I2C

F. Pépin 44Bus I2C

F. Pépin 45Bus I2C

Adresse du circuit :

Registres internes :

F. Pépin 46Bus I2C

Ecriture d’un octet dans un registre :

Ecriture de plusieurs octets :

Lecture d’un octet :

Lecture de plusieurs octets :

Restart

F. Pépin 47

Le Bus SPI (Serial Peripheral Interface)

• Entre un microcontrôleur et des périphériques :

MISO : Master In Slave output

MOSI : Master Output Slave In

Bus SPI

F. Pépin 48

• Les chronogrammes (4 variantes) :

avec CPHA = 0 (bit de programmation du BF533) :

Bus SPI

F. Pépin 49

avec CPHA = 1 :

Bus SPI

F. Pépin 50

• Un exemple de composant :

Bus SPI : mémoire FLASH

F. Pépin 51

Câblage :

Bus SPI : mémoire FLASH

F. Pépin 52

Lecture d'octets :

Bus SPI : mémoire FLASH

F. Pépin 53

Les différentes instructions :

Bus SPI : mémoire FLASH

F. Pépin 54

Programmation d'une page :

Bus SPI : mémoire FLASH

F. Pépin 55

• Bus (single) SPI :

Bus SPI : single

F. Pépin 56

• Bus dual SPI :

Bus SPI : dual

F. Pépin 57

• Bus quad SPI :

Bus SPI : quad

F. Pépin 58

Le Modèle OSI (Open System Interconnection)

• les 7 couches du modèle OSI :

Transmission des bits sur le médium

Transmission sans erreur d'une trame

Routage de l'information

Fragmentation en paquets

Connexion logique entre deux stations

Compatibilité des données entre stations

Interface avec l'utilisateur

• Communication entre les couches

• Encapsulation des données

Application

Présentation

Session

Transport

Réseau

Liaison

Physique1

2

3

4

5

6

7

Modèle OSI

F. Pépin 59

• Couches OSI des réseaux de terrain :

Application

Présentation

Session

Transport

Réseau

Liaison

Physique Transmission des bits sur le médium

Transmission sans erreur d'une trame

Interface avec l'utilisateur

Avantage : rapidité

Ce qui est nécessaire dans la couche 3 est mis dans la

couche 2

1

2

3

4

5

6

7

Modèle OSI

F. Pépin 60

• Couche physique :

Spécification mécanique (connecteur)

Spécification électrique des signaux

Type de liaison (simplex, half-duplex, full-duplex)

Type de liaison (série ou parallèle)

Support de transmission (médium) :

Câble coaxial, fils torsadés, fibre optique

Informe la couche supérieure en cas de problèmes

Modèle OSI

F. Pépin 61

• Couche liaison :

gère l'accès au médium

structure les données sous forme de trames

détecte les erreurs de transmission, et les corrige si

possible

2 sous-couches :

Sous-couche MAC (Medium Acces Control)

Sous-couche LLC (Logical Link Control) : contrôle

logique de la liaison

Modèle OSI

F. Pépin 62

Couche physique : les différentes topologies

• Topologie en anneau :

Les stations forment une boucle fermée

L'information reçue par chaque station est

intégralement retransmis à la station suivante

La panne d'une station bloque tout le réseau

Modèle OSI : couche physique

F. Pépin 63

• Topologie en étoile :

Les stations sont reliées à un concentrateur par une

liaison point à point

Permet la création de petits îlots indépendants

Peu utilisée dans les réseaux de terrain

Modèle OSI : couche physique

F. Pépin 64

• Topologie en bus :

Toutes les stations sont reliées entres elles par une

seule ligne de transmission

Type de liaison : half-duplex

On peut facilement ajouter une station

Transmission en diffusion

Seule une station peut émettre à un instant donné

Terminaison

Modèle OSI : couche physique

F. Pépin 65

Couche physique : le codage

• Codage NRZ (Non Retour à Zéro) :

Codage du 0 et 1 logique par niveau de tension

code unipolaire : 0V et 5V

code bipolaire : -12V et +12 V

Bande de fréquence élevée

C'est un code asynchrone

Problème pour la synchronisation du récepteur : une

suite de 0 ou de 1 ne provoque pas de transition

1 0 1 1 1 0

Période d'horloge

Modèle OSI : couche physique

F. Pépin 66

• Codage RZ (Retour à Zéro) :

Similaire au codage NRZ, mais le signal revient à 0 au

milieu de la période d'horloge

Bande de fréquence élevée

Double transition pour coder un 1

Pas de transition si longue suite de 0

1 0 1 1 1 0

Modèle OSI : couche physique

F. Pépin 67

• Codage Manchester :

Traduction du 1 logique : front descendant

Traduction du 0 logique : front montant

Réalisation : fonction NON OU EXCLUSIF entre l'horloge

et les données

Code synchrone

Transition à chaque demi-période

Signal riche en harmonique, doublement de la fréquence

1 0 1 1 10

Horloge

Donnée

Code

0 0

Modèle OSI : couche physique

F. Pépin 68

Couche physique : le médium

• Le câble coaxial :

Blindage

Atténuation

Vitesse de propagation

Temps de propagation pour 1m de câble : 5 ns

Impédance caractéristique

Réflexion

Résistance de terminaison

Modèle OSI : couche physique

F. Pépin 69

• Les paires torsadées :

Câble couramment utilisé

Pourquoi 2 fils ?

Transmission en mode commun

Transmission en mode différentiel

Grande immunité aux bruits

0 V

e s

ligne

0 V

e s

ligne

Transceiver

Modèle OSI : couche physique

F. Pépin 70

• Les paires torsadées (suite) :

Câbles normalisés : UTP : câble non blindé

FTP : câble blindé

S-FTP : câble écranté et bliné

S-STP : câble à double blindage

Fmax Catégorie Atténuation

UTP et FTP 200 MHz 5 20 dB/100m 100MHz

S-FTP 300 MHz 5 20 dB/100m 100MHz

UTP, FTP

et S-FTP

400 MHz 6 27 dB/100m 200MHz

S-FTP 750 MHz 7 49 dB/100m 600MHz

S-FTP 1200 MHz 8 64 dB/100m 1200MHz

Modèle OSI : couche physique

F. Pépin 71

• Les fibres optiques :

Fibres monomode, multi-mode à saut d'indice, multi-mode

à gradient d'indice

Vitesse de propagation : 200 000 km/s

Uniquement des liaisons point à point

Insensible aux perturbations électromagnétiques

Atténuation : 0,5 à quelques dB / km

• Courants porteurs

• Transmission HFModèle OSI : couche physique

F. Pépin 72

Couche liaison : accès au médium

• Notion de collision :

Nœud 1 Nœud 2

à t = t1, le nœud 1 envoie un message :

Nœud 1 Nœud 2

à t = t2, le nœud 2 envoie un message :

Modèle OSI : couche liaison

F. Pépin 73

• Notion de collision :

Nœud 1 Nœud 2

à t = t3, il y a collision :

Nœud 1 Nœud 2

à t = t4, le nœud 2 détecte la collision :

Nœud 1 Nœud 2

à t = t5, le nœud 1 détecte la collision :

Modèle OSI : couche liaison

F. Pépin 74

• Par "polling"

le nœud maître consulte les esclaves

communication possible entre deux nœuds par

l'intermédiaire du maître

peu efficace

Maître Esclave 1 Esclave 2 Esclave 3

Modèle OSI : couche liaison

F. Pépin 75

• Par multiplexage temporel

de type TDMA (Time Division Multiple Acces)

émission d'un mot de synchronisation par le maître

émission des données par les esclaves à des instants précis

Maître Esclave 1 Esclave 2 Esclave 3

MaîtreSync Esclave 1 Esclave 2 Esclave 3

Modèle OSI : couche liaison

F. Pépin 76

• Par jeton sur anneau :

topologie en anneau : circulation d'une trame particulière (jeton) de

nœud en nœud

émission de données : capture du jeton, émission, puis libération du

jeton

connexion point à point

problème si rupture de liaison

Station 6

Station 1 Station 2

Station 3

Station 5 Station 4

Modèle OSI : couche liaison

F. Pépin 77

• Accès par CSMA/CD

CSMA/CD : Carrier Sense Multiple Acces / Collision Detection

Attente d'un blanc avant d'émettre

plusieurs émissions simultanées : détection de collision

arbitrage par délai d'attente aléatoire

problème si charge de réseau élevée

exemple : éthernet

Nœud 1 Nœud 2 Nœud 3

Collision

Modèle OSI : couche liaison

F. Pépin 78

• Accès par la notion de bit dominant (CSMA/CA)

Carrier Sense Multiple Acces / Collision Avoidance

attente d'un blanc avant d'émettre

bit dominant ou récessif

arbitrage sur les bits de l'identificateur

notion de priorité

efficacité importante

exemple : réseau CAN

Nœud 1 Nœud 2 Nœud 3

Collision

Modèle OSI : couche liaison

F. Pépin 79

Couche liaison : détection d'erreur

• La plus simple : bit de parité

Exemple : RS232, 1caratère sur 7 bits + 1 bit de parité

Parité paire :

• CRC : Cyclic Redundancy Check

p(x) : polynôme formé à partir du mot à vérifier

Exemple : 101010 p(x) = x6 + x4 + x2

g(x) : polynôme générateur défini par le protocole du réseau

Exemple : bus CAN g(x) = x15+x14+x10+x8+x7+x4+x3+1

Code de détection d'erreur = reste de la division polynomiale

de g(x) par p(x)

1 0 1 0 0 1 0 1

Modèle OSI : couche liaison

F. Pépin 80

API

Capteurs

Actionneurs

APIC

O

M

Réseau de terrain

Objectifs d'un réseau de terrain

Objectifs d’un réseau de terrain

F. Pépin 81

Le Bus CAN (Controller Area Network)

• Historique :

1983, société d'équipements automobile Bosch : Développement d'un protocole de communication pour les systèmes distribués fonctionnant en temps réel.

1986 : démonstration d'un système utilisant le bus CAN.

1991 : première voiture équipée du bus CAN.

• Le protocole CAN se présente et se subdivise en suivant le découpage normalisé des différentes couches ISO (physique, communication de données, réseau, transport, session, présentation, application).

• Norme ISO : "le bus CAN est un protocole de communication série qui supporte de façon efficiente la distribution des commandes en temps réel avec un haut niveau de sécurité".

Bus CAN

F. Pépin 82

• Problèmes liés à ce bus : Accès au bus et arbitrage

Souplesse d'utilisation

Traitement et gestion des erreurs

Topologie, longueur, débit, support physique

• C'est un bus série asynchrone.

• Exemple de topologie :

Noeud 1 Noeud 2 Noeud X

Résistance de terminaison

Bus CAN

F. Pépin 83

• Quelques supports physiques possibles :

Notion de bits à valeur dominante ou récessive

Support monofilaire

Support bifilaire : 2 fils appelés "paire différentielle"

Nœud 1

mC +

Contrôleur

CAN

Transceiver

Nœud 2

mC +

Contrôleur

CAN

Transceiver

Nœud n

mC +

Contrôleur

CAN

Transceiver

CAN_H

CAN_L

Bus CAN

F. Pépin 84

Support sur fibre optique, électromagnétique

CAN "High Speed" : 125 kbits/s à 1 Mbits/s (ISO 11 898-2)

CAN "Low Speed" : 10 kbits/s à 125 kbits/s

CAN "Fault Tolerant" LS : ISO 11 898-3

2,5 V

1 V

4 VCAN_H

CAN_L

Valeur

dominante

2,5 V

1 V

4 V

CAN_H

CAN_L

Valeur

dominante

Bus CAN

F. Pépin 85

• Codage NRZ : le niveau reste constant pendant

la durée totale du bit généré

Méthode du "bit stuffing" :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Message à envoyer :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Données sur le bus :

S S

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

A la réception :

Bus CAN

F. Pépin 86

• Routage de l'information : le contenu de la trame est

repéré par un identificateur. Cet identificateur n'indique

pas la destination du message, mais décrit son contenu.

• Les différentes trames

Trame de données : du nœud émetteur vers le nœud

récepteur

Trame de requête : pour demander la transmission

d'une trame de données ayant le même identificateur

que la trame de requête

Trame d'erreur

Trame de surcharge

Bus CAN

F. Pépin 87

• Trame de données :

Espace

intertrame

Fin de

trameACK

Délimiteur CRC

Séquence de CRC

Données

Commande

Bit de RTR

(Remote Transmission Request)

Identificateur

Début de trame

11 bits1 1 1 1 16 150 à 8 octets 7

Trame de données

= dominant

3

Champ de commande : 4 bits pour coder le

nombre d'octets de données

Arbitrage : pendant l'identificateur

Bus CAN

F. Pépin 88

• Trame de requête :

Espace

intertrame

Fin de

trameACK

Délimiteur CRC

Séquence de CRC

Données

Commande

Bit de RTR

(Remote Transmission Request)

Identificateur

Début de trame

11 bits1 1 1 1 16 150 à 8 octets 7

Trame de requête de données

= récessif

(optionnel)

3

Bus CAN

F. Pépin 89

• Gestion des erreurs : complexe mais très efficace

Monitoring du bus

CRC (Cyclic Redundancy Code) : détecte 5 erreurs

et corrige 2 erreurs

"Bit stuffing"

Acquittement

erreur de fin de trame, erreur de délimiteur, …

Signalisation des erreurs : trame d'erreurs

Compteur d'erreurs : en réception et en émission

augmente en cas de détection d'erreurs

diminue de façon moins rapide si pas d'erreur

Bus CAN

F. Pépin 90

3 états pour le nœud :

Erreur active : continue à émettre et à recevoir, et transmet

un "active error flag" dans la trame d'erreur si erreur détectée

Erreur passive : continue à émettre et à recevoir, mais

transmet un "passive error flag" dans la trame d'erreur si erreur

détectée

Bus off

Erreur

active

Erreur

passive

Bus

OFF

REC > 127

TEC > 127

REC < 128

TEC < 128

TEC > 255

128 occurrences

de 11 bits récessifs

Reset

REC : Receive Error Counter

TEC : Transmit Error Counter

Bus CAN

F. Pépin 91

Trame d'erreur : signalement d'erreur

"Active error flag" : 6 bits dominants consécutifs

ne respecte pas la règle du "bit stuffing" !

"Passive error flag" : 6 bits récessifs consécutifs

Bus CAN

F. Pépin 92

• Bit time : permet de définir le point d'échantillonnage

• Débit brut et débit net :Débit brut : 1 Mbits/s (norme High Speed)

Débit net : 72,1 kbits/s pour 1 octet de donnée

144,1 kbits/s pour 2 octets de donnée

504,5 kbits/s pour 7 octets de donnée

576,6 kbits/s pour 8 octets de donnée

• CAN 2.0 B : identificateur sur 29 bits

Bus CAN

F. Pépin 93

• Les réseaux dans l'automobile

Vue d'ensemble :

Bus CAN

F. Pépin 94

Portière :

Source : http://pedagogie2.ac-reunion.fr/metiersmaintenanceauto

Avant Après

Bus CAN

F. Pépin 95

Architecture de la 806 :

Source : http://pedagogie2.ac-reunion.fr/metiersmaintenanceauto

Bus CAN

F. Pépin 96

• Conception d'un nœud CAN

Périphérique contrôleur CAN

circuit intégré : SJA1000

intégré à un microcontrôleur :

LPC2292/LPC2294 de NXP (Philips)

Blackfin BF537 d'Analog Device

Bus CAN

F. Pépin 97

LPC2292/LPC2294 de NXP (Philips) :

Bus CAN

F. Pépin 98

BF537 :

Bus CAN

F. Pépin 99

Plan mémoire :

Bus CAN

F. Pépin 100

Bus CAN :

Bus CAN

F. Pépin 101

Mailbox :

Bus CAN

F. Pépin 102

Le bus LIN (Local Interconnect Network)

• Réseau à faible coût pour compléter les réseaux existants dans l'automobile

• Protocole de communication série permettant le contrôle de nœuds mécatroniques dans les applications distribuées de l'automobile

• Implémentation possible à partir d'un simple UART

• Jusqu'à 20 kbits/s !

Bus LIN

F. Pépin 103

• Un maître et plusieurs esclaves :

• Communication par trame (frame) :

Bus LIN

F. Pépin 104

• Structure d'une trame :

Bus LIN

F. Pépin 105

• Champ de rupture (break) :

au moins 13 bits à valeur dominante

• Champ de synchronisation :

• L'identificateur : 6 bits, plus 2 bits de parité

• Les données : 1 à 8 octets, plus un champ de CRC

Bus LIN

F. Pépin 106

Les autres réseaux de terrain

• CANOpen

• Profibus

• Modbus

• Fieldbus

• DeviceNet

• BatiBus

• …

F. Pépin 107

Normes RS422 et RS485

• Transceiver :

• Liaison en RS422 :

F. Pépin 108

Normes RS422 et RS485 (suite)

• Réseau 2 fils utilisant la norme RS485 :

F. Pépin 109

• Réseau 4 fils utilisant la norme RS485 :

F. Pépin 110

Le profibus

• Leader mondial des bus de terrain (1987)

• Exemple : variateur de vitesse

Profibus

F. Pépin 111

Généralités

• Trois déclinaisons applicatives du profibus :

Profibus-DP (Decentralized Peripheral) : fonctionnement

monomaître (ou multimaître) pour la gestion des équipements

d'entrées-sorties déportés avec des temps d'accès très faibles

Profibus-PA (Process Automation) : applications de contrôle de

process avec une télé-alimentation et une sécurité intrinsèque

Profibus-FMS (Fieldbus Message Specification) : applications

nécessitant l'échange entre maîtres pour la sysnchronisation

d'activités de contrôle et de commande (messagerie)

• Couche physique : définit le support physique

(caractéristiques électriques et mécaniques)

RS485

Fibre optique

Norme CEI 61158-2Couches OSI :

Application

Présentation

Session

Transport

Réseau

Liaison

Physique1

2

3

4

5

6

7

Profibus

F. Pépin 112

• Supports physiques (suite)

Haute vitesse H2 (RS 485) : transmission en codage NRZ

débit de 9,6 kbits/s à 12 Mbits/s

mode RS485 sur câble de type A (paire torsadée blindée, 135 à

165 ohms)

connecteur standard DB9

transmission d'un octet en mode asynchrone sur 11 bits : 1 bit de

start, 8 bits de données, 1 bit de parité paire, 1 bit de stop

Basse vitesse H1 (CEI 61158-2) : transmission synchrone

codage Manchester

débit : 31,25 kbits/s

télégramme constitué d'octets encadrés par un caractère de

préambule (0xAA : synchronisation), un caractère délimiteur de

début et un caractère de délimiteur de fin

Débit (kbits/s)

Longueur

9,6 19,2 93,75 187,5 500 1500 12000

1200 1200 1200 1000 400 200 100

1 0 1 1 0 1 0 0

Profibus

F. Pépin 113

• Couche liaison de données structure des télégrammes

procédures d'accès au bus

services de transmissions

• Méthode d'accès au bus : par jeton

Anneau logique pour le passage du jeton entre maîtres

Profibus

APIAPI

PC

Esclaves

Profibus

F. Pépin 114

• Télégramme de passage de jeton

synchronisation en-tête adresse de destination adresse source

• Structure générale d'un télégramme

SYN 33 bits synchronisation

SD 1 octet Start delimiter

LE 1 octet Data Length (DA+SA+FC+DSAP+SSAP+DU)

LEr 1 octet Length repeated

DA 1 octet Destination Adress

SA 1 octet Source Adress

FC 1 octet Function code

DSAP 1 octet Destination Service Access point (optional)

SSAP 1 octet Source Service Access point

DU 1 à 244 Data Unit

FCS 1 octet Frame Checking

ED 1 ocoet End Demimiter (0x16)

SYN SD LE LEr DA SA FC DSAP SSAP DU FCS ED

Profibus

F. Pépin 115

• les différents services

SDA (Send Data with Acknowledge)

SRD (Send and Request Data)

SDN (Send Data with No acknowledge)

Données

Acquittement

Données + demande de données

Acquittement

Profibus

F. Pépin 116

Le FlexRay

• Objectif : remplacer ou compléter le bus CAN

Vitesse, déterminisme (TTCAN)

• Constitution d'un nœud FlexRay :

Source : société LGM

Flexray

F. Pépin 117

• Cycle de communication :

une partie statique

une partie dynamique

Source : société LGM

Flexray

F. Pépin 118

• Trame FlexRay

Source : société LGM