[time-nuts] Homebrew frequency counter, need help

Tom Van Baak tvb at LeapSecond.com
Thu Nov 27 11:20:59 EST 2014


Your project sounds wonderful. The TDC-GP22 has been mentioned only a few times over the years and I keep waiting for someone to post actual results from this chip, or better yet -- schematics, photos, and source code.

You counter looks more like a 10 digits/second, not 11. Attached are ADEV/TDEV plots of your 71 10s data points.

Do not necessarily assume that 10 s measurements are more precise than 1 s measurements. It depends on the REF and DUT. When you are at the flicker floor of an oscillator additional averaging makes no difference. And if there is drift, additional averaging actually makes the precision worse.

One suggestion is not to output discrete gated frequency measurements, but instead output continuous phase difference measurements. That way the host software (for example PC running John's TimeLab program) can manage the data stream, simultaneously delivering phase, frequency, and ADEV plots.

/tvb

----- Original Message ----- 
From: "lllaaa" <lllaaa at gmail.com>
To: <time-nuts at febo.com>
Sent: Thursday, November 27, 2014 6:08 AM
Subject: [time-nuts] Homebrew frequency counter, need help


> Hi guys,
>    I've just get my homebrew counter working. And the resolution seems 10x
> better than my RACAL DANA 1992.
>    This counter is heavily inspired by the idea from Kasper Pedersen.
> http://n1.taur.dk/permanent/frequencymeasurement.pdf
>    STM32F051RB & EMP240T100C5 do the control and counting job. TDC-GP22 as
> the interpolator. Linear regression is done by CPU.
>    There are no fancy analog front for both signal path and refclk path.
> I'm using two SN75ALS176 and the schmitt input of CPLD to do the job.
>    I've noticed that the 10s gate does not get more meaningful
> digits(looks worse than 1s gate). So here are the questions:
>    1) I'm wondering if I could say this is an 11 digits/s counter?
>    2) How can I improve that? Is it limited by the 485 transceiver? I can
> switch to a faster MCU, that gets more measures per second, but I think
> that only gets no more than 2 stable bits.
> 
> 
> 
> Rb clock as ref, trimble GPSDO (the old bigger one) as the signal to
> measure:
> gate=1s #=9039  freq=10.000000005 MHz
> gate=1s #=9040  freq=10.000000004 MHz
> gate=1s #=9041  freq=10.000000003 MHz
> gate=1s #=9041  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9041  freq=10.000000004 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9041  freq=10.000000004 MHz
> gate=1s #=9040  freq=10.000000005 MHz
> gate=1s #=9040  freq=10.000000002 MHz
> gate=1s #=9041  freq=10.000000004 MHz
> gate=1s #=9040  freq=10.000000004 MHz
> gate=1s #=9039  freq=10.000000004 MHz
> gate=1s #=9040  freq=10.000000004 MHz
> gate=1s #=9039  freq=10.000000004 MHz
> gate=1s #=9040  freq=10.000000004 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000004 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9040  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> gate=1s #=9039  freq=10.000000003 MHz
> gate=1s #=9038  freq=10.000000003 MHz
> 
> 
> gate=10s #=90132  freq=10.00000000341 MHz
> gate=10s #=90337  freq=10.00000000334 MHz
> gate=10s #=90333  freq=10.00000000317 MHz
> gate=10s #=90324  freq=10.00000000409 MHz
> gate=10s #=90315  freq=10.00000000353 MHz
> gate=10s #=90320  freq=10.00000000478 MHz
> gate=10s #=90321  freq=10.00000000480 MHz
> gate=10s #=90315  freq=10.00000000530 MHz
> gate=10s #=90304  freq=10.00000000362 MHz
> gate=10s #=90372  freq=10.00000000347 MHz
> gate=10s #=90386  freq=10.00000000404 MHz
> gate=10s #=90383  freq=10.00000000409 MHz
> gate=10s #=90368  freq=10.00000000474 MHz
> gate=10s #=90366  freq=10.00000000435 MHz
> gate=10s #=90370  freq=10.00000000426 MHz
> gate=10s #=90365  freq=10.00000000381 MHz
> gate=10s #=90364  freq=10.00000000541 MHz
> gate=10s #=90364  freq=10.00000000504 MHz
> gate=10s #=90363  freq=10.00000000469 MHz
> gate=10s #=90369  freq=10.00000000088 MHz
> gate=10s #=90351  freq=10.00000000216 MHz
> gate=10s #=90355  freq=10.00000000250 MHz
> gate=10s #=90357  freq=10.00000000309 MHz
> gate=10s #=90346  freq=10.00000000366 MHz
> gate=10s #=90344  freq=10.00000000397 MHz
> gate=10s #=90343  freq=10.00000000350 MHz
> gate=10s #=90339  freq=10.00000000378 MHz
> gate=10s #=90336  freq=10.00000000374 MHz
> gate=10s #=90330  freq=10.00000000457 MHz
> gate=10s #=90322  freq=10.00000000439 MHz
> gate=10s #=90314  freq=10.00000000387 MHz
> gate=10s #=90318  freq=10.00000000319 MHz
> gate=10s #=90328  freq=10.00000000343 MHz
> gate=10s #=90313  freq=10.00000000443 MHz
> gate=10s #=90314  freq=10.00000000157 MHz
> gate=10s #=90287  freq=10.00000000321 MHz
> gate=10s #=90377  freq=10.00000000425 MHz
> gate=10s #=90366  freq=10.00000000403 MHz
> gate=10s #=90372  freq=10.00000000366 MHz
> gate=10s #=90371  freq=10.00000000391 MHz
> gate=10s #=90379  freq=10.00000000359 MHz
> gate=10s #=90376  freq=10.00000000378 MHz
> gate=10s #=90364  freq=10.00000000318 MHz
> gate=10s #=90374  freq=10.00000000288 MHz
> gate=10s #=90368  freq=10.00000000411 MHz
> gate=10s #=90364  freq=10.00000000366 MHz
> gate=10s #=90362  freq=10.00000000377 MHz
> gate=10s #=90354  freq=10.00000000335 MHz
> gate=10s #=90359  freq=10.00000000278 MHz
> gate=10s #=90354  freq=10.00000000317 MHz
> gate=10s #=90353  freq=10.00000000323 MHz
> gate=10s #=90348  freq=10.00000000348 MHz
> gate=10s #=90348  freq=10.00000000369 MHz
> gate=10s #=90338  freq=10.00000000306 MHz
> gate=10s #=90335  freq=10.00000000329 MHz
> gate=10s #=90336  freq=10.00000000299 MHz
> gate=10s #=90329  freq=10.00000000340 MHz
> gate=10s #=90326  freq=10.00000000399 MHz
> gate=10s #=90333  freq=10.00000000307 MHz
> gate=10s #=90312  freq=10.00000000321 MHz
> gate=10s #=90320  freq=10.00000000316 MHz
> gate=10s #=90323  freq=10.00000000361 MHz
> gate=10s #=90311  freq=10.00000000539 MHz
> gate=10s #=90306  freq=10.00000000184 MHz
> gate=10s #=90326  freq=10.00000000335 MHz
> gate=10s #=90389  freq=10.00000000373 MHz
> gate=10s #=90365  freq=10.00000000362 MHz
> gate=10s #=90376  freq=10.00000000360 MHz
> gate=10s #=90377  freq=10.00000000389 MHz
> gate=10s #=90385  freq=10.00000000364 MHz
> gate=10s #=90371  freq=10.00000000366 MHz
> 
> 
> WAVE Factory NF1946A(0.01uHz resolution, but no refclk in!!!!!!)
> CH2 10MHz as refclk and CH1 9.87654321012345 MHz as signal:
> with reciprocal method, I get almost 7 stable digits
> with the help of interpolator, I get 7 stable + 2 = almost 9 stable digits
> with the help of linear regression, 9 stable + 2 = almost 11 stable digits.
> gate=1s #=9039 linear=9.8765432100 MHz Interpolated=9.876543210
> Reciprocal=9.8765433
> gate=1s #=9040 linear=9.8765432103 MHz Interpolated=9.876543217
> Reciprocal=9.8765427
> gate=1s #=9040 linear=9.8765432101 MHz Interpolated=9.876543213
> Reciprocal=9.8765434
> gate=1s #=9038 linear=9.8765432102 MHz Interpolated=9.876543211
> Reciprocal=9.8765431
> gate=1s #=9040 linear=9.8765432102 MHz Interpolated=9.876543209
> Reciprocal=9.8765430
> gate=1s #=9039 linear=9.8765432101 MHz Interpolated=9.876543210
> Reciprocal=9.8765425
> gate=1s #=9039 linear=9.8765432100 MHz Interpolated=9.876543207
> Reciprocal=9.8765430
> gate=1s #=9040 linear=9.8765432102 MHz Interpolated=9.876543213
> Reciprocal=9.8765429
> gate=1s #=9039 linear=9.8765432101 MHz Interpolated=9.876543212
> Reciprocal=9.8765426
> gate=1s #=9040 linear=9.8765432102 MHz Interpolated=9.876543203
> Reciprocal=9.8765436
> gate=1s #=9039 linear=9.8765432102 MHz Interpolated=9.876543201
> Reciprocal=9.8765437
> _______________________________________________
> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lllaaa-1.gif
Type: image/gif
Size: 56836 bytes
Desc: not available
URL: <http://www.febo.com/pipermail/time-nuts/attachments/20141127/52691c61/attachment-0002.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lllaaa-2.gif
Type: image/gif
Size: 54180 bytes
Desc: not available
URL: <http://www.febo.com/pipermail/time-nuts/attachments/20141127/52691c61/attachment-0003.gif>


More information about the time-nuts mailing list