Black Lives Matter - Action and Equality. ... Adafruit is open and shipping.

adafruit si5351 breakout board
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

adafruit si5351 breakout board

by johnpg on Sat Nov 30, 2019 4:38 pm

I am using the adafruit si5351 breakout board. I am trying to change the frequencies of any single clock output (say CLK0) with a seamless (glitch-free) transfer as the manufacturer states. I could live with a non-glitch-free duration of 10 microseconds. However, all frequency transfers result in a 1.5 msec "off" period followed by a 2.5 msec frequency of 8.13 MHz before issuing the actual desired frequency. This total transfer time of approximately 3.8 msec duration of non-desired output is too large.

I could solve the problem by setting CLK0 to a desired frequency (using say PLL_A), then setting CLK1 or CLK2 to the next desired frequency (using say PLL_B), then electronically selecting the clock of interest where the transition time is in the nsec range. However, changing the frequency of CLK1 or CLK2 using PLL_B, affects the output of the unchanged CLK0 (using PLL_A). Looking into the adafruit library (#include <Adafruit_SI5351.h>), I found that BOTH PLLs are reset on the change of any clock. This messes up even the unchanged clock output.

Does anyone know of an adafruit si5351 library version that only resets the PLL whose parameters are being modified?

Posts: 1
Joined: Sat Nov 30, 2019 3:29 pm

Please be positive and constructive with your questions and comments.