Page tree
Skip to end of metadata
Go to start of metadata

Where To Find This Example

Select Help > Open Examples... from the menus and type either the example name listed above or one of the keywords below.

Or in Version 13 or higher you can open the project directly from this page using this button. Make sure to select the Enable Guided Help before clicking this button.

Design Notes

This project forms a basic Direct Digital Synthesizer (DDS) architecture

Equation for DDS architecture:

FOUT = (M (REFCLK)) /2N

where:

FOUT = the output frequency of the DDS

M = the binary tuning word

REFCLK = the internal reference clock frequency (system clock)

N = The length in bits of the phase accumulator

Basically the smaller M, the more output samples per cycle of REFCLK and lower the output freq.

The Phase accumulator is formed by loading the tuning word M into SRC_R ID=A28 and is incremented by the ADD loop.

A binary phase offset is added by SRC_R ID=32. The MOD element performs Modulo 255 math on the phase since this is an 8 bit counter and outputs the remainder.

The Lookup table contains a sine wave with 256 entries. The output from the MOD element acts as the index to the lookup and is rounded up.

In this example:

f_Clk = 250MHz

f_out = 10MHz

n is 8 bits so M is 10.24

Ignoring the phase offset, the first loop in the table would be index 11, the second would be 21, the third 31 and so on.

It is the rounding errors of the index value that form the spur variation as M is varied to produce a new output frequency.

A basic tutorial on DDS can be found at:

<http://www.analog.com/static/imported-files/tutorials/450968421DDS_Tutorial_rev12-2-99.pdf>

System Diagram - DDS

Graph - Phase Accumulator _ MOD

Graph - Phase Accumulator

Graph - Analog Output Spectrum

Graph - DDS Output