The Si5351 is an extremely useful device, containing multiple clock generators with many versatile programming options that go well beyond its original purpose of providing a clock for digital circuitry. It has in particular found a spot in RF projects, where it provides a cheap and effective stand-in for a variable frequency oscillator in everything from receivers to VNAs. It’s fair to say that programming the Si5351 isn’t the easiest of tasks though, and joining the various attempts to make this simpler is [MR-DOS], who has created an Si5351 library for the STM32 range of ARM Cortex M processors. Fortunately for those afflicted by the semiconductor shortage there’s the advice that porting it to other architectures should only require the relatively manageable task of modifying the i2c function for the new hardware.
Instead of being a full abstraction layer for frequency generation, this library provides functions to give access to the nuts-and-bolts of the chip such as PLL dividers. Thus there’s a need to understand the workings of a PLL and calculate its parameters, while in return much more flexibility over the chip’s operation can be had. We like this approach even though it requires a little more work from the developer.
Over the years this device has attracted a variety of libraries, this isn’t the first we’ve featured.
Header image: Adafruit Industries (CC BY-NC-SA 2.0)
Library looks very simple. Similar usage to built in peripherals on ST libraries.
The i2c portion is not as abstracted as the README or this writeup would have you believe but it shouldn’t be hard to break that out to achieve more portability.
Not many forks or favorites; anyone here test this?
Thankfully, the Si5351 doesn’t seem to have any quirks in its I2C implementation, so a simple register-read and register-write should be sufficient.
On 26 July 2021 Silicon Laboratories (SiLabs) completed the sale of its Infrastructure & Automotive business to Skyworks Solutions Inc. for $2.75 billion in cash.[1] This sale includes SiLab’s unique RF and timing product portfolios which includes the venerable Si5351 programmable clock, and the unmatched Si570 and Si571 ultra-low jitter programmable clocks (the Si571 can be externally referenced).
If you want to get an Si5351 breakout board to play with, the usual sellers still have some in stock.[2][3] But beware, like almost everything else these days the Si5351 chips are getting scarce, which means they are going to get much more expensive if and when you can find them.[4]
* References:
1. Skyworks Completes Acquisition of the Infrastructure & Automotive Business of Silicon Labs (SiLabs)
https://investors.skyworksinc.com/news-releases/news-release-details/skyworks-completes-acquisition-infrastructure-automotive
IRVINE, Calif.–(BUSINESS WIRE)–Jul. 26, 2021– Skyworks Solutions, Inc. (Nasdaq: SWKS), an innovator of high-performance analog semiconductors connecting people, places and things, today announced that it has completed its acquisition of the Infrastructure & Automotive business of Silicon Laboratories Inc. (Nasdaq: SLAB) in an all-cash asset transaction valued at $2.75 billion.
2. Adafruit Si5351A Clock Generator Breakout Board – 8KHz to 160MHz $7.95
https://www.adafruit.com/product/2045
3. Si5351 on Amazon
https://www.amazon.com/s?k=Si5351
4. Si5351 Low Distributor Stock – Findchips
https://www.findchips.com/search/Si5351?manufacturer=Skyworks%20Solutions%20Inc
It’s not clear whether the supply problem with the Si5351 is that the company hasn’t been making any chips, or whether demand is high and they’re all getting bought by high volume users. The ownership switch shouldn’t be the problem; Skyworks appears to plan to continue production of the Si5351, as well as the other clock generation products they now own such as the Si570.
There hasn’t been any distributor stock of the chips for quite a while, but Adafruit doesn’t seem to have had any problems providing their breakout boards so they may have an existing long term contract for the chips. But I have seen reports suggesting that some recent Adafruit boards are FAR off frequency, which suggests that the company may be having supply issues with 25 MHz crystals. Those boards should still be usable if you make appropriate adjustments in code.
There is now a clone from China, the MS5351M. It appears to be a drop-in replacement for the Si5351A, at least in ham radio applications. (The Chinese company only offers the version in an MSOP10 package with three outputs; it does not offer any of the other packages, nor any replacements for the Si5351B or Si5351C.) Its performance may even be a tad better; some have reported that it uses a bit more power. Hans Summers, the owner of QRP Labs, did a comparison test: https://www.qrp-labs.com/synth/ms5351m.html
There are also still plenty of listings on AliExpress for Adafruit clone boards, mostly with purple PCBs. Prices have risen since a couple of years ago but they’re still under half the price of Adafruit boards. (The Adafruit design is open source hardware so nothing nefarious is happening. The purple boards remove the Adafruit branding as they should but the circuit layout is identical.) I do not know whether those are still using actual Si5351A chips or the MS5351M; the listings say Si5351A but AliExpress listings are not always known for accuracy.
@Shirley Marqez said: “It’s not clear whether the supply problem with the Si5351 is that the company hasn’t been making any chips, or whether demand is high and they’re all getting bought by high volume users.”
Another real possibility is the cash-rich Chinese Communist Party (CCP) is paying Scalpers to swoop-in and buy-up already thinly stretched chip stocks, then resell the parts at a large margin or just bury them to cause more harm. Most Distributors that are out of stock will post how many parts are on order and exactly when the parts are expected to arrive. This information feeds the Scalpers, they know just how many parts to pre-order and when they will ship, thereby allowing them to keep the supply-chain crippled. This nefarious practice has forced some Distributors to put order-quotas in place, but the quotas are so far proving easy to bypass.
@Shirly Marqez said: “But I have seen reports suggesting that some recent Adafruit (Si5351) boards are FAR off frequency, which suggests that the company may be having supply issues with 25 MHz crystals. Those boards should still be usable if you make appropriate adjustments in code.”
Very interesting. How “FAR off frequency” are the Adafruit breakout boards reported to be?
@Shirley Marqez said: “There is now a clone from China, the MS5351M. It appears to be a drop-in replacement for the Si5351A, at least in ham radio applications.”
I have heard of parts labeled Si5351 out of China that were obvious fake but fully-functional SiLabs copies. They were all Si5351A clones, no B or C variants. Thanks to your post info Shirley, I see the Chinese Si5351 clones are now available in a fairly easy to handle MSOP-10 package with unique MS5351M marks. LCSC is carrying them online:
* Hangzhou Ruimeng Tech MS5351M @ LCSC, Qty.-1 $1.13 USD ea., Qty.-100 $0.70 ea.
https://lcsc.com/product-detail/Clock-Generators-Frequency-Synthesizers-PLL_Hangzhou-Ruimeng-Tech-MS5351M_C1509083.html
* Hangzhou Ruimeng Tech MS5351M Datasheet via LCSC, Chinese only:
https://datasheet.lcsc.com/lcsc/2012241239_Hangzhou-Ruimeng-Tech-MS5351M_C1509083.pdf
* This seems to be the Hangzhou Ruimeng Tech MS5351M home page:
https://www.relmon.com/en/index.php/list/detail/347.html
Thanks for your interesting post…
@scharkalvin – adafruit have only purchased new si5351 chips from official distributors such as arrow, mouser, and digi-key.
@Shirley Marquez – adafruit have only purchased new si5351 chips from official distributors such as arrow, mouser, and Digi-Key, you are saying “”But I have seen reports suggesting that some recent Adafruit boards are FAR off frequency” – please email me pt at adafruit dot com with detailed feedback on this, and/or provide a source for that statement – thank you.
Si5351 Library for avr-gcc https://github.com/NT7S/Si5351
At first glance that NT7S library looks similar to the Etherkit library but with less features:
https://github.com/etherkit/Si5351Arduino
Etherkit is run by NT7S. Further development went into the Arduino version of the code rather than the one specifically for AVR-GCC; it supports additional features of the Si5351A and can be compiled for other architectures. The older one might be informative if you need stripped-down code for a system without much memory available.
I had a short peek at the datasheet of this thing because I was curious about it’s complexity.
It’s datasheet does not even list it’s registers.
https://static.chipdip.ru/lib/005/DOC003005151.pdf
Instead it mentions an application note and some “Clockbuilder” program.
The application note lists over 170 registers.
https://www.skyworksinc.com/-/media/Skyworks/SL/documents/public/application-notes/AN619.pdf
So needing a bit of extra help with understandig this thing is … understandable.
maybe this will help you!https://pdf.chimicron.com/SI5351A-B02449-GTR-481228.pdf