I am using AD9837 for generating a sine wave output. I want to synchronize the DDS output to an external control pulse which comes with a PRI of 4ms. What I am doing now is resetting the DDS when the control pulse edge is detected. The following shows the program flow:
- Detect control pulse edge
- Reset DDS, write 0x2100
- Wait for 25ns
- Enable DDS, write 0x2000
- Wait for 8 MCLK
- DDS configuration done assertion
MCLK = 12.8MHz and DDS serial clock = 40 MHz. The following shows what I have observed in the CRO.
I can see a small glitch in the output waveform, when reset, and it settles within 2 us. Is this an expected result? . From the result obtained, it seems like the sine wave starts from the previous phase after reset.
I am not clear from the datasheet, what is the actual operation of RESET in AD9837. It says "RESET function resets the appropriate internal registers to zero". This means the phase accumulator value is reset? But I am not getting a zero phase of the sine wave after reset.
Any help is appreciated.
Thanks in advance.