DDS générateur sinusoïdal avec PIC

A

atferrari

Guest
Deux générateurs sinusoïdale, chacun mis en place avec un PIC 16F84A,
de son propre clavier et de la production par l'intermédiaire PORTB,
passant à un réseau R-2R.A 4 pôles filtre complète le circuit.Tant par une horloge de 4 MHz, et les deux marche EXACTEMENT le même logiciel.

Dans chaque producteur, suivant le principe de de DDS, une valeur, PHASE_INC (3-octets), est ajouté de façon répétitive à un PHASE_ACCUMULATOR (3-octets aussi).Les bits b6: b0 de l'accumulateur
du MSB sont utilisés pour lire un look up table sine avec des valeurs de 1 à 128 et b7 du MSB est de savoir à quel moment de calculer le complément.

Pour changer la fréquence, withs touches "FREQ-UP" et "FREQ_UP", je peux augmenter / diminuer la valeur unitaire PHASE_INC pas (oui, oui, une unité à la fois).

Tout fonctionne comme prévu, sauf une chose: Si je varier PHASE_INC dans l'un d'eux à tout axtent et puis essayer de la mettre à sa fréquence par l'augmentation / la diminution PHASE_INC, il est presque impossible obtenir la valeur originale, quoique très proche .

Juste au cas où,
s'il vous plaît noter:

a - Les deux générateurs, indépendamment vérifié révélée assez stable sur le long terme.Ils commencent par la même PHASE_INC valeur, ce qui leurs fréquences correspondent les uns les autres à 100% et rester comme cela éternellement.C'est la raison pour laquelle la commune d'horloge, et il fonctionne bien.

b - D'après la théorie,
en utilisant UNITAIRE pas, tôt ou tard, je devrais obtenir à nouveau la valeur initiale PHASE_INC où
j'ai commencé à partir, qui est la fréquence initiale (mathcing nouveau générateur de l'autre).Dans le logiciel, je les inclus suffisamment de retard pour rendre le changement unitaire de PHASE_INC lents assurer d'avoir un bon contrôle des changements.La simulation montre que PHASE_INC est augmenté / diminué d'une heure,
à chaque fois.(?)

c -
J'ai une option, via le clavier où l'on peut changer le PHASE_INC pour des valeurs fixes.Faire que les deux générateurs, je reçois à nouveau correspondants (et stable) des fréquences à la sortie.C'est le haut / bas chose qui ruine tout.

S'il vous plaît,
quelqu'un peut me dire si je suis sur quelque chose de trop évident en ce qui concerne la DDS principe,
estimant que le problème apparaît seulement lorsque je change l'un d'eux si le haut ou vers le bas.

Aide vraiment apprécié.(Je voudrais pouvoir l'expliquer dans un texte plus court! - Désolé)

 
<a href="http://www.komputerswiat.pl/nowosci/sprzet/2010/48/asus-rt-n56u-czarny-diament-wsrod-routerow.aspx"> <img align="left" src="http://www.komputerswiat.pl/media/2010/337/1541020/asus-rt-n56u-zaj.jpg" /></a> W przedświątecznym szale zakupowym, na rynku debiutuje ASUS RT-56U - jedno z najciekawiej zaprojektowanych urządzeń sieciowych.<img width='1' height='1' src='http://rss.feedsportal.com/c/32559/f/491281/s/103f7f3f/mf.gif' border='0'/><br/><br/><a href="http://da.feedsportal.com/r/88739143968/u/0/f/491281/c/32559/s/103f7f3f/a2.htm"><img src="http://da.feedsportal.com/r/88739143968/u/0/f/491281/c/32559/s/103f7f3f/a2.img" border="0"/></a>

Read more...
 
Analog Devices est un bon choix de DDS puces, qui sont assez facile à l'interface d'un PIC.Par exemple AD9851.

 
HI

Je peux essayer pour vous aider -
il faut voir le code

Pouvez-vous télécharger le code -
s'il vous plaît télécharger uniquement si vous l'écrire en C ou d'autres HLL

ne peut pas vous aider si vous écrivez le code dans l'Assemblée

Tous les meilleursBobi

 
Hola Bobi,

ASM seulement.Merci pour la réponse en tout cas!

 
peut-être que vous pouvez trouver de l'inspiration ici:
http://www.myplace.nu/avr/minidds/index.htm

 
Le problème
n'est pas résolu, mais clairement identifiés.

Après l'ajout de l'absence de tests de la LSB PH_INC de maintenant, je sais que je dois augmenter le délai d'éviter la multiplication
d ' "accroître" ou de "diminution" par les actions de pousser le bouton.

Je suis heureux de savoir
qu'il n'est pas de mon incapacité à comprendre le principe de DDS, mais uniquement de logiciels à être améliorée.

 

Welcome to EDABoard.com

Sponsor

Back
Top