télégrammes le télégramme est la base de communication et de fonctionnement du réseau eib. un...
TRANSCRIPT
Télégrammes
• 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.
Paquet de données Ackt1 t2 t3
Télégramme
• 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.
Evènement
Constitution du télégramme
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)
• Le télégramme est lui-même découpé en plusieurs champs :
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
AdresseExpéditeur
AdresseDestinataire Lg Données Sécurité
3
CR
Paquet de données Ackt1 t2 t3
TélégrammeEvènement
Découpage des champs pour l'émission sur le bus
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
AdresseExpéditeur
AdresseDestinataire Lg Données Sécurité
3
CR
• L'ensemble du télégramme est décomposé à l'émission en caractères de 8 bits.
8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits
Constitution du champ Contrôle
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Ad. source Destinataire Lg Données Sécurité
3
CR
1 0 R 1 P P 0 0 Priorité de transmission
0 0 Priorité système
1 0 Priorité alarme
0 1 Priorité haute
0 Répétition
1 Emission normale
1 1 Priorité basse
Emission du caractère sur le bus
PauseStart D0 D1 D2 D3 D4 D5 D6 D7 Parité Stop
• L'émission du caractère débute par :
Start
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.
Caractère
8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits
Constitution du champ Sécurité
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Expéditeur Destinataire Lg Données Sécurité
3
CR
• 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
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Expéditeur Destinataire Lg Données Sécurité
3
CR
• 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
Constitution du champ Destinataire
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Expéditeur Destinataire Lg Données Sécurité
3
CR
• 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
• 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
Caractère : 104 + (8x104) + 104 + 104 + (2x104) = 1.35 ms
PauseStart D0 D1 D2 D3 D4 D5 D6 D7 Parité Stop Start
• 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
Paquet de données Ackt1 t2 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).
Calcul de la parité verticale
PauseStart D0 D1 D2 D3 D4 D5 D6 D7 Parité Stop Start
• 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
PauseStart 0 1 1 1 0 1 0 0 Parité Stop Start
somme + P = Nombre pair (avec P = 0 ou 1)
somme = 4+ P = Nombre pair
donc P = 0
• 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
D0 D1 D2 D3 D4 D5 D6 D7 Parité
• 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
0 0 1 0 0 1 0 1 1
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Expéditeur Destinataire Lg Données Sécurité
3
CR
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
Constitution du champ Données pour un EIS1
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Ad. source Destinataire Lg Données Sécurité
3
CR
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 0 0 ? ? ? ? ? ?
0 0 0 1 0 0 X X X X 0 0 0 1 R R R R R R
R R
0 0 0 1 0 0 X X X X 0 0 1 0 0 0 0 0 0 1
1 1 1 1 0 0 X X X X 0 0 0 1 R R R R R R
DonnéesLg
Octet 0 Octet 1 Octet 15
X : non utilisé
Ecrire (0/1)
Lire
Réponse courte
Réponse longue
Constitution du champ Compteur de routage
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Expéditeur Destinataire Lg Données Sécurité
3
CR
PT
R
CL
CZ
PT
R
CL
CZ
CR = 6
CR = 5
CR = 4
CR = 3
CR = 2
CR = 1
CR = 0
Constitution de l'acquittement
N N 0 0 B B 0 0
0 0 0 0 1 1 0 0 NAK Réception incorrecte
Paquet de données Ackt1 t2 t3
1 1 0 0 0 0 0 0 BUSY Occupé
1 1 0 0 1 1 0 0 ACK Réception correcte
• 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
8 bits
Contrôle
16 16+1 4 Jusqu'à 16x8 8 bits
Expéditeur Destinataire Lg Données Sécurité
3
CR
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
0 P P P P S S S S S S S S S S S
0 P P P P M M M S S S S S S S S
Groupe principal4 Bits (0-15)
Groupe secondaire11 Bits (0-2047)
Groupe principal4 Bits (0-15)
Groupe secondaire8 Bits (0-255)
Groupe médian3 Bits (0-7)
Application à l’adresse 3001
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
3 0 0 1 Hexadécimal
Binaire
Groupe principal= 6
Groupe secondaire= 1/
Calcul de la parité horizontale
D0 D1 D2 D3 D4 D5 D6 D7 P
S0 S1 S2 S3 S4 S5 S6 S7
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
1 1 0 1 1 0 1 0
Erreur dans un caractère
D0 D1 D2 D3 D4 D5 D6 D7 P
S0 S1 S2 S3 S4 S5 S6 S7
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
1 1 0 1 1 0 1 0
L'erreur est détectée puis corrigée
Double erreur dans un caractère
D0 D1 D2 D3 D4 D5 D6 D7 P
S0 S1 S2 S3 S4 S5 S6 S7
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
1 1 0 1 1 0 1 0
La double erreur est détectée mais pas corrigée
Comparaison des techniques de détection d'erreurs
• CRC (Cyclical Redundancy Check)
Méthode Facteur de réduction
Parité verticale 102
Parité horizontale 102
Parité combinée 104
EIB
CRC 105