Hi
I have experience with the AD9912 in this H/W and S/W implementation: http://rudius.net/oz2m//ngnb/dds.htm
But I must admit that I personally haven't measured the minimum frequency step size. Poul-Henning Kamp, among others, is using one of the AD9912 DDS units and observed a similar error, I think, that he has solved in this S/W: http://phk.freebsd.dk/misc/ftw.c
Whatever applies list the FTW values and calculate back to the real frequency and see if the frequency change is correct.
A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't have access to any counters capable if measuring the difference.
Bo
A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't
have access to any counters capable if measuring the difference.
For sanity-checking an extremely small frequency discrepancy, perhaps you
could set up the DDS to output a signal very close to a plesiochronous
reference of some kind. E.g., a binary fraction of its own clock frequency
plus or minus 1 LSB. Then trigger a scope from the DDS output while
watching the clock slide past it on the other channel.
This turns the question into one that can be answered definitively with a
stopwatch, rather than ambiguously with a counter. :)
-- john, KE5FX
Miles Design LLC
Am 19.02.19 um 12:29 schrieb Bo Hansen:
Hi
I have experience with the AD9912 in this H/W and S/W implementation: http://rudius.net/oz2m//ngnb/dds.htm
But I must admit that I personally haven't measured the minimum frequency step size. Poul-Henning Kamp, among others, is using one of the AD9912 DDS units and observed a similar error, I think, that he has solved in this S/W: http://phk.freebsd.dk/misc/ftw.c
Whatever applies list the FTW values and calculate back to the real frequency and see if the frequency change is correct.
A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't have access to any counters capable if measuring the difference.
Actually, you can measure that with a voltmeter.
Force the frequency tuning word to 0x0000 0000 0000 and verify that the
sine output stays at 0
or wherever it was if you already have a phase offset.
Then set the f-word to 0x0000 0000 0001 and check after 19.5 hours if
the sine has crept by 90°.
BTW I've opened a case in AD's engineering zone this weekend about the
LTC6957 sine-to-square chip.
<
https://ez.analog.com/clock_and_timing/f/q-a/107463/ltc6957-ims-3-output-oscillations
>
When it has no load at all, then connecting an inch of wire to one of
the outputs makes the other
output show some oscillations. Maybe the data sheet needs a minimum rise
time or minimum
input frequency spec. 1 MHz at 2Vpp is already slow.
Not a show stopper, but that does not build confidence. Impressive
output rise time for CMOS, nevertheless.
And the AD9901 phase comparator I mentioned there at EZ was not a real
one from AD. :-)
It was a tiny corner in a $2 64-FlipFlop Coolrunner CPLD and half a
page of added VHDL.
best regards,
Gerhard
AD replied to my message on the AD forums: (upon inspection they will
revise the datasheet to say the resolution is 47 bits now... ha!)
https://ez.analog.com/dds/f/q-a/107510/ad9912-ftw-lsb-always-zero
the datasheet has a copyright "2007-2010" so maybe the chip has been out
for 11-12 years already (?) but nobody bothered to measure the frequency
resolution!?
We might give the visual oscilloscope-method a go also at some point - just
for kicks.
For example one could set the DDS frequency so that there's a "beat" of
3600 seconds (1 h) - i.e. the 10MHz reference and the DDS output drift one
period (100ns) during an hour.
If I calculated correctly when the frequency is changed by one LSB that
3600s beat should change by around +/-45 seconds. If the change is 2LSB the
beat-period changes by around 90seconds.
To see the 'coincidence', maybe we need to collect traces from the
oscilloscope at 5s or 10s intervals, and do cross-correlation...
Anders
On Wed, Feb 20, 2019 at 2:00 AM John Miles john@miles.io wrote:
A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't
have access to any counters capable if measuring the difference.
For sanity-checking an extremely small frequency discrepancy, perhaps you
could set up the DDS to output a signal very close to a plesiochronous
reference of some kind. E.g., a binary fraction of its own clock frequency
plus or minus 1 LSB. Then trigger a scope from the DDS output while
watching the clock slide past it on the other channel.
This turns the question into one that can be answered definitively with a
stopwatch, rather than ambiguously with a counter. :)
-- john, KE5FX
Miles Design LLC
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Hi Anders,
On 2019-02-21 14:47, Anders Wallin wrote:
AD replied to my message on the AD forums: (upon inspection they will
revise the datasheet to say the resolution is 47 bits now... ha!)
https://ez.analog.com/dds/f/q-a/107510/ad9912-ftw-lsb-always-zero
the datasheet has a copyright "2007-2010" so maybe the chip has been out
for 11-12 years already (?) but nobody bothered to measure the frequency
resolution!?
First of all, good catch!
I bet it took some internal process only to conclude that they knew of
it but thought nobody would be affected. It could be that they didn't
know, set up a simulation only to conclude that they did not nail all bits.
We might give the visual oscilloscope-method a go also at some point - just
for kicks.
For example one could set the DDS frequency so that there's a "beat" of
3600 seconds (1 h) - i.e. the 10MHz reference and the DDS output drift one
period (100ns) during an hour.
If I calculated correctly when the frequency is changed by one LSB that
3600s beat should change by around +/-45 seconds. If the change is 2LSB the
beat-period changes by around 90seconds.
To see the 'coincidence', maybe we need to collect traces from the
oscilloscope at 5s or 10s intervals, and do cross-correlation...
If you use Linear Regretion / Least Square frequency estimation methods,
it will be easy to be conclusive.
The counter/oscilloscope setup would work. You could even record the
Lissajou pattern shift ever so slowly.
Cheers,
Magnus
Anders
On Wed, Feb 20, 2019 at 2:00 AM John Miles john@miles.io wrote:
A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't
have access to any counters capable if measuring the difference.
For sanity-checking an extremely small frequency discrepancy, perhaps you
could set up the DDS to output a signal very close to a plesiochronous
reference of some kind. E.g., a binary fraction of its own clock frequency
plus or minus 1 LSB. Then trigger a scope from the DDS output while
watching the clock slide past it on the other channel.
This turns the question into one that can be answered definitively with a
stopwatch, rather than ambiguously with a counter. :)
-- john, KE5FX
Miles Design LLC
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.