开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

Si5351mcu library update


Pavel Milanes Costa
 

开云体育

Hi OM.

I have re-worked on my lib for the Si5351, I have a few new features in there, if you like to peek you can check the code in github

Comments, critics, error spotting are welcomed.

Features

This are so far the implemented features (Any particular wish? use the Issues tab for that):

  • Custom XTAL passing on init (Default is 27.000 MHz (See Si.init() )
  • You can pass a correction to the xtal while running (See Si.correction() )
  • You have a fast way to power off all outputs of the Chip at once. (See Si.off() )
  • You can enable/disable any output at any time (See Si.enable(clk) and Si.disable(clk) )
  • By default all outputs are off after the Si.init() procedure. You has to enable them by hand.
  • You can only have 2 of the 3 outputs running at any moment (See "Two of three" section below)
  • Power control on each output independently (See Si.setPower(clk, level) on the lib header)
  • Initial power defaults to the lowest level (2mA) for all outputs.
  • You don't need to include and configure the Wire (I2C) library, this lib do that for you already.
  • Frequency limits are not hard coded on the lib, so you can stress your hardware to it's particular limit (You can move usually from ~3kHz to ~225 MHz, far away from the 8kHz to 160 MHz limits from the datasheet)
  • NEW: You has a way to verify the status of a particular clock (Enabled/Disabled by the Si.clkOn[clk] var)
  • NEW: From v0.5 and beyond we saved more than 1 kbyte of your precious firmware space due to the use of all integer math now (Worst induced error is below +/- 2 Hz)
  • NEW: Overclock, you can move the limits upward up to ~250MHz (see the "OVERCLOCK" section below)
  • NEW: Improved the click noise algorithm to get even more click noise reduction (see Click noise free section below)
  • NEW: Fast frequency changes as part of the improved click noise algorithm (see Click noise free section below)

73 Pavel CO7WT