AnsweredAssumed Answered

AD9959 Increasing Rising Step Interval for AM

Question asked by Chris2017 on Dec 6, 2017
Latest reply on Dec 7, 2017 by KennyG


I'm currently working on a project with an arduino due, ad9959 and a 25MHz reference clock (w/ 20x multiplier to have a SCLK of 500MHz) where I want to be able to do a frequency and amplitude sweep at the same time.

The issue is that my frequency range and timing is perfect, but the amplitude sweep is at least 1-2 orders of magnitude too fast, the slowest step interval being 2.048 us.

I am aware that lowering my SCLK speed  will allow me to have a longer delay, but this cripples my ability to do the frequency sweeps I am wanting to do, so this is not exactly a fix for my issue.

Is there any way to increase my delay in step sizes for my amplitude without modifying the clock, or is this a fundamental limit of the hardware (which seems a bit odd to me)?

As an aside, if I cannot, why not? I am somewhat new to this tech so I'd like to try garner some understanding from my predicament.


The only solution that I can come up with at the moment is to code in a 'for loop' in my arduino where I just set up my sweep and independantly modify the amplitude (via the ACR register 0x06).

If memory serves, the arduino SPI clock for communications is around 21MHz and with the amplitude scale factor of 10 bits giving 1024 values to sweep through, I  should be able to do a full sweep in less than 10ms to as long as I decide in my 'for loop'.

However I woudln't be surprised if I run into issues syncing the clocks/etc as the FM is from the DDS but the AM would be from the arduino, what could I do to minimise this if it becomes a problem?