Pour la première fois de ma vie, j'utilise cette puce DDS (AD9850) pour créer une onde sinusoïdale à la fréquence souhaitée, où je télécharge le code de la table de recherche et la fréquence souhaitée. commande via un avec micro-contrôleur. Donc, mes connaissances pour le moment sont très limitées.
La chose semble bien jusqu'à présent, mais le problème se situe à des fréquences très basses. À 1 Hz et même 0,5 Hz semble bien. Mais j'ai aussi besoin de jusqu'à 0,1 Hz.
Voici la sortie du DDS lorsque j'envoie le chiffre 0,1 au DDS via le micro contrôleur:
Dans mon code, j'envoie la commande du PC au micro sous forme de chaîne et la convertis en double. Mais pour plus de simplicité et pour vérifier, j'utilise ce code , et pour 0,1 Hz, je mets sendFrequency (0,1) dans la boucle.
Mais comme vous le voyez, la période est d'environ 11,5 secondes au lieu de 10 secondes pour la commande 0,1 Hz.
J'espère que je pourrais bien expliquer le problème. Existe-t-il un moyen de calibrer ou d'affiner cela afin d'avoir un résultat plus précis? Ou devrais-je vivre avec la précision? Btw où dans la fiche technique on peut se référer à une telle incertitude relative?
Réponses:
Ce n'est pas une question de précision, c'est une résolution.
Le recto de la fiche technique spécifie une résolution de réglage de 0,0291 Hz avec une horloge de 125 MHz.
Cela représente donc environ 30% de la fréquence de sortie souhaitée. Cela vient du résultat de l'ajout du LSB du mot de réglage à l'accumulateur de phase à 125 MHz - pour une fréquence d'horloge donnée, il est inhérent à la puce et au nombre de bits qu'ils ont choisis pour l'accumulateur de phase et le mot de réglage.
Vous pouvez essayer de réduire la fréquence d'horloge - le minimum est de 1 MHz, vous devriez donc être en mesure d'améliorer la résolution de plus de deux ordres de grandeur, à environ +/- 0,23% à 0,1 Hz.
Malheureusement, d'autres choses vont devoir changer pour des performances optimales (en particulier le filtre de sortie - qui est généralement un filtre LC elliptique du 7e ordre sur ces modules).
Si vous n'avez jamais besoin d'aller au-dessus, disons, 1 Hz, vous pouvez simplement ajouter un filtre RC avec une coupure de, disons, 100 Hz à la sortie existante et il sera acceptable à de nombreuses fins.
la source
Ce que vous recherchez sur la fiche technique est la résolution d'accord de fréquence. Pour cette puce, elle est de 0,0291 Hz pour une entrée d'horloge de référence de 125 MHz. Votre fréquence sera arrondie à un multiple de ce nombre. Ce nombre est basé sur la fréquence de l'entrée d'horloge de la puce.
Par exemple, 0,1 Hz sera arrondi à 0,0873 Hz (0,0291 * 3). La période pour 0,0873 Hz est de 11,5 secondes, ce que vous voyez.
Une fréquence d'horloge d'entrée plus basse donnera une précision plus élevée à des fréquences plus basses. Donc, si vous souhaitez une meilleure précision à des fréquences plus basses, abaissez la fréquence d'horloge.
la source