currently I am experimenting with an AD9959 eval board. The board works fine using the provided PC software, so I suppose there is no hardware failure.
When I start the software I choose VCO gain on, multiplier 10x (I am using an external 50MHz signal for clocking). After I applied these settings, I choose eg. to generate a 1MHz signal and ... lookingon the scope I see a nice 1MHz sinewave. The SYNC_CLK signal is also present (125MHz)
When I try to operate the board using an MCU I am not able to get the DDS working.
What I tried was:
1) I changed W7 to manual control and removed W1, 2, 3, 10
2) I switched on the boards power supply (so everything should be on default)
3) The MCU sends via SPI the follwing sequence:
0x00 0xF2 (CSR register: all channels, 3 wire mode, MSB first)
After that IOUpdate is set HI for some time (first 500ns, after that I tried 28 ms because I was wondering the first IOUpdate was too short)
0x01 A8 00 00 (Function register 1, VCO gain on, multiplier set to 10x)
IOUpdate once again
0x04 0x0083126F (set Freq. Tuning word to 1MHz)
result: I do not see any SYNC_CLK signal and I do not get the desired 1MHz DAC output
I also tried to swap the order of the commands (first Funcion register 1 and after that CSR) but still no output.
I verified the SPI signals (SCLK, SDIO_0, CSB, IOUpdate) and did not see any error in data transmission.
I read in another thread, that IOUpdate does not work when there is no SYNC_CLK (which should be there by default and I did not switch it off)
What could be the reason? Did I forget to write some required register?
What does the PC software do to switch on the SYNC_CLK (if I power on the board without any external control (no PC, no MCU, only RefCLK) there's no SYNC_CLK