5. LA COMMANDE DE LA FREQUENCE :
Bien évidemment, disposer dâ??une seule fréquence présente peu dâ??intérêt, la commande de variation de la fréquence doit donc pouvoir être faite manuellement par lâ??utilisateur et à sa guise. Cette variation de fréquence se caractérise par trois paramÚtres :
5.1. La plage ou les plages de fréquences à couvrir :
Dans lâ??hypothÚse dâ??un VFO, cette plage pourra par exemple être limitée de 5.0 à 5.5 MHz.
Dans lâ??hypothÚse dâ??un générateur HF, cette plage sera beaucoup plus importante :#0 à 40 MHz par exemple.
Dans la derniÚre hypothÚse de lâ??oscillateur local dâ??un récepteur OM, il faudra considérer une excursion de fréquence de 500 kHz par bande, soit 9 plages (voire plus).
5.2. Le pas
Câ??est la variation de fréquence par « tour de bouton ». Plus précisément, câ??est la valeur de lâ??incrément unitaire de fréquence.
Cet incrément dépendra de lâ??utilisation du DDS et pour un VFO par exemple, la tentation sera grande de viser un incrément trÚs faible. Une valeur de 1Hz semble souvent paraître idéale.
A ce stade, il faudra prendre en compte les conséquences dâ??un tel choix ; en effet, une excursion de 1kHz (ce qui est peu), impliquera 1000 chargements du DDS en quelques secondes ou millisecondes ! On voit quâ??alors le microcontrÃŽleur aura fort à faire et il nâ??est pas certain quâ??il puisse assumer cette lourde tâche en si peu de temps.
On le constate quelques fois sur certains équipements ou le vernier fréquence semble « patiner » lorsquâ??il est rapidement actionné (vérifiez sur votre transceiverâ?Š. !) conséquence : il faudra trouver le compromis qui satisfasse lâ??utilisateur tout en conservant une marge au microcontrÃŽleur. Dans la pratique, un pas de 10Hz est généralement considéré comme « standard » et à cette valeur dâ??incrément, la note dâ??un signal CW est réglée sans discontinuité à lâ??oreille.
Le corollaire dâ??une faible valeur de pas est lâ??excursion de larges plages de fréquences.
Si lâ??on considÚre un pas de 10 Hz et 20 pas par tour de bouton, soit 200Hz par tour, 2500 tours de bouton seront nécessaires pour balayer une plage de 500 kHzâ?Š. ! Câ??est beaucoup.
Dans ce cas, il sera préférable de passer à une valeur supérieure du pas : 100 Hz, 1kHz, voire 10kHz.
5.3. La préselection :
Elle devient nécessaire pour couvrir des plages de fréquences faibles, éloignées les unes des autres ; câ??est typiquement le besoin dâ??un oscillateur local couvrant les 100 à 500 kHz des bandes amateurs (3.5 à 3.8, 7 à 7.1 etcâ?Š).
Dans ce cas, il sera judicieux de pouvoir caler le début de lâ??excursion en début de bande afin de ne pas avoir à balayer les inter-plages.
Il pourra en être de même pour un générateur HF destiné au réglage dâ??un récepteur couvrant les seules bandes amateurs.
On voit donc quâ??en plus de la commande de la fréquence proprement dite, deux
commandes seront nécessaires : pas et bandes. Des boutons poussoirs rempliront
parfaitement cette fonction et feront appel aux interruptions du PIC.
6. MESURE OU GENERATION DE LA FREQUENCE ?
De prime abord, on pourrait opter pour une mesure de la fréquence issue du DDS et son affichage direct. Câ??est la solution utilisée jadis lors de lâ??apparition des premiers VFO digitaux.
Elle nécessite la mise en Å?uvre dâ??un compteur / fréquencemÚtre, pas obligatoirement évidente à implanter dans le microcontrÃŽleur ou à part.
Il est aussi possible de fonctionner en aveugle : on se cale sur une fréquence initiale et ensuite on compte le nombre de pas envoyés au DDS. Il suffit dâ??incrémenter simultanément la valeur de lâ??affichage du pas courant.
Cette solution (que jâ??ai utilisée) à un inconvénient majeur : celle dâ??être inexacte. En effet, le pas DDS nâ??est jamais un nombre entier (rappelez-vous la formule). Par contre, lâ??incrémentation de lâ??afficheur est toujours une valeur entiÚre (un digit). Aussi, aprÚs un certain nombre de pas, il sâ??introduit un décalage entre la fréquence issue du DDS et celle affichée et ceci proportionnellement au nombre de pas effectués depuis la fréquence de départ. La différence peut ne pas être trÚs importante mais elle sâ??avÚre gênante car la fréquence affichée nâ??est jamais exacteâ?Š.
La solution est de prendre le problÚme à lâ??envers ! On affiche dâ??abord la fréquence puis on la convertit en valeurs DDS.
Ce nâ??est pas vraiment compliqué car il suffit alors de prendre le poids individuel de chaque digit (10Hz, 100Hz, 1kHZ â?Š) et de le multiplier par la valeur affichée.
Le poids de chaque digit sera initialisé une fois pour toute en fonction de lâ??horloge DDS.
Pour une horloge à 125 MHz on aura par exemple :
10Hz 01 58
100Hz 0D 6C
1kHZ 86 37
10Khz 05 3E 29
100kHz 34 6D 9C
1MHz 02 0C 48 13
10MHz 14 7A D0 BF
En supposant que la fréquence lue sur lâ??afficheur soit de 14 001.73 kHz, la formule suivante fournit les 4 octets nécessaires au DDS :
3(01 58)+7(0D 6C)+(86 37)+4(02 0C 48 13)+(14 7A D0 BF)
Cette opération sur 32 bits nâ??est pas des plus simples avec un microcontrÃŽleur 8 bits mais on y arrive !
A ce stade, on a donc généré un signal DDS égal à la fréquence affichée et ce nâ??est déjà pas si mal. Pour un générateur HF câ??est suffisant, pour un oscillateur local ou un VFO, ce n'est pas terminé...
Eh oui, la fréquence de lâ??oscillateur local ou du VFO nâ??est jamais égale à la fréquence à recevoirâ?Š(sauf pour la conversion directe). Il va donc être nécessaire de décaler la fréquence du DDS dâ??une « certaine » valeurâ?Š
Calcul de la valeur de décalage (Offset)
On prendra pour exemple une FI à 5645 kHz. Dans ce cas, la fréquence de lâ??oscillateur local générée par le DDS pourra être supérieure ou inférieure de 5645 kHz à la fréquence affichée.
Il suffit alors de soustraire ou dâ??ajouter la valeur 5645 kHz (BE 91 8F 0B) à la valeur afficheur avant de la charger dans le DDS. En réalitéâ?Š.ce nâ??est pas si simple car il faudra tenir compte de la bande latérale utilisée !
Dans lâ??utilisation dâ??un filtre FI unique, la réception de lâ??une ou lâ??autre des bandes latérales sâ??effectue par changement de la fréquence du BFO, fréquence que lâ??on place de part et dâ??autre des fréquences de coupures du filtres. Il en résulte un décalage qui se traduisait jadis par la présence de deux repÚres distincts sur le vernier des fréquences.
Si lâ??on souhaite conserver un affichage exacte de la fréquence générée par le DDS, il est donc nécessaire de se décaler en fonction de la bande latérale reçue. En fait, « câ??est
comme si » la fréquence du filtre FI changeait.
Pour lâ??exemple considéré, on trouve 5645 kHz pour USB et 5642.060 kHz pour LSB.
Ces deux valeurs seront donc additionnées ou soustraites avant chargement du DDS.
Dans lâ??hypothÚse dâ??un second changement de fréquence, le principe est identique, seul un oscillateur fixe supplémentaire pour descendre de la premiÚre à la seconde FI est nécessaire.
Par contre, le décalage reste le même.
A lâ??issue des opérations détaillées précédemment, on dispose dâ??un VFO dont, la fréquence affichée est égale à la fréquence générée plus ou moins les fréquences BFO (et inversement) quelque soit la bande latérale utilisée.
Autant dire que le plus gros est faitâ?Š. !
Sans le décalage FI on dispose dâ??un oscillateur pour récepteur à conversion directe ou encore dâ??un générateur HF, sachant que seule la programmation du microcontrÃŽleur est à adapter en fonction du besoin. Cette programmation pourra être également adaptée à la fréquence FI utilisée (10 .7 MHz, 9MHz, 4.9 MHz, 455 kHz..) pour ne citer que les plus courantes, toutes les valeurs pouvant évidemment être prise en compte. A ce propos, il faudra cependant prendre en compte les limites du DDS annoncées précédemment, à savoir que la fréquence de sortie maximale sera égale à F Horloge /3, soit 40 MHz pour une horloge à 125 MHz.
On sâ??aperçoit alors que lâ??utilisation dâ??une FI à 10.7 MHz amÚne le DDS à 40 MHz pour la bande 10 mÚtres. Si la bande 50 MHz était visée, il faudrait préférer le mélange soustractif (50-10.7) afin de rester à lâ??intérieur de la plage de fréquence « utile » du DDS.
Limitation des DDS
Retour