Open sullivanzheng opened 2 years ago
thanks, please submit a PR, we do not own a MS5351M!
QRP lab did research on MS5351 and concluded it is on par with SI5351A. You can get it on LCSC.com. Good replacement of Si5351A in terms of price/value and availability.
Sent from my iPhone
------------------ Original ------------------ From: ladyada @.> Date: Sun, May 15, 2022 10:09 PM To: adafruit/Adafruit_Si5351_Library @.> Cc: sullivanzheng @.>, Author @.> Subject: Re: [adafruit/Adafruit_Si5351_Library] Current library can't setoutput frequency above 150Mhz, 1 line code fix can set DIVBY4 bits correctlyto solve this issue (Issue #18)
OK Si5351A is currently available - https://www.findchips.com/search/Si5351A
please submit any PRs for fixes or changes, thanks!
https://github.com/adafruit/Adafruit_Si5351_Library/blob/d849003ae9de089ca6883fb71f479c16d2836e83/Adafruit_SI5351.cpp#L477
This library doesn't set DIVBY4 bits of MultiSynth correctly so that any frequency above 150Mhz (i.e. PLL >600Mhz, divided by 4) is not achievable.
SI5351 and its substitute MS5351 has DIVn_DIVBY4 bits in register 44, 52, 60 (for SI5351A with 3 outputs) at bit[3:2]. Need to set these bits to "11" if MultiSynth need to divide PLL frequency by 4.
Suggested bug fix: Simply modify this line to:
sendBuffer[3] = ((P1 & 0x30000) >> 16) | lastRdivValue[output] | (div==4?0B1100:0B0000);
to correct this issue. Have tested this on both SI5351A and MS5351M ICs.I can easily get (without overclocking) 225Mhz output after this bug fixed. And 290Mhz after over clocking PLL to 1.16GHz with MS5351M chip. Of course, this may vary across individual chip.