• Aucun résultat trouvé

Modèle mathématique de l’horloge logique NTP

+ −

r r ppm r

µs ppm

µs

.

La ligne AE représente le cas extrème où l’horloge va être conduite à – 100 ppm. Comme le biais doit être terminé à la fin de l’intervalle d’ajustement,

a ≤

r

r 200 ) σ ( −

.

Ces relations ne sont satisfaites que si r > 200 ppm et σ < 2 s. En utilisant r = 300 ppm par facilité, σ = 1,5 s et a ≤ 0,5 s.

Pour le modèle d’horloge Unix avec tic = 10 µs, il en résulte une valeur de tickadj = 3 µs.

Une des hypothèses du modèle d’horloge Unix est que la période d’ajustement calculée dans l’invocation de adjtime doit être terminée avant la prochaine invocation. Sinon, il en résulte un message d’erreur au journal système.

Cependant, afin de corriger le décalage de fréquence intrinsèque de l’oscillateur de l’horloge, le modèle d’horloge NTP exige qu’adjtime soit invoqué à des intervalles d’ajustement réguliers de σs. En utilisant les algorithmes décrits ici et les constantes de l’architecture de la spécification NTP, ces ajustements seront toujours terminés.

G.2 Modèle mathématique de l’horloge logique NTP

L’horloge logique NTP peut être représentée par le modèle à rétrocontrôle indiqué à la Figure 12. Le modèle comporte un paramètre adaptatif, une boucle de verrouillage de phase (PLL, phase-lock loop), qui ajustent la phase et la fréquence d’un oscillateur en continu pour compenser sa gigue, son dérapage et sa dérive intrinsèques. Une analyse mathématique de ce modèle développée selon les lignes de [SMI86] est présentée dans les paragraphes suivants, avec un exemple de conception utile pour les directives de mise en œuvre dans des environnements de systèmes d’exploitation tels que Unix

et Fuzzball. Le Tableau 9 énonce les quantités ordinairement traitées comme variables dans le modèle. Par convention, v est utilisé pour les variables de boucle interne, θ pour la phase, ω pour la fréquence et τ pour le temps. Le Tableau 10 récapitule les quantités habituellement fixées comme constantes dans le modèle. Noter qu’elles sont exprimées comme des puissances de deux afin de simplifier la mise en œuvre.

Filtre d’horloge

Filtre de boucle VCO

- PD a

θ

o

v

c

v

s

v

d

θ

r

+

Figure 12. Modèle NTP de boucle de verrouillage de phase (PLL)

Variable Description Vd Sortie de détecteur de phase Vs Sortie de filtre d’horloge Vc Sortie de filtre de boucle

θr Phase de référence

θo Phase VCO

ωc Fréquence PLL de transition

ωz Fréquence limite PLL

Tableau 9. Notation utilisée dans l’analyse PLL

Paramètre Valeur Description

α 2-2 Gain VCO

σ 22 Intervalle d’ajustement

τ 26 Constante de temps PLL

T 23 Délai de filtre d’horloge

Kf 222 Pondération de fréquence

Kg 28 Pondération de phase

Table 10. Paramètres PLL

Dans la Figure 12 la variable θr représente la phase du signal de référence et θo la phase de l’oscillateur contrôlé par la tension (VCO). Le détecteur de phase (PD) produit une tension vd qui représente la différence de phase θr - θo. Les fonctions de filtre d’horloge comme ligne de prise à retard (as a tapped delay line), avec la sortie vs à la prise choisie par l’algorithme de filtre d’horloge décrit dans la spécification NTP. Le filtre de boucle, représenté par les équations données plus loin, produisent une tension de correction vc de VCO, qui contrôle la fréquence de l’oscillateur et donc la phase θo.

Le comportement PLL est complètement déterminé par sa boucle ouverte, la fonction de transfert de Laplace G(s) dans le domaine s. Comme les deux corrections de fréquence et de phase sont nécessaires, une conception appropriée consiste en un PLL de type II, qui est défini par la fonction

G(s) = 222

( 1 )

z s c

s ω

τ τ

ω +

,

où ωc est la fréquence de transition (appelée aussi gain de boucle), ωz est la fréquence limite (nécessaire pour la stabilité de boucle) et τ détermine la constante PLL de temps et donc la bande passante. Alors qu’il s’agit d’une fonction de premier ordre et que quelque amélioration du bruit de phase puisse être gagnée par une fonction d’ordre supérieur, en pratique, l’amélioration est perdue à cause des effets du délai de filtre d’horloge, comme décrit ci-dessous.

La fonction de transfert de boucle ouverte G(s) est construite en rompant la boucle au point a dela Figure 12 et en calculant le ratio de la phase de sortie θo(s) par rapport à la phase de référence θr(s). Cette fonction est le produit des fonctions de transfert individuelles pour le détecteur de phase, le filtre d’horloge, le filtre de boucle et le VCO. Le

détecteur de phase délivre une tension vd(t) = θr(t), de sorte que sa fonction de transfert est simplement Fd(s) = 1, exprimé en V/rad. Le VCO délivre un changement de fréquence ∆ω =

dt t d θ

0

( )

= αvc(t), où α est le gain de VCO en rad/V-sec et θo(t) = α∫vc(t)dt. Sa fonction de transfert est la transformée de Laplace de l’intégrale, Fo(s) =

s

α

, exprimée en rad/V. Le filtre d’horloge contribue à un délai stochastique dû à l’algorithme de filtre d’horloge, mais pour les besoins actuels, ce délai sera supposé la constante T, et donc sa fonction de transfert est la transformée de Laplace du délai, Fs(s) = e -Ts. Soit F(s) la fonction de transfert du filtre de boucle, qui doit encore être déterminée. La fonction de transfert de boucle ouverte G(s) est le produit de ces quatre fonctions de transfert individuelles :

G(s) =

Pour le moment, supposons que le produit Ts est petit, de sorte que e-Ts ≈ 1. En faisant les substitutions suivantes,

f

qui correspond à un terme constant plus un terme d’intégration étalonné par la constante de temps PLL τ. Cette forme est convenable pour la mise en œuvre comme système de données échantillonnées, comme décrit plus loin.

Avec les valeurs de paramètre données au Tableau 10, le diagramme de Bode de la fonction de transfert de boucle ouverte G(s) consiste en une ligne à – 12 dB/d’octave qui coupe la ligne de base à 0 dB à ωc = 2-12 rad/s, conjointement

suggère que le PLL sera stable et aura une large marge de phase ainsi qu’un faible dépassement. Cependant, si le délai de filtre d’horloge T n’est pas petit par rapport au délai de boucle, qui est approximativement égal à

ω

c

1

, l’analyse ci-dessus devient non fiable et la boucle peut devenir instable. Avec les valeurs déterminées comme ci-ci-dessus, T est normalement assez petit pour être négligé.

En supposant sue la sortier est prise à vs, la fonction de transfert de boucle fermée H(s) est

H(s) ≡

( )

Si seule la réponse relative est nécessaire et que le délai de filtre d’horloge peut être négligé, H(s) peut s’écrire

H(s) =

Pour une fonction d’entrée I(s) la fonction de sortie I(s)H(s) peut être inversée pour trouver la réponse de temps. En utilisant une entrée de pas d’unité de I(s) =

s

1

et les valeurs déterminée comme ci-dessus, cela donne un temps de montée PLL d’environ 52 minutes, un dépassement maximum d’environ 4,8 pour cent en environ 1,7 heures et un temps d’établissement dans les un pour cent du décalage initial en environ 8,7 heures.

Documents relatifs