La diode varicap du VCO est alimenté par la combinaison de deux tensions:
- une première tension générée classiquement par le comparateur de phase de la PLL après filtre passe-bas
- une seconde tension générée par l'ATmega (par intégration d'un signal PWM [modulation à largeur d'impulsion]) afin de centrer en permanence la fenêtre de capture de la PLL sur la fréquence désirée, ce qui permet d'étendre considérablement la plage de fréquences couvertes. La largeur d'impulsion (et donc la valeur de la tension obtenue après filtrage) est directement fonction de la valeur écrite dans le registre "OCR2" de l'ATmega. (à noter en passant que l'obtention de ce signal PWM n'utilise pas d'interruption, et par voie de conséquence ne consomme PAS de temps machine sur le microcontrôleur)
Voici la méthode empirique que j'ai utilisée pour obtenir une fonction analytique représentant la valeur de OCR2, fonction mise en œuvre dans le programme de l'ATmega8.
(J'ai mesuré les valeurs maximales et minimales admissibles de OCR2 pour quelques fréquences réparties sur la gamme couverte, et j'ai pondu une fonction (en vert) qui entre dans le gabarit obtenu)