Git Product home page Git Product logo

ad9850's Introduction

Arduino serial library for AD9850

F4GOJ Christophe [email protected]

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 !!! :)

ad9850's People

Contributors

f4goj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ad9850's Issues

How can I confirm that the AD9850 is in good condition?

First of all, I saw that the serial port information is not displayed in your program and you cannot see the health status. Secondly, I don't have an oscilloscope. I saw that many of the routines in Google use oscilloscopes. Can I check the AD9850 without any accessory equipment?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.