¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Frequency calibration of the tinySA against a GPS reference clock #tinysa


 

The xco's in the SI4432 modules are not very well calibrated and also rather temperature sensitive.
But how to calibrate the tinySA so measured frequency are correct and the signal generator is not way off?

It all starts with a GPS locked reference clock.
A simple solution is the NEO-7M module you can find on eBay below 10$. Using the U-Center PC SW this module can be set to output a GPS locked 10MHz.
As the module loses the satellites when outputting above 1kHz I'm using it with an external GPS antenna, 1 meter away from the electric noise.
Using the 10MHz output of the NEO-7M I calibrated a 8 digit frequency counter that can be found on eBay for around 10$.
This counter has a txco, has very little warmup time and is extremely stable. The only concern with the counter is the required input power.
For improved readability I added a transparent dark red plastic sheet in front of the 8 digits.



Now the calibrated frequency counter can be used to measure frequency of of the tinySA when the tinySA is set to signal generator mode
Setup is simple and the tinySA in signal generator mode has no problem with driving the frequency counter



As you can see the 10Mhz output frequency is way of (9998470Hz) and the changing of the frequency with the warming up of the SI4432 modules is very visible.
As there are two SI4432 with independent oscillators you need to do two frequency measurements well apart to calculate the two frequency correction factors. I chose F1=1MHz and F2=100MHz,
the measured frequencies are input to a small spreadsheet (B3 and C3) doing the calculation.



The used formulas are shown in A6 till A9. The values in the output fields B8 and B9 are to be entered in the "LO correction" fields the settings panel of SA.exe as can be seen in the last picture.



After entering the correction values the output frequencies are almost spot on.
Due to the limited number of bits setting the PLL values the minimum frequency step size of the SI4432 is 156Hz so there can always be an error of some 100Hz.
--
HBTE Files section:?/g/HBTE/files
Erik, PD0EK


 

Interesting, good to know how accurate the Si4432 is, and how to correct it.

Any error in the frequency of an Si4432 will be due to the 30mhz crystal reference oscillator.
The ideal would be to generate a GPS disciplined 30mhz reference that we feed the Si4432.
Fortunately, 30mhz is the third overtone of the 10mhz commonly available from a GPS module:
? ??

Jerry, KE7ER


 

Cheaper alternative, since it does not require any additional hardware, would be to feed the output (simple wire as antenna would probably be sufficient)
to a receiver 1KHz up or down from some on air frequency standard. I often use this with DDS and Si5351 modules since I do not have a frequency meter.
The frequency difference is measured with software like baudline.?

When all the necessary bits and pieces arrive I planed on using the Si5351 module to feed the clock to the 4432. Adjusting the frequency of the clock
should give spot on output. 5351 can also be fed from a 10MHz reference for stability.

If a remember correctly the 4432 datasheet listed multiple ways of adjusting the frequency so maybe that is something worth looking into?


On Fri, 10 Jan 2020 at 13:54, <erik@...> wrote:
The xco's in the SI4432 modules are not very well calibrated and also rather temperature sensitive.
But how to calibrate the tinySA so measured frequency are correct and the signal generator is not way off?

It all starts with a GPS locked reference clock.
A simple solution is the NEO-7M module you can find on eBay below 10$. Using the U-Center PC SW this module can be set to output a GPS locked 10MHz.
As the module loses the satellites when outputting above 1kHz I'm using it with an external GPS antenna, 1 meter away from the electric noise.
Using the 10MHz output of the NEO-7M I calibrated a 8 digit frequency counter that can be found on eBay for around 10$.
This counter has a txco, has very little warmup time and is extremely stable. The only concern with the counter is the required input power.
For improved readability I added a transparent dark red plastic sheet in front of the 8 digits.


 

I doubt the MMIC of the circuit used by w1vd is required here,
the Si4432 already has a high gain amp to make the 30mhz crystal oscillate.
So just a couple diodes plus some caps and coils, here's a more detailed description
of the frequency tripler:? ??
The description was quite useful to me, wasn't obvious how?that thing worked.

Alternately, G0UPL sells a couple different si5351 kits that can be GPS disciplined:
? ??
? ??
and a GPS:
? ??

The VFO in the first link includes a display and rotary encoder.
The second is cheaper, apparently configured by switches and/or a serial port.
Either can create very accurate quadrature clocks across all of HF:??/g/qrptech/message/326
Could be useful for many other projects as well.
I don't believe you have to use his GPS.

Jerry, KE7ER


On Fri, Jan 10, 2020 at 08:36 AM, Jerry Gaffke wrote:
Interesting, good to know how accurate the Si4432 is, and how to correct it.

Any error in the frequency of an Si4432 will be due to the 30mhz crystal reference oscillator.
The ideal would be to generate a GPS disciplined 30mhz reference that we feed the Si4432.
Fortunately, 30mhz is the third overtone of the 10mhz commonly available from a GPS module:
? ??

Jerry, KE7ER


 

The NEO-7M can output a GPS locked 30MHz.

--
HBTE Files section:?/g/HBTE/files
Erik, PD0EK


 

It's amazing what's out there in cheap easy to use prototyping modules these days!

Jerry


On Fri, Jan 10, 2020 at 01:01 PM, <erik@...> wrote:
The NEO-7M can output a GPS locked 30MHz.


 

Datasheet states:
"Timepulse Configurable 0.25 Hz to 10 MHz"
So I guess that is an undocumented feature?

Do you know if the same is true for the 8M?
I found some fairly cheap M8N modules so thinking of ordering some.

On Fri, 10 Jan 2020 at 22:01, <erik@...> wrote:
The NEO-7M can output a GPS locked 30MHz.



 

The upper frequency is at least 10MHz. Above that it could work and there could be jitter. A trippler seems safer.
--
HBTE Files section:?/g/HBTE/files
Erik, PD0EK


 

Hi there,
???? I made a frequency reference using a NEO-7M controlled by a NANO. It was esssentially the design by Louis Skully, and members might find it useful to refer to .
??? I did make some small modifications to both hardware and software to suit my requirements. In particular I used the usual Philips interface circuit to provide the 5V/3.3V interface (the module needs 3.3 volt logic).
??? I also changed the software to have the NEO-7M output 1Hz when not locked. A front panel LED then flashes at that rate as a warning. When locked presumably flashes at the output frequency, but my eyes can't quite see that!
??? I doubt the reported 30MHz output but I don't have the data to hand.? Mine goes up to 12 MHz.
??? It is worth noting that the module only produces a "nice" output at divisions of it's internal reference (48MHz). At any other The output is erratic. A frequency counter (which only counts edges) will show the correct frequency (e.g 10MHz) but a spectrum analyser will show the truth, and an oscilloscope will exhibit multiply triggering.
???? So, depending upon how you use it the results might not be quite what you expect.

Tony (G3PTD)


 

It's funny that the topic is going to GPS..?? I haven't gotten to my tinySA yet because I have been finishing up my last project.
I built a GPS corrected VFO basically from a QEX article.
I am using a cheap $3.50USD NEO-6 and Arduino nano, to control an Si5351 using the 1PPS, count averaged over 40seconds.
Works great, I was able to finally calibrate my old HP counter.? Can generate any freq the 5351 can put out, jitter free.
The main purpose of this project was to get an accurate cheap shack UTC clock though.
73,
Gary
WB6OGD

?


 

Wow, a dirty divide like that to get a 10mhz reference is really nasty!
I had come to expect 10mhz as pretty much standard, and expected it to be clean.
It's possible everything would just work with a dirty 10mhz*3, but I'd instead go with 6mhz*5.
Hopefully the NEO-7M can figure out how to do a clean divide-by-8.

Since we are starting out with a 3v pk-pk square wave from the NEO-7M,?
not obvious to me we need more than L2,C2 and L3,C3 from the Wenzel circuit,
driven through a series combination of 330 ohms and 0.1uF (limits driver current to 4ma).
L2,C2 and L3,C3 are both tuned to 30mhz, so might be the same as described by w1vd.

? ??? ? ? ??

Jerry, KE7ER
?

On Sat, Jan 11, 2020 at 04:11 AM, Tony Jaques wrote:
It is worth noting that the module only produces a "nice" output at divisions of it's internal reference (48MHz). At any other The output is erratic. A frequency counter (which only counts edges) will show the correct frequency (e.g 10MHz) but a spectrum analyser will show the truth, and an oscilloscope will exhibit multiply triggering.