[time-nuts] FE-5680A DDS Board/PIC Code

Herbert Poetzl herbert at 13thfloor.at
Thu Feb 28 06:49:30 EST 2013


On Thu, Feb 28, 2013 at 03:49:55AM +0100, Magnus Danielson wrote:
> On 02/18/2013 10:32 PM, Herbert Poetzl wrote:

>> [ lot of stuff zapped ]

> It would be interesting if fractional resolution of the DDS
> would be developed using the PHASE interface. 

> As PHASE ripples, a carry needs to be sent into the phase
> accumulator of the AD9830, or alternatively fiddling the
> frequency value would help.

While continuously adjusting the phase (via PHASEx) would
probably work, I was more thinking about changing the
FREQx values, which contribute to the phase accumulator.

IMHO this should give a much better result than the abrupt
phase changes and thus a smoother output with less unwanted
noise.

One approach might be to set FREQ0 to the last value below
the desired frequency and FREQ1 to the first value above 
(i.e. FREQ0 + 1) and then toggle FSELECT in a pattern to 
match the fractional part.

FSELECT has a pipeline delay of 6 MCLK, but that doesn't
matter much if you do micro adjustments and FSELECT can be
changed at any time without causing any discontinuity.

And the best part: FSELECT is a small cable soldered onto
the AD9830 which can easily be rerouted to the PIC.

But I haven't found the spare time to dig into yet ...

best,
Herbert

> Anyway, good work!

> Cheers,
> Magnus
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to 
> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.


More information about the time-nuts mailing list