Frequency adjustment of uBITX (Si5351)
How to calibration for Frequency fine adjusting
How to calibration for Frequency fine adjusting
This document describes how to precisely adjust the frequency of the Si5351 module
Applies to all devices that use the Si5351 module, such as uBITX
I used a very old instrument to show the difference in frequency for verification of this post.
Advanced instruments are not required if there is a way to check the frequency. You only need a calculator.
Be sure to read the following two articles before calibrating uBITX.
http://www.hamskey.com/2018/05/how-to-calibration-ubitx.html
http://www.hamskey.com/2018/05/introducing-ubitxs-invalid-calibration.html
An example of calibration is performed using uBITX Manager
1.This document is for anyone who knows the frequency error of uBITX
There are many ways to figure out how wrong your uBITX frequency is
There are quite a few other ways to use the frequency counter, signal generator, oscillater the frequency with the VCO, use programs such as Wsjt-x, use different HF transceivers, WWV, already known popular beacon signal.
I will not discuss how to measure frequency error here
2.PLL Frequency
(also called VCO in uBITX source code, called PLLA in Si5351 Manual,
Exactly, PLL stands for Phase Locked Loop, For compatibility with the Si5351 manual and uBITX source code, I will call it PLLA here)
(https://www.silabs.com/documents/public/data-sheets/Si5351-B.pdf)
Clock generators such as the Si5351 have a PLLA or PLLB frequency (Referecnce frequency). For uBITX, if you have not made any modifications, it will be 850Mhz
In order to make your radio more precise than a commercial product, you must remember the PLL Frequency.
The PLL frequency is used to create the desired frequency.
3.About Calibration value
It is not a necessary this part to adjust the frequency of uBITX.
You can skip this part and read 4 only
uBITX used a 25Mhz crystal to operate the Si5351's PLLA at 875Mhz.
However, 875Mhz is not generated correctly due to X-tal error.
Let's take a simple example.
There are devices that generate frequencies.
The device manual states that the PLLA operates at 10000 Hz.
The programmer wrote a program to generate one clock per 1000Hz to create 10Hz.
ex)
PLLA (10000Hz) / Output (10Hz) = 1000 (div)
PLLA (10000Hz) / 1000 (div) = Output (10Hz)
The programmer thought the PLLA was operating at 10000Hz.
But what happens when the PLLA runs at 15000Hz?
If a PLLA running at 15000Hz generated 1Clock every 1000Hz, then perhaps 15Hz would have been generated.
ex)
PLLA (10000Hz) / Output (10Hz) = 1000 (div) (Programmer's predictions)
PLLA Real Freq (15000Hz) / 1000 (div) = Output (15Hz), error : 5Hz (Real)
So what do we do here?
There are two ways
The first way is to fix the PLLA.
The PLLA is modified to operate at 10000 Hz.
Second way.
But there is a little easier way.
The programmer is changing the predicted 10000Hz to 15000Hz.
Perhaps firmware then generates 1 clock every 1500hz to generate 10Hz.
The second method allows you to generate the correct frequency without modifying the hardware.
Do I have to program each of the devices by measuring the actual frequency of the PLLA on every device?
No. We can use EEProm
The difference between the frequency of the PLLA that the programmer thinks and the frequency at which the actual PLLA operates is put into the EEProm.
In the above example, the value stored in EEProm is 5000.
As the device boots, it gets the value in EEProm and adds it to the programmer's thought PLLA frequency.
ex)
5000 (from eeprom) + 10000 (Values from the manual) / 10Hz = 1500 (div)
PLLA Real Freq (15000Hz) / 1500 (div) = 10Hz
Final summary.
The firmware is written assuming that the PLLA operates at 10000hz.
Actually, the PLLA operates at 15000hz, The result is 15hz.
To do that, we put 5000 in the EEProm (Calibration value), 15hz -> 10hz
Important Points Increasing the Calibration value has lowered the frequency
4.How to adjust the frequency in uBITX
Describe any unmodified uBITX based on (use 25Mhz x-tal)
The PLLA frequency of uBITX is 875Mhz (875000000Hz)
As the calibration value increases, the output frequency of uBITX decreases.
Decreasing the calibration value increases the output frequency of uBITX.
What should you do if your uBITX is below 100Hz?
Yes. I need to increase the calibration value.
So how much should we increase it?
Here we must think of one more.
What frequency did you test?
If you test at 7Mhz and the actual frequency is below 100Hz, test at 14Mhz,
Perhaps the result is that the actual frequency will be transmitted below 200Hz.
That is, as the frequency to be tested increases, the error range will also increase.
The formula for obtaining Master Calibration from uBITX is shown below.
875000000 / Test Frequency * Error Hz => Calibration value
EX1 - for Si5351)
Current status :
Master calibration value : 0
Test Frequency : 14,001,000
Frequency Counter : 14,000,900
875000000 / 14001000 * (14,000,900 - 14,001,000) => -6250
EX2 - for uBITX (or SSB Transceiver))
Current status :
Master calibration value : 150000
VFO Frequency : 7,050,000
VFO Mode : USB
CW Tone : 1000
CW-Straight Key Send => : 7,051,000 Send
Frequency Counter : 7,051,650
875000000 / 7050000* (7051650 - 7051000) => 80674
Adjust calibration : 150000 + 80674 = 230674
(Before Calibration Value + Adjust Calibration value = new Calibration value)
5.Test
This is experiment with my uBITX, I removed the calibration value of my uBITX for the experiment.
Set Master Calibration value to 0 for test
CW transmission at 14.000.000 Mhz
(CW Tone : 1000 => Send 14.001.000 Mhz)
Measured frequency : 14003460
Error : 2460hz
Calibration value :
875000000 / 14001000 * (14003460- 14001000) => 153,739
PLLA / Test Freq * (Measured Freq - Send Freq) => Adjust value
Set Calibration value : Before Calibration Value + Adjust value (0 + 153739 = 153739)
Perfect calibrated
Ian KD8CEC
Thank you !
ReplyDeleteEnjoy Ham with uBITX :)
DeleteThanks for comment
Thank you for this post. It finally gave me the missing piece to get my unit calibrated. Tests now show that I am on frequency down to 1 hz. Perfect tones on WWV, tested with tone output on another rig and fed the Ubitx into an audio analyzer. got the WWV 1000 hz tone right at 1000 hz USB and LSB, checked it outputting cw from my other rig at 800hz. got it nailed down.
ReplyDeleteGreat!!!
DeleteI knew you would do it nicely. Because your uBITX is better than mine :)
I sometimes use my smartphone's audio spectrum to check the LSB, USB's tone.
Thank you for freedback.
Ian KD8CEC
I also have to thank you for this great post.
ReplyDeleteThis made my uBITX functional at last. After building it and playing around with the menu my alignement (Frequency and BFO) was off so much that using it was not possible. And I just could not reconstruct it.
I tried to do the calibration with the method described by Farhan - without success.
Your instruction gave me the way how to do it with my calibration equipment. And this little thing works like a charm now
Sascha, DL5SMB
hello Ian.
ReplyDeleteplease check my version calibration uBitx.
look here: https://groups.io/g/BITX20/topic/ubitx_version_4_first_attempt/22017282?p=Created,,,20,1,60,0::recentpostdate%2Fsticky,,,20,2,0,22017282&jump=1
#53423