Skip to content
forked from F4GOJ/AD9850

AD9850 serial library for arduino

License

Notifications You must be signed in to change notification settings

physphase/AD9850

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arduino serial library for AD9850

F4GOJ Christophe f4goj@free.fr

August 2014

AD9850 datasheet at http://www.analog.com/static/imported-files/data_sheets/AD9850.pdf

Use this library freely.

Installation

To use the AD9850 library:

  • Go to https://github.com/F4GOJ/AD9850, click the Download ZIP button and save the ZIP file to a convenient location on your PC.
  • Uncompress the downloaded file. This will result in a folder containing all the files for the library, that has a name that includes the branch name, usually AD9850-master.
  • Rename the folder to AD9850.
  • Copy the renamed folder to the Arduino sketchbook\libraries folder.

Usage notes

The AD9850 library instantiates a DDS object, the user does not need to do this.

#include <AD9850.h>    //http://github.com/F4GOJ/AD9850

Hardware connections :

ad9850

  • W_CLK -> any pin
  • FQ_UD -> any pin
  • DATA/D7 -> any pin
  • RESET -> any pin

Functions :

begin(int w_clk_pin, int fq_ud_pin, int data_pin, int reset_pin)

Description

Initialize the output pins and master reset the AD9850

Syntax

DDS.begin(w_clk, fq_ud, data, reset);

Parameters

w_clk : Working clock output pin, any pin (int)
fq_ud : Frequency update pin, any pin. (int)
data : Serial data output pin, any pin (int)
reset : Reset output pin, any pin. (int)

Returns

None.

Example
void setup(){
 DDS.begin(6, 7, 8, 9);
}

calibrate(double trim_frequency)

Description

Compensation of crystal oscillator frequency.
Can be used at any time after initialization.

Syntax

DDS.calibrate(trim_freq);

Parameters

trim_freq : Adjust around 125000000 to match the real crystal oscillator frequency. (double)

Returns

None.

Example
void setup(){
 DDS.begin(6, 7, 8, 9);
}

void loop(){
 DDS.calibrate(124999000);
}

setfreq(double frequency, int phase)

Description

Sets the output frequency of the AD9850 and the phase of the signal.

Syntax

DDS.setfreq(frequency, phase);

Parameters

frequency : Output frequency in Hz. (double)
phase : Sets the phase of the output signal, coded on 5 bits allows 32 phase steps of 11,25° each. (int)

Returns

None.

Example
double frequency = 10000000;
int phase = 0;
DDS.setfreq(frequency, phase);

down()

Description

Power down mode reducing the dissipated power from 380mW to 30mW at 5V

Syntax

DDS.down();

Parameters

None.

Returns

None.

Example
DDS.down();

up()

Description

Wakes-up the AD9850 from power down mode.

Syntax

DDS.up();

Parameters

None.

Returns

None.

Example
DDS.down(); // Entering power down mode

// some code doing something

...

DDS.up(); // WAKE-UP !!! :)

About

AD9850 serial library for arduino

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%