After quite a bit of frustration (partially because I've been down with a cold for 2 weeks - No Covid-19 though), I've managed to get the AD9957 to semi-work.
At first I had a few difficulties communicating with the chip, but after some fiddling I've got rock-solid communication between the CPU and the Chip (Both Write and Read). The debugging-functions in the STM32IDE really help in that regard. No need to write countless lines of Serial.println()-Statements to debug the code. Just set a breakpoint and done!
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/smiley.gif)
Unfortunately, I can't seem to get a decent signal out of the chip, which (again) has some features that aren't documented in the Datasheet - The PDF-Doubler that can be enabled by the "open"-marked Bit 0 in CFR 3 for Example.
I have verified Communication and working PLL of the Chip by enabling the SyncClk-Output (PIN55 - Output of SysClk / 4), as well as the PDCLK-Output and the REFCLK-Output:
REFCLK-Output puts out (after I removed the BALUN and replaced it with 2 capacitors) a 51% DutyCycle 20 MHz Square-Wave.
PDCLK puts out a Square-Wave at 125 MHz directly after programming the three CFR-Registers and changes to a different value depending on the Frequency set in the Profile-Register. Most of the Time it's 62,5 MHz.
SyncCLK is a 50% Dutycycle Square-Wave at 250 MHz.
So far so good.
The Output at the IOUT-Pins is a different matter though: When I program any Profile other than Profile 5 in Single Tone-Mode, I get noise with a spectrum from DC to about the StopBand of the Lowpass-Filter.
When I program Profile 5 with the exact same Values, I get a Sine-Wave with the correct frequency but with an amplitude modulation of about 0.9 Hz, as well as huge spikes at 150 and 300 MHz on the Spectrum Analyzer. On the scope it looks like another signal is superimposed on the sinewave.
I've checked all the voltage-rails and they are right where they are supposed to be. Both in terms of voltage and ripple (Ripple is less than the noise-floor of both my Scopes).
Just to check if I had done anything wrong when calculating the register-values, I generated the values with the Software for the Evaluation-Board and dropped them into my software. The result was the same.
What puzzles me is the fact that only Profile 5 seems to be working for Single Tone-Mode (sine-wave with other signals on top of it), despite the Datasheet stating that the chip contains 8 profile-registers that I can read without issues and which are selected by the 3 Profile-Pins (all of them are at 0V and held there by the FPGA, so Profile 0 should be selected).
Anyone got any ideas might be wrong? Or how to check if maybe the Profile-Pins got damaged?
One interesting observation btw.: When I programmed the chip with the values for a 250 MHz Sinewave, the SyncCLK disappeared, but the IOUT-Pins still had the 250 MHz Sine-Wave on them (plus the strange superimposed signal).
Edit:
I changed the RefCLK-Circuit a bit to make the way to GND from the !REFCLKIN-Pin shorter, but it didn't work.
Disabling REFCLK-OUT didn't help either.