AnsweredAssumed Answered

Generating negative slope and amplitude ramps with the AD9914

Question asked by Lysakovski on Aug 14, 2015
Latest reply on Aug 16, 2015 by LouijieC



We are attempting to use the AD9914 to produce various frequency sequences. In order to do this we use an Arduino Due to send the commands to the DDS in parallel mode. Single frequencies, rising frequency ramps and frequency ramps with jumps do work, with and without amplitude modulation, but we are having problems getting falling frequency ramps and amplitude ramps to work. First the negative slope ramps:

Is the AD9914 not capable of producing ramps, for example from 900MHz to 600MHz, without executing a rising ramp from 600MHz to 900MHz first? I've read, that one could use the image frequency to create falling ramps but there has to be a more straightforward way of achieving this. Moreover I'm not even able to reproduce the frequency profile seen in figure 38 on page 25 of the AD9914 data sheet. My approach here is to write the same values into register as I would when doing a rising ramp(this works) and additionally write the same corresponding values into the "Falling Digital Ramp Step Size Register" and into the 0x22/0x23 addresses of the "Digital Ramp Rate Register" (Page 35). Now, for example, I'm starting a rising ramp at 300MHz with DRCTL connected to high with a jumper. If I now change the jumper to low during the ramp execution it immediately snaps to the upper frequency and stays there. If I change the jumper at the upper frequency it also just stays there. What am I doing wrong?

If indeed the image frequency is the way to go, can you confirm that it's behavior is well defined? As in, does it have the


Secondly the Amplitude ramps:


In order to get these I'm setting the following bits:

CFR1:"OSK enable"=1 and "Autoclear digital ramp accumulator"=1 (0x41 at 0x01)

CFR2: "Profile mode enable"=1 (profile 0 is selected), "Digital ramp destination"=10 and "Digital ramp enable"=1 (0xA8 at 0x06)

Then I write the 32 bit frequency tuning word into the "Frequency Tuning Word 0 Register", the 12 bit starting amplitude into "digital ramp lower limit"([20:31]), the 12 bit final amplitude into "digital ramp upper limit"([20:31]), the step size into "Rising digital ramp increment size"([20:31]) and for the slope rate is use the same value and writing process I use for the (working) frequency ramp(so I write 16 bit in 0x21/0x20). Now when I start everything up I don't see any signal on the spectrum analyzer at all. Any idea why this is so?


Thanks in advance,