2
F6CSX Synthétiseur fractional N Version1 - janvier 2011
Cas réel : l’ADF4157
Dans l’exemple précédent, nous avons raisonné dans notre bon vieux système de numération
en base 10. Dans les applications réelles, il va falloir transposer en binaire.
Prenons le cas de l’ADF4157 qui est l’un des circuits les plus évolués aujourd’hui.
Fvco = Fref (N + FRAC/MOD)
N est la partie entière du diviseur, sur 12 bits
MOD est la valeur maximale du diviseur (Modulus) et vaut ici 2 25
FRAC est la partie fractionnaire (en fait le numérateur de la fraction) sur 25 bits.
La résolution du synthétiseur, c'est-à-dire la plus petite variation de la fréquence de sortie
(quand on incrémente FRAC d’une unité) est :
Résolution = Fref/MOD = Fref/2 25
Par exemple pour une fréquence de référence de 10 MHz, la résolution est de 0,298 Hz.
Il faut noter que la fréquence réelle du VCO sera toujours une valeur approchée (à mieux que
la résolution) de la fréquence désirée.
La valeur FRAC, codée sur 25 bits, est en fait programmée dans deux registres de 12 et 13
bits.
FRAC = FMSB . 2 13 + F LSB = FMSB . 8192 + F LSB
FMSB représente les 12 bits de poids forts
FLSB représente les 13 bits de poids faibles.
En définitive, nous avons donc :
Fvco = Fref (N + (FMSB . 2 13 + F LSB)/ 2 25 ) = Fref (N + FMSB / 2 12 + F LSB/ 2 25)
Soit
Fvco /Fref = (N + FMSB / 2 12 + F LSB/ 2 25)
On effectue la division euclidienne de Fvco par Fref.
La partie entière (quotient) est égale à N
On multiplie ensuite le reste de la division précédente par le module (2 25 ).
Cette opération ne tombe pas juste et il faut en prendre la partie entière (arrondie pour
minimiser l’erreur). On obtient ainsi la valeur de FRAC.
En effectuant une division euclidienne de FRAC par 8192 on obtient FMSB et F LSB
FMSB = Partie entière de la division de FRAC par 8192
FLSB = Partie entière du reste de la division précédente multiplié par 8192