Télégrammes - Sitelec.org

Download Report

Transcript Télégrammes - Sitelec.org

Télégrammes
Evènement
Télégramme
t1
Paquet de données
t2
Ack
t3
• Le télégramme est la base de communication et de fonctionnement du réseau EIB.
• Un télégramme est une séquence de caractères.
• La communication entre modules est effectuée par l'intermédiaire de télégrammes qui définissent
l'émetteur, le ou les destinataires, les ordres ou informations à transmettre.
• Dès l'apparition d'un événement, il y a émission d'un télégramme sur le Bus.
• L'émetteur se met à l'écoute du Bus.
• Si le Bus est libre, l'émetteur commence à émettre son message après un temps t1 qui dépend de la
priorité du télégramme.
• Dès la fin du télégramme, tous les participants disposent d'un temps t2 pour vérifier la bonne réception.
• Lorsque t2 est écoulé, tous les destinataires du message acquittent celui-ci en même temps.
• Après l'acquittement et avant l'émission d'un autre télégramme, s'écoule le temps t3 qui signifie la fin du
télégramme en cours.
Constitution du télégramme
Evènement
Télégramme
t1
Adresse
Contrôle Expéditeur
8 bits
16
Paquet de données
Adresse
Destinataire CR Lg
16+1
3
4
t2
Ack
t3
Données
Sécurité
Jusqu'à 16x8
8 bits
• Le télégramme est lui-même découpé en plusieurs champs :
 les champs qui servent au bon fonctionnement du bus et à l'intégrité du message (contrôle, adresse
expéditeur, destinataire, compteur de routage, longueur des données, sécurité)
 les champs qui définissent les informations utiles à transmettre (destinataire, données)
Découpage des champs pour l'émission sur le bus
Adresse
Contrôle Expéditeur
8 bits
8 bits
Adresse
Destinataire
16
8 bits
16+1
8 bits
8 bits
8 bits
CR Lg
3
4
8 bits
8 bits
Données
Sécurité
Jusqu'à 16x8
8 bits
8 bits
8 bits
8 bits
• L'ensemble du télégramme est décomposé à l'émission en caractères de 8 bits.
8 bits
Constitution du champ Contrôle
Contrôle Ad. source
8 bits
Destinataire CR Lg
16
16+1
1 0
R
1
3
4
Données
Sécurité
Jusqu'à 16x8
8 bits
P
P
0 0 Priorité de transmission
0
0
Priorité système
1
0
Priorité alarme
0
1
Priorité haute
1
1
Priorité basse
0
Répétition
1
Emission normale
Emission du caractère sur le bus
Start
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
D0
D1
D2
D3
D4
D5
D6
D7
Parité
Stop
Pause
Start
Caractère
• L'émission du caractère débute par :
 le bit de Start
suivi de 8 bits de données (D0 à D7)
 puis 1 bit de Parité
 puis 1 bit de Stop
• Le bit de parité est généré en parité paire, ce qui signifie que P vaut 0 ou 1 de façon à ce que la somme
des bits D0 à D7 + P soit paire
• Un temps d'attente de 2 bits (Pause) est marqué entre chaque caractère. Le caractère suivant est
ensuite émis et ceci jusqu'à la transmission complète du télégramme.
Constitution du champ Sécurité
Contrôle Expéditeur
8 bits
16
Destinataire CR Lg
16+1
3
4
Données
Sécurité
Jusqu'à 16x8
8 bits
• Le champ de sécurité contient autant de bits que les caractères transmis (le caractère est constitué de 8
bits de données)
• Chaque caractère constituant le message est "empilé" jusqu'à ce que le message complet soit transmis
• Le champ de sécurité est calculé en parité impaire.
Constitution du champ Longueur
Contrôle Expéditeur
8 bits
16
Destinataire CR Lg
16+1
3
4
• Longueur du champ de données en octet (2 à 16) :
0 0 0 1
2 octets
0 0 1 0
3 octets
0 1 0 0
5 octets
1 1 1 1
16 octets
Données
Sécurité
Jusqu'à 16x8
8 bits
Constitution du champ Destinataire
Contrôle Expéditeur
8 bits
16
Destinataire CR Lg
16+1
3
4
Données
Sécurité
Jusqu'à 16x8
8 bits
• L'adresse destinataire peut être de 2 types :
 adresse physique
 adresse de groupe
• C'est le 17ème bit qui détermine le type de l'adresse destinataire :
 0 = adresse destinataire de type adresse physique
 1 = adresse destinataire de type adresse de groupe
Temps de transmission
Start
D0
D1
D2
D3
D4
D5
D6
D7
Parité
Stop
Pause
Caractère : 104 + (8x104) + 104 + 104 + (2x104) = 1.35 ms
t1
Paquet de données
t2
Ack
t3
20 ms < Télégramme < 40 ms
• La transmission sur le Bus est réalisée en mode série asynchrone à 9600 bits/s, soit un temps de
transmission de 104 µs par bit (1/9600 = 1.04 x 10-4 soit 104 µs).
• La longueur du télégramme varie en fonction de la longueur du champ d'information (entre 9 et 23
caractères), l'acquittement étant d'un caractère.
• Le temps t1 vaut de 0 à 3 bits en fonction de la priorité du télégramme
• Le temps t2 qui sépare le télégramme de l'acquittement vaut 15 bits
• Le temps t3 qui signifie la fin de l'envoi d'un télégramme vaut 50 bits
Start
Calcul de la parité verticale
Start
D0
D1
D2
D3
D4
D5
D6
D7
Parité
Stop
Pause
Start
Start
0
1
1
1
0
1
0
0
Parité
Stop
Pause
Start
somme
somme = 4
+ P = Nombre pair (avec P = 0 ou 1)
+ P = Nombre pair
donc P = 0
• Le bit de parité est généré en parité paire, ce qui signifie que P vaut 0 ou 1 de façon à ce que la
somme des bits D0 à D7 + P soit paire
• Le bit de parité est calculé par l'émetteur du message
• Les caractères sont transmis sur le bus
• Les destinataires reçoivent les caractères composant le message
• Les destinataires décodent les caractères et vérifient la cohérence en effectuant le même calcul
Calcul de la parité horizontale
Contrôle Expéditeur
8 bits
Destinataire CR Lg
16
16+1
3
4
Données
Sécurité
Jusqu'à 16x8
8 bits
D0
D1
D2
D3
D4
D5
D6
D7
Parité
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
S0
S1
S2
S3
S4
S5
S6
S7
1
0
0
0
1
1
0
1
• Chaque bit du champ de sécurité est généré en parité impaire ce qui signifie que S vaut 0 ou 1 de façon
à ce que la somme des bits D0 + S0 soit impaire, de même D1 + S1, D2 + S2, D3 + S3, …, D7 + S7
Constitution du champ Données pour un EIS1
Contrôle Ad. source
8 bits
Destinataire CR Lg
16
16+1
3
4
Lg
Données
Sécurité
Jusqu'à 16x8
8 bits
Données
Octet 0
Octet 1
Octet 15
L
L
L
L
0
0
X
X
X
X
C
C
C
C
0
0
0
1
0
0
X
X
X
X
0
0
1
0
0
0
0
0
0
1
Ecrire (0/1)
0
0
0
1
0
0
X
X
X
X
0
0
0
0
?
?
?
?
?
?
Lire
0
0
0
1
0
0
X
X
X
X
0
0
0
1
R
R
R
R
R
R
Réponse courte
1
1
1
1
0
0
X
X
X
X
0
0
0
1
R
R
R
R
R
R
R
R
Réponse longue
X : non utilisé
Constitution du champ Compteur de routage
Contrôle Expéditeur
8 bits
Destinataire CR Lg
16
16+1
3
4
Données
Sécurité
Jusqu'à 16x8
8 bits
CR = 3
CZ
CZ
CR = 4
CR = 2
CL
CL
CR = 5
CR = 1
R
R
CR = 6
PT
CR = 0
PT
Constitution de l'acquittement
Paquet de données
t1
t2
Ack
N N 0
0 B
B 0 0
0 0
0
0
1 0 0 NAK Réception incorrecte
1 1
0
0 0
0
0 0 BUSY Occupé
1 1
0
0
1
0 0 ACK Réception correcte
1
1
t3
• A la fin de la transmission d'un télégramme, tous les destinataires disposent du temps t2 (15 bits) pour
vérifier la cohérence des données et acquitter de manière positive ou négative le télégramme.
• Tous les destinataires du télégramme acquittent simultanément. Si un participant détecte une erreur lors
de la réception du télégramme, il répondra par "NAK", écrasant ainsi l'acquittement de tous les autres
participants.
• L'émetteur recommencera l'émission jusqu'à 3 fois.
• Si l'émetteur ne reçoit pas d'accusé de réception, il réémettra son message.
• Si un destinataire répond par "BUSY", l'émetteur attendra un court instant avant de réémettre son
message.
Constitution du champ Adresse source
Contrôle Expéditeur
8 bits
16
Destinataire CR Lg
16+1
3
4
Données
Sécurité
Jusqu'à 16x8
8 bits
ZZZZ LLLL PPPPPPPP
N° de zone (0-15)
N° de ligne (0-15)
N° de participants (0-255)
Les adresses de groupe – 2 ou 3 niveaux
Groupe principal
4 Bits (0-15)
0
P
P
P
P
Groupe principal
4 Bits (0-15)
0
P
P
P
P
Groupe secondaire
11 Bits (0-2047)
S
S
S
S
S
Groupe médian
3 Bits (0-7)
M
M
M
S
S
S
S
S
S
S
S
Groupe secondaire
8 Bits (0-255)
S
S
S
S
S
S
Application à l’adresse 3001
3
0
0
1
1
0
Groupe principal
=6
0
0
0
0
0
0
/
Hexadécimal
1
0
0
0
0
0
Groupe secondaire
=1
0
1
Binaire
Calcul de la parité horizontale
D0
D1
D2
D3
D4
D5
D6
D7
P
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
S0
S1
S2
S3
S4
S5
S6
S7
1
1
0
1
1
0
1
0
Erreur dans un caractère
L'erreur est détectée
puis corrigée
D0
D1
D2
D3
D4
D5
D6
D7
P
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
S0
S1
S2
S3
S4
S5
S6
S7
1
1
0
1
1
0
1
0
Double erreur dans un caractère
La double erreur est
détectée mais pas
corrigée
D0
D1
D2
D3
D4
D5
D6
D7
P
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
S0
S1
S2
S3
S4
S5
S6
S7
1
1
0
1
1
0
1
0
Comparaison des techniques de détection d'erreurs
Méthode
Facteur de réduction
Parité verticale
102
Parité horizontale
102
Parité combinée
104
CRC
105
• CRC (Cyclical Redundancy Check)
EIB