• Aucun résultat trouvé

Problématique de la synchronisation

Pour cela, l’idée d’harmoniser ces deux compromis est née, et servira comme principe de base dans notre démarche de conception d’un nouveau protocole de synchronisation pour satisfaire les besoins de précision.

III.2 Problématique de la synchronisation

III.2.1 Stratégies possibles

Les spécifications fonctionnelles discutées dans le chapitre précédent ont fait remonter des besoins de prise de mesures quasi-synchrones, demande essentielle pour la validation des modèles de simulation. Plus exactement, le décalage toléré entre deux prises de mesures sur deux capteurs différents du système doit être, pour les cas les plus contraints, inférieur à 500 ns. Il en résulte des contraintes de datation comparables, ce qui nous oblige à considérer dans la conception du système, l’utilisation d’horloges réparties synchrones avec une précision de l’ordre de 500 ns.

La mise en œuvre de ces horloges synchrones est particulièrement complexe car les tolérances imposées se situent { la limite de ce qu’offre aujourd’hui la littérature dans le contexte des réseaux d’instrumentation filaires. Avant de se lancer dans la conception, nous avons évalué les solutions classiques de synchronisation, susceptibles d’être compatibles avec notre application.

L

E

GPS

Le système GPS possède un mécanisme de synchronisation d’horloge interne du récepteur avec le temps fourni par les satellites. Les satellites GPS envoient donc des signaux qui sont pilotés par une horloge atomique d’une très grande précision. Les récepteurs possèdent généralement une horloge à base de quartz qui est moins stable, et les mesures de signaux corrigent les dérives du temps. Des mesures effectuées avec des récepteurs situés au sol à grande distance, montrent qu’ils se synchronisent entre eux avec une précision de l’ordre de quelques nanosecondes [106].

Ainsi, même si les performances des solutions basées sur l’utilisation du signal GPS correspondent à nos besoins, elles ont été écartées pour des raisons inhérentes à l’application avionique (les conditions météo variable, les réflexions etc.), et en particulier liées à la difficulté de placer des capteurs sous l’aile de l’avion.

L

ES SOLUTIONS AD

-

HOC

Une autre alternative serait de faire appel à des solutions ad-hoc qui utilisent une synchronisation externe sur un canal séparé [107]. Cette possibilité a été également écartée pour des raisons de consommation et de complexité des chaînes de réception.

L

ES PROTOCOLES STANDARDS

/

RESEAU

Nous nous fixons donc comme objectif, d’utiliser un standard de synchronisation issu des réseaux d’instrumentation filaires : IEEE-1588. Ce standard offre des performances de synchronisation de l’ordre de 50 ns sur des réseaux Ethernet dédiés, mais il n’est pas initialement conçu pour des réseaux sans fil.

En conséquence, cet aspect nous a mené à réaliser des tests sur les cartes de transmission UWB WiMedia (Wisair Wireless USB PCI Express Mini) décrites dans le chapitre précédent. Lors de ces tests, il a été mesuré une précision pour la synchronisation de l’ordre de 200 µs, ce qui est très supérieur à nos contraintes.

Une étude complémentaire a donc été lancée pour évaluer l’impact d’une liaison sans fil sur le fonctionnement du protocole IEEE-1588. La littérature étant peu détaillée sur le sujet [108], [109], [110], nous avons réalisé des expérimentations permettant d’évaluer la raison du mauvais fonctionnement du protocole IEEE-1588 sur les cartes USB WiMedia. Cette campagne de mesures est présentée en détails dans le dernier chapitre de ce mémoire (Simulations et expérimentations).

Afin de répondre au besoin de la synchronisation de notre application, nous allons nous intéresser dans la suite { l’evaluation de l’IEEE-1588 en présence d’une connexion sans fil.

III.2.2 Analyse

Nous notons tout d’abord que l’évaluation de l’IEEE-1588 en présence des cartes UWB WiMedia a eu des résultats pour la précision de la synchronisation (~200µs) qui ne sont pas satisfaisantes pour notre application. Plus précisément, cet aspect nous a conduit à la conclusion qu’il va falloir proposer une solution qui sera capable de répondre aux besoins de notre application (en termes de précision de synchronisation et d’économie d’énergie).

Ainsi, les mesures effectuées montrent l’influence de l’asymétrie du lien de communication sur la précision de la synchronisation offerte par le protocole IEEE-1588. Nous avons obtenu une asymétrie de délai de 6 ms entre la voie aller et la voie retour sur les cartes Wisair Wireless USB PCI Express Mini, alors qu’elle est d’environ 100 µs sur une liaison Ethernet. Cette asymétrie s’explique par le fonctionnement du protocole MAC de la carte Wisair Wireless USB PCI Express Mini qui implémente le paradigme maître-esclave, où le maître a une plus forte priorité d’accès au canal.

Dans ce contexte, nous rappelons que le protocole IEEE-1588 fait l’hypothèse d’un lien symétrique dans la description de son fonctionnement [111].

En ce qui concerne l’influence de la gigue dans la comparaison UWB WiMedia/Ethernet, nous constations que ce n’est pas le problème principal. Cette conclusion vient du fait que les mesures de gigue sont comparables pour les deux cas (autour de la centaine de µs).

Nous proposons ainsi d’utiliser une couche MAC capable de garantir ces contraintes en terme de limitation de la gigue (max 100 µs) et de symétrie de lien afin de garantir le bon fonctionnement du protocole de synchronisation. Ces valeurs seront prises en compte dans la conception des couches MAC et Réseau.

III.2.3 Bilan

Après avoir étudié les différentes solutions de synchronisation existantes dans la littérature (chapitre I) et après avoir discuté les performances de l’IEEE-1588 à travers une liaison sans fil, nous avons l’intention par la suite de proposer un nouveau protocole de

86

III.2 Problématique de la synchronisation

synchronisation qui doit être capable de répondre aux principaux besoins de notre application : une précision de la synchronisation inférieure à 500 ns ainsi qu’une capacité d’économiser l’énergie.

L’étude des principales solutions et protocoles déjà existants nous a guidés dans la définition de la nouvelle proposition. Ainsi, le Tableau III.1 présente une comparaison entre ces solutions en prenant en compte un certain nombre de paramètres, où N représente le nombre de paquets échangés dans un cycle de synchronisation et L le nombre de nœuds présents dans le réseau.

En analysant le Tableau III.1, nous pouvons constater que les protocoles qui ont une très bonne précision de synchronisation présentent une forte consommation en énergie, ou vice versa.

Notre proposition sera donc de mettre en œuvre un protocole de synchronisation basé sur le standard IEEE-1588 qui est très performant mais qui a été conçu pour des réseaux locaux filaires, et le protocole PBS, dédié aux réseaux de capteurs, mais qui n’est pas en mesure de fournir la précision de la synchronisation nécessaire pour notre application.

Protocole Paramètres de performance Schéma utilisé Nombre messages/ cycles Précision d’horloge Couche Consommation en énergie IEEE-1588 [52] Saut unique 4*N*L 50-200 ns Application / Physique Elevée RBS [54] Récepteur-

Récepteur N*L2 29.1 µs Application Elevée TPSN [55] Emetteur-

Récepteur 2*N*L 16.9 µs MAC Moyenne FTSP [56] Emetteur-

Récepteur N*L 1.7μs MAC Faible PBS [57] Multi sauts/

saut unique 2*N 29.1 µs Application Faible

Tableau III.1 Classification des protocoles de synchronisation.

Les principaux objectifs de cette solution hybride sont les suivants: assurer une bonne précision (centaines de ns) pour les horloges des éléments du réseau et fournir une économie d’énergie importante pour le réseau.

Afin de réaliser une présentation de la contribution, nous proposons dans la suite de détailler les principes de fonctionnement des deux protocoles de synchronisation qui seront à la base de notre solution hybride.

III.2.4 Le standard IEEE-1588

Le protocole IEEE-1588 est un protocole standardisé qui permet d’obtenir une synchronisation entre les périphériques d’un réseau avec une précision inférieure à la microseconde. Une telle performance a l’avantage de permettre des extensions plus sophistiquées pour les applications envisagées.

Son principe consiste à synchroniser les horloges esclaves avec l’horloge d’un maître, en veillant à ce que les événements et les horodatages de tous les nœuds utilisent la même base de temps.

La correction de la déviation des horloges comporte deux phases (la correction de décalage (l’offset) et la correction de retard (le délai)), parce que la différence de temps entre l’horloge maître et les horloges esclave est une combinaison du décalage d’horloge et de retard de transmission du message.

Dans la première phase de synchronisation, le nœud maître commence la correction de l’offset en envoyant deux messages : le sync et le follow_up. Lorsque l’esclave reçoit le message de synchronisation envoyé par le maître, il utilise son horloge locale pour l’estampiller avec le moment d’arrivée (Figure III.1).

Figure III.1 La première phase de synchronisation de l’IEEE-1588.

Après avoir reçu le message follow_up, l’esclave va comparer son heure locale avec l’estampillage de transmission du message sync, effectué par le maître. La différence entre les deux horodatages représente la différence entre les deux horloges internes, à laquelle se rajoute le retard de propagation du message.

88

III.2 Problématique de la synchronisation

La deuxième phase illustrée dans la Figure III.2 a comme but de déterminer le délai de propagation entre le maître et l’esclave.

Ainsi, les deux nœuds vont horodater l’envoi, et l’arrivée du message delay_request. Le maître répondra { l’esclave avec un message delay_response, qui contient l’heure d’arrivée du message delay_request. A ce moment, l’esclave a toutes les informations pour calculer le retard de propagation.

Après avoir calculé le délai de propagation, l’esclave ajuste son horloge pour être synchrone avec l’horloge du maître. Parce que les horloges internes (que ça soit du maître ou des esclaves) ne sont pas parfaites et dérivent d’une manière indépendante, des cycles périodiques de synchronisation sont nécessaires pour maintenir cette synchronisation.

En résumé, le décalage et le délai de propagation entre l’horloge interne de l’esclave et celle du maître, sont calculés comme suit:

(III.1)

Après avoir décrit le mode de fonctionnement du standard IEEE-1588, nous considérons maintenant pertinent de revenir sur un travail mentionné dans la partie I.3.2.2 de notre état de l’art. Ainsi, les auteurs de [53] ont proposé une mise en œuvre de l’IEEE-1588 sur un nouveau type de nœud capteur. Ce que nous retenons c’est que le processeur utilise un oscillateur à quartz compensé en température (TCXO), afin de réduire le taux de sa dérive. Il a une tolérance en fréquence de 1,5 ppm (parts per million), qui se traduit par une dérive maximale de 1,5µs par seconde.

Leurs expérimentations ont abouti à une précision de la synchronisation entre l’esclave et le maître d’approximativement 200 nanosecondes, ce qui va servir comme référence pour notre future implémentation.

III.2.5 Le protocole de synchronisation PBS

Le protocole PBS [57] est une approche pour la synchronisation des réseaux à grande l’échelle, qui est parfois aussi nommée ROS (Receiver-Only Synchronization). Cette appellation est directement liée à son algorithme de fonctionnement (Figure III.3).

Chaque nœud qui se trouve dans la zone de couverture de la paire A-B (par exemple le nœud X), recevra les messages diffusés par les deux nœuds (A et B).

Supposons maintenant que le nœud A et le nœud B essaient de se synchroniser à travers un échange bilatéral de messages de synchronisation, où B est le nœud parent. Le nœud X recevra une série de messages de synchronisation contenant les estampillages de la paire A-B. Par conséquent, en utilisant les informations d’horodatage, le nœud X peut se synchroniser avec le nœud parent B, sans envoyer aucun message.

Les nœuds A et B peuvent être considérés comme des « super nœuds », car ils fournissent les informations de synchronisation pour tous les nœuds situés à leur portée.

L’échange de messages est ainsi représenté dans la Figure III.4, où et

représente le décalage (ou l’offset) des horloges entre le nœud A et le nœud B, et où les messages de synchronisation sont échangés N fois.

Figure III.4 L’échange de messages pour le protocole PBS. Dans l’exemple de la Figure III.4, les valeurs d’estampillage et sont calculées comme indiqué dans les équations suivantes [57]:

(III.2)

d

(AB)et

d

(BA)sont des valeurs fixes (déterministes) pour le retard de propagation dans un lien, et

X

i(AB) et

X

i(BA) représentent les variations (aléatoires) du retard.

Ainsi, l’estampillage pour le nœud B, après la prise en compte à la fois du décalage d’horloge (l’offset) et de la valeur de déviation (skew), devient :

(III.3)

où représente la déviation relative d’horloge entre le nœud A et le nœud B. De la même façon, l’horodatage pour le nœud X, est donnée par l’équation: