F4GOJ Christophe [email protected]
Août 2014
Documentation de l'AD9850 à http://www.analog.com/static/imported-files/data_sheets/AD9850.pdf
Utilisez cette librairie librement.
Pour utiliser la librairie AD9850 :
- Allez à https://github.com/F4GOJ/AD9850, cliquez le bouton Download ZIP et enregistrez le fichier ZIP à l'endroit de votre convenance.
- Décompressez le fichier. Vous obtiendrez un répertoire contenant tous les fichiers de la librairie avec un nom comprenant le nom de branche, typiquement AD9850-master.
- Renommez le répertoire en AD9850.
- Copiez le répertoire renommé dans le répertoire Arduino \libraries.
La librairie AD9850 crée une instance de l'objet DDS, l'utilisateur n'a pas pas besoin de le faire.
#include <AD9850.h> //http://github.com/F4GOJ/AD9850
- W_CLK -> n'importe quelle broche.
- FQ_UD -> n'importe quelle broche.
- DATA/D7 -> n'importe quelle broche.
- RESET -> n'importe quelle broche.
Initialise les broches de sortie et effectue une remise à zéro générale de l'AD9850.
DDS.begin(w_clk, fq_ud, data, reset);
w_clk : Broche de sortie SCK, n'importe quelle broche (int)
fq_ud : Broche de sortie de mise à jour de la fréquence, n'importe quelle broche. (int)
data : Broche de sortie de données, n'importe quelle broche (int)
reset : Broche de sortie de RàZ, n'importe quelle broche. (int)
Rien.
void setup(){
DDS.begin(6, 7, 8, 9);
}
Compensation de la féquence de l'oscillateur.
Peut être utilisée à n'importe quel moment après l'initialisation.
DDS.calibrate(trim_freq);
trim_freq : Ajuster autour de 125000000 pour correspondre à la fréquence réelle de l'oscillateur. (double)
Rien.
void setup(){
DDS.begin(6, 7, 8, 9);
}
void loop(){
DDS.calibrate(124999000);
}
Détermine la fréquence de sortie de l'AD9850 et la phase du signal.
DDS.setfreq(frequency, phase);
frequency : Fréquence de sortie en HZ. (double)
phase : Phase du signal, codée sur 5 bits permet 32 pas de phase de 11,25° (int)
Rien.
double frequency = 10000000;
int phase = 0;
DDS.setfreq(frequency, phase);
Mode "extinction" réduisant la puissance dissipée de 380mW à 30mW sous 5V
DDS.down();
Aucun.
Rien.
DDS.down();
Sort l'AD9850 du mode "extinction"
DDS.up();
Aucun.
Rien.
DDS.down(); // Entrée en mode "extinction"
// du code faisant quelquechose
...
DDS.up(); // REVEIL !!! :)