1 Synthétiseur de fréquence fractional-N Principe Dans un synthétiseur classique le diviseur est un nombre entier : Fvco = M fref avec M entier Le pas du synthétiseur est égal à la fréquence de référence. Dans un synthétiseur fractional-N, le diviseur M n’est plus un nombre entier : M = N + NUM/DEN où N, NUM et DEN sont des nombres entiers NUM/DEN est une fraction (nombre rationnel) d’où l’appellation fractional N La résolution du synthétiseur est donc 1/DEN, bien inférieure à la fréquence de comparaison. Un tel système peut être implémenté à l’aide d’un compteur capable de diviser par N et N +1. M = N + NUM/DEN = (N.DEN + NUM)/DEN On ajoute et retranche N.NUM au numérateur: M = (N.DEN + NUM + N.NUM – N.NUM)/DEN M = [(N).(DEN-NUM) + (N+1).NUM]/DEN Exemple Fvco = 1152 MHz Fref = 10 MHz Dans ce cas N=115 NUM=2 M = 115,2 = 115 + 2/10 DEN=10 ce qui peut être réalisé si l’on dispose d’un compteur capable de diviser par 115 et 116 Fvco = Fref . [(N).(DEN-NUM) + (N+1).NUM]/DEN Fvco = 10 .(115. (10-2) + 116.2)/10 = 920 + 232 = 1152 Le pas du synthétiseur est maintenant de 1 MHz alors que la fréquence de référence est de 10 MHz. F6CSX Synthétiseur fractional N Version1 - janvier 2011 2 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 F6CSX Synthétiseur fractional N Version1 - janvier 2011 3 Ces calculs sont facilement automatisables dans une feuille de calcul Excel. Exemple On veut Fvco = 5760,2 MHz avec une fréquence de référence de 10 MHz. Fvco/Fref = 576,02 = 576 + 0,02 N= partie entière = 576 Reste = 0,02 FRAC = 0,02 x 2 25 = 671088,64 On arrondi cette valeur au nombre entier le plus proche FRAC = 671089 On calcule ensuite les valeurs de FMSB et FLSB FRAC/8192 = 671089/8192 = 81,92004394531 FMSB = partie entière = 81 soit $51 (en hexadécimal) FLSB = 0,92004394531 x 8192 = 7537 soit $1D71 (en hexadécimal) Calculons la fréquence réelle du VCO Fvco = Fref (N + FRAC/MOD) = 10 (81 + 671089/ 2 25 ) = 5 760,200 000 11 L’erreur est de 0,11Hz F6CSX Synthétiseur fractional N Version1 - janvier 2011