¿ªÔÆÌåÓý

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

Tuning the frequency of the tinySA calibration output #tinysa


 

While it is possible to tune the analyzer and signal generator frequency using the two LO offset fields in tinySA.exe it would be nice if we could tune the frequency of the calibration output from GPIO2 to an exact frequency.
As this calibration output is a direct divide from the crystal frequency this implies tuning the crystal oscillator.
When you are using a txco this could be difficult but if you use a simple 30MHz crystal, like most SI4432 modules do, there is an on-chip option to tune the frequency of the crystal.
Through register 0x09 of the SI4432 you can select capacitance from a capacitor bank??parallel?to the crystal?to change the frequency of the crystal oscillator.
In practice you need to take a number of steps.
First connect a calibrated frequency counter to the tinySA calibration output (or zero beat to a known reference).
Select the LO SI4432 using the V1 command in the Arduino monitor and then set the value of the 0x09 register anywhere between 0x00 and 0x7f to tune the crystal
I used the command "X9 64" to set register 0x09 to value 0x64 to get the crystal within 10Hz of the target frequency of 10MHz.
Once this is done you set the tinySA in signal generator mode at 10MHz (be sure not to reset the tinySA when doing so as the LO SI4432 should stay tuned with the right capacitors) and connect the frequency counter to the tinySA input/output and measure the output frequency.
As this output is created by mixing to high frequencies (433MHz and 434MHz) there could be a big offset. Make sure both LO frequency correction fields in tinySA.exe are set to zero.
Now stop tinySA.exe and go back to the Arduino monitor, select the RX SI4432 with the "V0" command the tune the capacitors through register 0x09 till the output frequency is 10MHz.
I had to use again the command "X9 64" so I assume both my SI4432 modules use crystals from the same badge.
You can now switch back to spectrum analyzer mode and measure the calibration output.
The level should be -30dBm and the? frequency should be spot on.
Last step is to change the tinySA.ino to include setting both 0x09 registers to the tuned values.
Keep in mind this tuning is temperature dependent so give the SI4432 modules some time to stabilize.
?
--
HBTE Files section:?/g/HBTE/files
Erik, PD0EK


 

¿ªÔÆÌåÓý

You can also do it externally with a varactor diode¡­ but the onboard seems simpler at this point.? Whats then really needed is a good separate/calibrated frequency counter, which could be integral to the project very cheaply.? You probably want this anyway as a standard marker.

?

?

Dr. William J. Schmidt - K9HZ J68HZ 8P6HK ZF2HZ PJ4/K9HZ VP5/K9HZ PJ2/K9HZ

?

Owner - Operator

Big Signal Ranch ¨C K9ZC

Staunton, Illinois

?

Owner ¨C Operator

Villa Grand Piton ¨C J68HZ

Soufriere, St. Lucia W.I.

Rent it:

Like us on Facebook!

?

Moderator ¨C North American QRO Group at Groups.IO.

?

email:? bill@...

?

?

From: [email protected] [mailto:[email protected]] On Behalf Of erik@...
Sent: Sunday, January 19, 2020 8:29 AM
To: [email protected]
Subject: [HBTE] Tuning the frequency of the tinySA calibration output #tinysa

?

While it is possible to tune the analyzer and signal generator frequency using the two LO offset fields in tinySA.exe it would be nice if we could tune the frequency of the calibration output from GPIO2 to an exact frequency.
As this calibration output is a direct divide from the crystal frequency this implies tuning the crystal oscillator.
When you are using a txco this could be difficult but if you use a simple 30MHz crystal, like most SI4432 modules do, there is an on-chip option to tune the frequency of the crystal.
Through register 0x09 of the SI4432 you can select capacitance from a capacitor bank??parallel?to the crystal?to change the frequency of the crystal oscillator.
In practice you need to take a number of steps.
First connect a calibrated frequency counter to the tinySA calibration output (or zero beat to a known reference).
Select the LO SI4432 using the V1 command in the Arduino monitor and then set the value of the 0x09 register anywhere between 0x00 and 0x7f to tune the crystal
I used the command "X9 64" to set register 0x09 to value 0x64 to get the crystal within 10Hz of the target frequency of 10MHz.
Once this is done you set the tinySA in signal generator mode at 10MHz (be sure not to reset the tinySA when doing so as the LO SI4432 should stay tuned with the right capacitors) and connect the frequency counter to the tinySA input/output and measure the output frequency.
As this output is created by mixing to high frequencies (433MHz and 434MHz) there could be a big offset. Make sure both LO frequency correction fields in tinySA.exe are set to zero.
Now stop tinySA.exe and go back to the Arduino monitor, select the RX SI4432 with the "V0" command the tune the capacitors through register 0x09 till the output frequency is 10MHz.
I had to use again the command "X9 64" so I assume both my SI4432 modules use crystals from the same badge.
You can now switch back to spectrum analyzer mode and measure the calibration output.
The level should be -30dBm and the? frequency should be spot on.
Last step is to change the tinySA.ino to include setting both 0x09 registers to the tuned values.
Keep in mind this tuning is temperature dependent so give the SI4432 modules some time to stabilize.
?
--
HBTE Files section:?/g/HBTE/files
Erik, PD0EK


 

It's a hobby, so if it's fun I suppose that's fine.
But I'd rather just drive the 30mhz reference from an accurate RF source when needed.
Could leave the crystal in place, just have an SMA in parallel with it.

I've got a NEO-7M ordered, if only to see how clean the output of an Si5351 is?
when driven from the dirty 24mhz output of the NEO-7M.
My guess is pretty clean, and that this combination will be useful all by itself on the bench.
If the 24mhz doesn't work well, I could discipline in firmware using the 1pps from the NEO-7M.
And if the GPS system proves too flaky, maybe I'll blow my beer budget on one of these:?
? ??

Of course, I'll need to build a spectrum analyzer up before I'll know how clean.
?
I have a whole pile of toys on order now, it's become very cheap to play with all this stuff.
But first I need to pass a final inspection on this house before the county gives up on me.
Yet another hobby, as straw bale and mud is not a quick way to build a house.

Jerry, KE7ER? ? Flora OR


On Sun, Jan 19, 2020 at 06:29 AM, <erik@...> wrote:
Through register 0x09 of the SI4432 you can select capacitance from a capacitor bank??parallel?to the crystal?to change the frequency of the crystal oscillator.
In practice you need to take a number of steps.


 

On Sun, Jan 19, 2020 at 07:17 AM, K9HZ wrote:
Whats then really needed is a good separate/calibrated frequency counter,
That is what I did as first step.
/g/HBTE/message/691
Although the NEO-7M may have some jitter when doing 10MHz the frequency counter does not mind and with its TXCO it is VERY stable and VERY cheap
?
--
HBTE Files section:?/g/HBTE/files
Erik, PD0EK