-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test AD9910 DRG to extend frequency resolution #210
Comments
So, how about: Clock: 1GHz |
That will do a trangular ramp AFAICT. For a sawtooth phase, the negative step size needs to be (1<<32) - P where P is the positive step size. |
|
AFAICT, in DRG phase ramps one can only set the upper 16 bits of the limits. Thus, we can set FF FF 00 00 00 00 00 00, but not FF FF FF FF 00 00 00 00. (That would only be possible for frequency sweeps). |
Or bigger steps:
|
Pretty sure that's only a limitation of that evaluation software, not of the chip.
|
Just rail 0x0B to whatever max/min the software allows. That will be a small error but will not invalidate the test.
|
From the DRG overview section in the AD9910 data sheet. Looks like it's a limitation of the DDS itself, not the software.
Edit: AFICT, the DRG effectively modulates the POW, rather than the accumulator... |
That datasheet description is consistent with mine above. And you can see from the register dump that the DRG is always 32 bits wide. |
Using the DRG in double no-dwell mode to add a sawtooth phase ramp works. |
We'd like to use the digital ramp generator in the AD9910 to extend the frequency resolution.
But apparently the DRG accumulator doesn't wrap around (https://ez.analog.com/thread/95552).
The other option I see is to use the DRG to do phase ramps in continuous no-dwell mode with both no-dwell bits set and DRG limits at max/min respectively. To implement a frequency offset fSYSCLK2^(N-32)/(4P), one would then choose a power of two as the DRG step size (2^N) and P for the DRG ramp interval counter such that the DRG accumulator exactly reaches the upper limit (2 pi \equiv 0) after 2^(32-N) DRG steps, and correctly resets to zero phase offset. That is then equivalent to wraping around.
Originally from #195 (comment)
@hartytp could you test this mode of operation (instead of the one suggested in #195)?
The text was updated successfully, but these errors were encountered: