Réseaux Temps réel 21 Février 2005 LMPI – Option IREEL
TD 3
Dimensionnement d’une application sur FIP
Soit une application comportant trois stations FIP qui produisent et utilisent les variables suivantes.
Va ria b le P é rio d i c it é
m sTy p e
A 1 INT_8
B 5 INT_16
C 5 OSTR_32
D 10 SF P OINT
E 15 UN S_32
F 20 VSTR_16
INT_8 et INT_16 sont des entiers sur 8 bits et 16 bits.
OSTR_32 une chaîne de 32 caractères SFPOINT un flottant sur 32 bits UNS_32 un unsigned sur 32 bits VSTR_16 une chaîne de 16 caractères
On se base sur un réseau FIP à 1Mbit /s ayant un temps de retournement TR=45micros
-1- On veut à partir de ces variables générer une table d’arbitrage pour l’arbitre de bus.
a- Déterminer le cycle élémentaire et le macrocycle b- Etablir la table d’arbitrage
c- Calculer le temps de transfert de ces variables.
d- Vérifiez que les variables sont schedulables par rapport à votre macrocycle. Si les variables ne sont pas schedulables, fournissez une nouvelle table compatible avec le transfert des variables.
e- Calculez l’efficacité de chaque message. Quelle conclusion peut on en tirer ?
-2- La station 2 qui est productrice de la variable D détecte un signal d’alarme (Variable G) et veut le transmettre sous la forme d’une variable apériodique à la station 3. Ce message est du type OSTR_4.
Calculez le temps de transfert de cette variable G en tant que variable apériodique. Compte tenu de la nouvelle table d’arbitrage, donnez des bornes min et max de mise à disposition de cette variable sur le réseau.
Solution : -1- -a-
Cycle élémentaire = 1 ms
Période 1 5 5 10 15 20
PGCD 1 5*1 5*1 10*1 15*1 20*1 PPCM 1 5*1 5*1 2*5*1 3*5*1 2*2*5*1
1 5 2 3 2
Macrocycle = PGCD/PPCM =60/1= 60 cycles -b- Table d’arbitrage
F
E F
D D E D
C C C C C C
B B B B B B
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
F
D E D
C C C C C
B B B B B
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
-c- Temps de transfert des variables
A = (14+8+16+16+7) + (14+8+16+7)+1*8 + 2*45
= 61 + 45 + 8 + 90 =204 *TMAC = 204 micros B = 61+45+16+90 = 212 micros
C = 61+45+32*8+90 =452 micros D =61+45+4*8+90 =228 micros E = 228 micros
F =61+45+16*8+90= 324 micros -d-
Au pire des cas temps de transfert = somme de tous = 1,648 milli secondes Telle quelle la table n’est pas schedulable.
Une possible modification serait :
Au pire des cas nous aurions un temps de transfert de 204+212+228+324= 968 micros
F F
D E D E D
B C B C B C B C B C B C
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
F
E D E D
C B C B C B C B C B C
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
-2- La station 2 produit la variable D Le temps de transfert e la variable G est :
TtrG = ID_RQD + RP_RQ + 2*TR + ID_DATG+ RP_DATG + 2*TR
= (61 + 14+16+16+16+7 +90) + (61+14+8+32+16+7+90) + 4*45 = 220+228+180
Il faut donc 448 micros de disponible dans le trafic apériodique pour transmettre cette valeur.
Ceci peut être fait en deux temps. Dans le cycle 3 questionnement de la station par l’arbitre et dans le cycle 4 réponse de la station. Si a demande est faite dans le cycle 1 il faudra attendre 2 cycle pour avoir la réponse
A VERIFIER
Tmise a disposition = ID_DATD + RP_DATRQ + ttrG
= 228 + Ttrg
Tmis