¿ªÔÆÌåÓý

Calibrated now no receive.. Ubitx V6


 

After several attempts at calibrating and was close I did one last one and now have no receive. Only tried for 5 hours....
Also when I hook the unit up to the computer it doesn't show up. Have tried 3 different cables.

I see there is a reset option but I have not backed it up and reading online indicates a backup is necessary as is the computer interface. Is this still valid with Version 6 or can I bash on and reset it to factory without a backup/computer/





 

If you're using my software, there is no computer backup feature, and you can reset all. That said, I would recommend you note the current values for your own reference.

For calibrating, have you tried using some "known good for others" values? I would expect those to get you close. My v6 is set to 138850Hz for the LocalOsc cal, and 11055300Hz for the BFO. You might see if those numbers get you close enough to hear again.


Reed


 

Reed N

Thank you very much for the push in the right direction. Your baseline settings (brilliant idea btw) put me right on track.
The BFO was spot on and I had to adjust the Locosc from your setting of 110553300 to 178000000. Quite a jump but seems to be working.

Any thoughts on that jump.
Baseline settings seem top be the way to go. :-)


 

I'm glad to hear you're up and running again! I'm a little confused by the "Locosc from your setting of 110553300" statement, since that number looks more like a BFO calibration number than a local oscillator, but it doesn't matter too much as long as you're on frequency now.

My cal:
Local oscillator: 138,850
BFO: 11,055,300

Your cal (as written):
Local oscillator: 178,000,000
BFO: 11,055,300

A brief explanation:
The local oscillator calibration corrects for any error in your specific frequency generator chip and it's crystal. It determines if your system frequencies match the display frequencies.
The BFO frequency calibration it's specific to your radio's BFO crystal filter, and ensures that the right side band signal gets through the filter, and is passed to the audio stages.

With that in mind, the difference in our values can be explained by us having similarly tuned BFO filters, but your radio having a larger discrepancy between actual frequency generation and expected frequency generation. Based on your local oscillator cal value, it seems like your local oscillator reference may be running closer to 30MHz than the 25MHz the code expects. Nothing wrong with that if it's true.


Reed


 

There's a PLL inside the Si5351 that locks the nominally 875mhz VCO to be exactly 35 times?
the 25mhz reference oscillator frequency.
The 25mhz reference is usually off by 100khz or more, we must somehow store the actual
VCO frequency so that we can later calculate accurate divider values when generating
CLK0, CLK1 and CLK2 at the required output frequencies from the VCO.

A cal value of 178000000 Hz means the the crystal is at (875000000+178000000)/35 = 30085714 Hz
as Reed suggests.? I sincerely doubt that is what is happening.
I see no reference to "Locosc" in Reeds code or in the forum.

I'm guessing jaytee1 added a few zeros to make the "cal" value look more like the other calibration values.
A "cal" value of 178000 Hz into Reed's code makes good sense,
Note that SI5351BX_XTAL is a constant of 25000000, and SI5351BX_MSA is a constant of 35.

void si5351_set_calibration(int32_t cal){
? ? si5351bx_vcoa = (SI5351BX_XTAL * SI5351BX_MSA) + cal; // apply the calibration correction factor
? ? si5351bx_setfreq(0, globalSettings.usbCarrierFreq);
}

Not obvious to me why the final line for setting CLK0 is there:
? ?? si5351bx_setfreq(0, globalSettings.usbCarrierFreq);
All three clocks should be updated whenever the cal value is changed.
I tend to do this explicitly where the call to si5351_set_calibration() is made,
but putting all three calls under si5351bx_setfreq() is not a bad idea.
Updating only one clock there IS a bad idea, and suggests to me why
so many are still having to make multiple passes when calibrating their uBitx.

If a cal of 178000 puts the radio on frequency, that means the VCO inside the si5351 is actually operating
at 875000000+178000 = 875178000 Hz, and so too high by? 1000000*178000/875000000 = 203ppm
Which might be slightly alarming, since low end crystals from quality manufacturers?
generally spec a worst case deviance of 100ppm.
However, they also spec a fairly large load capacitance of around 20pf, whereas Reed's code
is setting?SI5351BX_XTALPF to 8pf (max of 10pf)?and the traces to the crystal are quite short and won't?
make up the difference.? So the Raduino's Si5351 VCO is usually more than 100khz too high,
well above the nominal 875mhz.

Here's an old thread where the loading capacitance for parallel resonance of the 25mhz crystal
is discussed.? This particular post mentions a minor error in my original si5351bx routines,
specifically that register 183 (which has the SI5351BX_XTALPF parameter in it) should have
the LSB's set to 0x12:? ??/g/BITX20/message/35275
I'd guess those undocumented LSB's adjust the loop response of the PLL for minimum jitter
in the VCO, but nobody has ever noticed much difference when the fix was applied.

From post??/g/BITX20/message/35324
#? For a given crystal, there is a range of load capacitance for which it will oscillate, beyond that it does not.
#? If curious, here's some resources for further reading:
#? ? ??
#? ? ??
#? ? ? EMRFD

My original si5351bx routines assumed that we would simply store the VCO frequency in Hz,
so nominally a cal value of 875000000, which fits in 32 bits.? I find this business of storing cal
as the offset from 875mhz to be a minor obfuscation that gives no advantage, still doesn't fit
in 16bits.? Not a big deal, probably best to leave it as it is now.? Mentioned here only to
demystify the code a wee bit.? Here's the original routines:
/g/BITX20/message/28977

Jerry, KE7ER



On Wed, Nov 11, 2020 at 10:54 PM, Reed N wrote:
I'm glad to hear you're up and running again! I'm a little confused by the "Locosc from your setting of 110553300" statement, since that number looks more like a BFO calibration number than a local oscillator, but it doesn't matter too much as long as you're on frequency now.

My cal:
Local oscillator: 138,850
BFO: 11,055,300

Your cal (as written):
Local oscillator: 178,000,000
BFO: 11,055,300

A brief explanation:
The local oscillator calibration corrects for any error in your specific frequency generator chip and it's crystal. It determines if your system frequencies match the display frequencies.
The BFO frequency calibration it's specific to your radio's BFO crystal filter, and ensures that the right side band signal gets through the filter, and is passed to the audio stages.

With that in mind, the difference in our values can be explained by us having similarly tuned BFO filters, but your radio having a larger discrepancy between actual frequency generation and expected frequency generation. Based on your local oscillator cal value, it seems like your local oscillator reference may be running closer to 30MHz than the 25MHz the code expects. Nothing wrong with that if it's true.


Reed


 

Regarding calibration on the uBItx, a few recent posts:

/g/BITX20/message/83191
/g/BITX20/message/83197
/g/BITX20/message/83225

In that last reference, Vic's method of matching a known audio tone
probably is more accurate than trying to hear a beat down near 0 hz.
Assuming you can exactly match the audio tones, the resulting calibration
should be exact as well.? The math works.

Jerry, KE7ER



On Thu, Nov 12, 2020 at 08:35 AM, Jerry Gaffke wrote:

Not obvious to me why the final line for setting CLK0 is there:
? ?? si5351bx_setfreq(0, globalSettings.usbCarrierFreq);
All three clocks should be updated whenever the cal value is changed.
I tend to do this explicitly where the call to si5351_set_calibration() is made,
but putting all three calls under si5351bx_setfreq() is not a bad idea.
Updating only one clock there IS a bad idea, and suggests to me why
so many are still having to make multiple passes when calibrating their uBitx.


 

Jerry,

Great info and thanks for the input. In hindsight I added the zeros to match the info kindly provided by Reed N. I actually just turned on the Ubitx V6 and the additional zeros were not there...Had to check. It was a blurry day trying to get it calculated after hours of trying and a good learning curve albeit frustrating.

Jaytee