AnsweredAssumed Answered

AD9954 Phase offset update using RAM

Question asked by vikasgarg on Jul 29, 2014
Latest reply on May 26, 2016 by ykpercy

I am trying to use AD9954 with phase offset words programmed in Ram locations.

I can change the phase by setting the CFR1 as RAM Disabled and programming the POW0 word manually every time.


But what I need is to be able to program 2 different Phase offset words in RAM and access it using PS0, and PS1 pins.

I cannot understand what I am doing wrong - any help would be appreciated


Here is what I am doing so far

1) CFR1 -> 0x C0 00 02 42  (MSB to LSB; RAM Enabled, RAM set to drive Phase Offset Adder )

2) ASF -> 0x 80 00

3) FTW0 -> (a know frequency value - I am getting the right frequency)

4) RSCW1 -> 0x 00 00 00 00 00 (Start and End Address as 0, 0 since I need only one RAM location for each Phase offset word)

5) RSCW2 -> 0x 00 00 01 04 00 (Start Address and End Address as 1, 1 for second memory location)

6) Set PS0 = PS1 = 0 and update RAM data with instruction cycle 0x0b followed by First Phase data

7) Set PS0 = 1, PS1 =0 and update RAM Data with instruction cycle 0x0b followed by second Phase data (Phase data is store in bits <31:18> as shown in figure2 of the datasheet



Now during runtime when I change PS0 to access different phase values, Phase is not changing.


Any help!