I have a local customer who is using the AD9959 4 channel/500MSPS DDS within their design and the part does not appear to be behaving as expected.
The expectation is as follows:
.When the Profile pin is Low, the output is zero amplitude (register 6)
-When the Profile pin is High, the output is maximum amplitude (register A)
Note here that the customer was able to program the DDS as a single-tone output, but not a modulated one.
They feel that they may have other issues, but because they are in a time crunch, they would like to verify first that they are programming the AD9959 correctly.
To that point, here is what they are currently programming within the part for channel 0 only:
#Pulse Sync_IO(SDIO_3) high
#Write to CSR_SETTING (0) 0x00 0x12 Channel 0 only
#Write to FR1_SETTING (1) 0x01 0xB0 0x00 0x00 PLL divider = 12
#Write to CFR_SETTING (3) 0x03 0x40 0x03 0x01 Amplitude modulation
#Write to CFTW0 (4) 0x04 0x05 0x55 0x55 0x55 Frequency
#Write to LSRR (7) 0x07 0xFF 0xFF Necessary for 2-level modulation, no RU/RD?
#Write to RDW (8) 0x08 0xFF 0xC0 0x00 0x00 Necessary for 2-level modulation, no RU/RD?
#Write to FDW (9) 0x09 0xFF 0xC0 0x00 0x00 Necessary for 2-level modulation, no RU/RD?
#Write to CW1 (A) 0x0A 0xFF 0xC0 0x00 0x00 Necessary for 2-level modulation, no RU/RD?
#Pulse I/O_UPDATE High Transfer to current registers
They noted that they are not programming register 6 because it is already zero. Is this correct?
Does the code provided above appear correct as well?
Let me know if there is any supporting information on the desired configuration that's needed to help t-shoot the problem.
Thanks in advance for your help.