This calculator has several distinct functions. First, it's a tool for selecting a value for RSET and checking the output level remains within limits for a given load. Second, it's an assistant for selecting tuning words given a reference clock and desired output frequencies and/or phases. Third, it shows the tuning word and other configuring bits encoded as a sequence of hex codes for use in programming the AD9835 via its serial interface. Lastly, idealized output harmonics are shown for the selected reference clock and output frequency after an external reconstruction filter has been applied. Addressing each of these individually:
The AD9835 has limits on the current and voltage that can be supplied and still meet other datasheet specifications. The output current level, IOUT, is set by a single external resistor, RSET, and the two are related by an equation. Changing one of these fields in the calculator updates the other automatically. If too high a current is selected, an error is noted. The IOUT current develops a voltage into the selected RLOAD, shown on the schematic, and is checked against the AD9835's compliance voltage.
Tuning words are calculated by simply entering the desired MCLK and output frequency. Because a tuning word is limited to 32 bits, there is typically a minute deviation between the desired and actual output frequencies. The actual output frequency (shown to the right of the desired frequency, surrounded by a gray field) is what is encoded in the bottom 14 bits of each codeword. Tuning words greater than 80000000 H (0(LSB) 8000) exceed the Nyquist frequency and will cause error messages to appear. Phase is quantized to 12 bits and selected in a manner similar to output frequency. The closest available phase setting appears in a field at right and in the 12 bits of the corresponding hex code.
Individual register programming codes can be selected using two pulldown menus within the "Codeword" section. The first menu selects the register addressing mode and the second pulldown the register. The computed hex code is displayed in a field immediately below the pulldowns. The hex codeword field is not bidirectional (yet). To update the codeword field, click the Update button at the right of this section, or click carriage-return or tab within any of the frequency or phase fields after a making a change.
A complete codeword sequence to initialize all registers appears immediately below this, in a field labeled "Initialization sequence". It only updates when the corresponding "Update" button is clicked and is not bidirectional.
If this browser is Java-enabled, a harmonic images calculator appears at bottom which graphs the first four harmonics of the output frequency (in red, sin(x)/x envelope in light red) and lists the first 16 in a table which can be cut and pasted into a spreadsheet. Changing the sampling (reference clock) or output frequencies at top automatically updates the images calculator, but the reverse is not true. Spurs (blue) are are also shown as folded 2nd or 3rd-order harmonics of each image with a uniform SFDR dependent on MCLK and programmed frequency.
Suppression of images and spurs (waveform reconstruction) can be simulated by selecting corner frequency, filter order and type of a simple analog filter (last line of images calculator; magnitude rolloff shown in green). A region corresponding to 10 bits of quantization noise is shaded at the bottom of the graph for reference. This calculator is based on a highly simplified model of the AD9835: check datasheet for parameters appropriate to your application. For more information, see our DAC Images calculator.
Note: Some parametric limits have been omitted/simplified in the implementation of this calculator. Refer to datasheet for actual limits and specifications.