etherkit / Si5351Arduino

Library for the Si5351 clock generator IC in the Arduino environment
GNU General Public License v3.0
229 stars 94 forks source link

VCXO Calibration Issue #94

Open M0XFX opened 9 months ago

M0XFX commented 9 months ago

Hi I am using the SI5153B to modulate narrow FM which it is working quite well.

I have used the frequency correction procedure and it works well across a wide range of frequencies. However; the calibration goes out of whack when I invoke the set_vcxo() function.

I carried out the calibration using PLLB and I cant figure out why this is happening. Any Ideas?

define PLLB_FREQ 87600000000ULL

si5351.init(SI5351_CRYSTAL_LOAD_8PF, 0, 0);

si5351.set_vcxo(PLLB_FREQ, 40); // as soon as I add this line it goes slightly off frequency and gets worse through the spectrum. I have set the ppm min to 0 in the header file and when I set the pull range to 0 when calling the function it corrects the frequency offset issue but then obviously I can't modulate FM.

//si5351.si5351_write(SI5351_VXCO_PARAMETERS_LOW, 1000); // Not sure what this is for

si5351.set_ms_source(SI5351_CLK2, SI5351_PLLB);

si5351.set_correction(-14468, SI5351_PLL_INPUT_XO);

Not sure if this is a bug or just something I am missing. Thank you in advance for your help

BTW im using the latest library in github and there is no voltage a the VC pin of the IC.

Regards John M0XFX