Shop OBEX P1 Docs P2 Docs Learn Events
Propeller based oscillator noise test system measures within 1ppB every millise — Parallax Forums

Propeller based oscillator noise test system measures within 1ppB every millise

BeanBean Posts: 8,129
edited 2010-01-30 16:24 in Propeller 1
At my work·www.greenrayindustries.com we build ultra-high precision oscillators.
Mostly TCXOs (Temperature compensated xtal·oscillator)·and OCXOs (Oven controlled xtal oscillator).
Some of the OCXOs that we build will hold 10ppB from -40°C to +85°C.

We needed a system to test the noise of some of these oscillators. We needed to measure the frequency to within 1ppB every millisecond on a 20MHz oscillator.

There were plenty of high-end (read expensive) systems that would do it, but we wanted to design our own.

I have attached a block diagram of the system.

It starts with the 20MHz TCXO device to be tested. This 20MHz signal and a 19.999000MHz signal from a low-noise synthisizer are fed into a mixer.
The output from the mixer contains both the sum and difference of the two signals (39.999000MHz and 1000Hz).
This is fed into a low-pass filter so only the 1000Hz signal gets through.

The 1000Hz signal is fed into a schmitt trigger gate to make it a nice square-wave. This 1Khz square-wave is fed into the propeller pin P0.

An output from our in-house Rubidium atomic 10MHz standard is fed into the XIN pin of the propeller.

The propeller software uses the PLL8X setting so the propeller runs @ 80MHz.

The software times the duration of the 1KHz signal using the system counter (cnt).
From this count we can calculate the frequency of the 1Khz signal using the formula:
80MHz / count = Freq

A perfect 1KHz signal would get 80_000 counts so 80_000_000 / 80_000 = 1000.0000

If the signal is off by one count (let's say 79_999) then what is the frequency ?

80_000_000 /·79_999 = 1000.0125

So we are getting 0.0125Hz resolution every 1millisecond (the time to measure 1KHz).

At 20MHz 1 part per billion is 0.02 Hz, so we are able to measure to less than 1ppB of the 20MHz signal.

It's important to realize that the 1KHz is NOT a division of the 20MHz, it is an offset. So if the 20MHz signal varies by 1Hz, so does the 1Khz signal.

The counts are send to a PC to be logged for post processing, and also a graph is generated on a VGA monitor for real-time viewing.

We built and tested the prototype using the Propeller demo board. Everyone was very impressed with how well it worked.

I thought everyone would get a kick out of how the propeller can be used to replace some very expensive equipment.

Bean


I'm sorry I cannot post the code (it's in PropBASIC of course) it is property of my work.
·

attachment.php?attachmentid=67267

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Use BASIC on the Propeller with the speed of assembly language.

PropBASIC thread http://forums.parallax.com/showthread.php?p=867134

Post Edited (Bean (Hitt Consulting)) : 1/30/2010 2:28:56 AM GMT
1024 x 467 - 10K

Comments

Sign In or Register to comment.