Anyone have code for Si570 Synth chip

I recently purchased a few Silicon Labs Si570 Programmable Oscillators / Frequency Synthesizer ICs. There are a few old posts on this Forum for this chip, but was wondering if anyone had done any recent code snippets / apps, that they are willing to share, for using this IC. If there are none out there I will work thru the math and post the results. Thanks ahead of time.

Comments

  • Ozprop made a si5351 driver for the prop, perhaps that can help?
  • jmgjmg Posts: 13,522
    I did notice this post on SiLabs forums.. which may help too.
    https://www.silabs.com/community/timing/forum.topic.html/si570_does_not_compl-wBcL

    Apparently, the Si570 registers move about, depending on the ppm of the part. Most would not expect that :)

    A : 50 ppm temperature stability, 61.5 ppm total stability => Configuration Registers 7-12
    B : 20 ppm temperature stability, 31.5 ppm total stability => Configuration Registers 7-12
    C : 7 ppm temperature stability, 20 ppm total stability => Configuration Registers 13-18"
  • jmg wrote: »
    I did notice this post on SiLabs forums.. which may help too.
    https://www.silabs.com/community/timing/forum.topic.html/si570_does_not_compl-wBcL

    Apparently, the Si570 registers move about, depending on the ppm of the part. Most would not expect that :)

    A : 50 ppm temperature stability, 61.5 ppm total stability => Configuration Registers 7-12
    B : 20 ppm temperature stability, 31.5 ppm total stability => Configuration Registers 7-12
    C : 7 ppm temperature stability, 20 ppm total stability => Configuration Registers 13-18"
    Urgh! What a trap.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • jmgjmg Posts: 13,522
    Tubular wrote: »
    Ozprop made a si5351 driver for the prop, perhaps that can help?

    That code is here I think
    https://forums.parallax.com/discussion/163409/silabs-si5351-clock-generator-spin-driver

    They are broadly similar, just different register sizes/location, but they all have Xtal Divider / VCO divider etc and so
    Si5351 code should be better than starting from scratch.

  • PropGuy2PropGuy2 Posts: 209
    edited 2019-05-08 - 15:10:08
    Thanks for the reference - The main problem is that there is so much misinformation, and bad code stuff written out there and published on the different forums (not Parallax, of course) by people who have not even read the Datasheets. They just copy & past the same bad code over and over, without checking their logic and math. On the other side, part of my problem has been that the Prop chip does not have signed and unsigned LONGS, as it does for Bytes and Words. I need 64 bit math to do the calculations correctly.
  • @PropGuy2

    Do you mind sharing your solution for 64-bit math? It could prove valuable to others.

    Cheers,
    Jesse
    --
    WIP Spin drivers for various devices: LSM9DS1 IMU (SPI) | Newhaven 4x20 OLED (I2C) | MLX90621 (I2C) | SHT3x (I2C) | SSD1306 OLED (I2C; P1-SPIN, P2-SPIN2) | TCS3x7x (I2C) | MAX31856 (SPI) | BMP280 (I2C) | TMC2130 (SPI) | nRF24L01+ (SPI) | MLX90614 (I2C) | MAX9744 (I2C) | DS28CM00 (I2C) | TSL2591 (I2C) | CC1101 (SPI) | SX1231 (SPI)
  • I now understand why no one has written a code snippet for the Si570 synth chip. It is difficult, and the math is horrendous. Four weeks later, I finally deciphered *all* of the Data Sheet and wrote some code. Lots of misinformation and rabbit holes out there on the Internet. I will publish a code snippet soon... along with detailed instructions on how to use this beastie chip!
  • jmgjmg Posts: 13,522
    edited 2019-05-25 - 20:16:06
    PropGuy2 wrote: »
    I now understand why no one has written a code snippet for the Si570 synth chip. It is difficult, and the math is horrendous. Four weeks later, I finally deciphered *all* of the Data Sheet and wrote some code. Lots of misinformation and rabbit holes out there on the Internet. I will publish a code snippet soon... along with detailed instructions on how to use this beastie chip!
    Nice work.
    Hehe, I get that impression with many of the SiLabs synth parts. They mainly target fixed freq uses, and do not document that well.
    ( They did have a si504 that I liked, which simply swallowed a 32b Float number for frequency. Sadly, that went EOL, I suspect from some patent squabble.)

    Here is a table I did of Silabs prog oscs. Generally the higher the Xtal & VCO, the better the jitter.
    Device SpeedGrade Xtal     Out(MHz.CMOSc)  MinFvco(GHz)    MaxFvco(GHz)   Icc         Jitter
     Si564.A         152.6    0.2~3000     10.8            13.122222222    87mA CMOS   95fs RMS  Product Revision (B)
     Si549.A         152.6    0.2~1500     10.8            12.511886114    87mA CMOS   95fs RMS
     Si549.B         152.6    0.2~800      10.8            12.206718160    87mA CMOS   95fs RMS
     Si549.C         152.6    0.2~325      10.8            12.206718160    87mA CMOS   95fs RMS    $25/1+ ( >$8.36/10k )
     Si544.A          55.05   0.2~1500     10.8            12.550082103    74mA CMOS   150fs RMS   Si544: 1: $20.38 @ Mouser, 5 part codes.
     Si544.B          55.05   0.2~800      10.8            12.109728345    74mA CMOS   150fs RMS     ( >$6.69/10k )
     Si544.C          55.05   0.2~325c      10.8            12.109728345    74mA CMOS   150fs RMS   
     Si570           114.28   10~160c      4.850           5.670           90mA CMOS   0.62pstyp   >$12/1  ONLY in 5x7 package
     Si514           31.98MHz 0.1~212c     2.080           2.500           21mA CMOS   0.8ps       DK : $7.53/1 (10MHz.3v3 & 24M.1v8)  >$2.71/10k  ($5.27/1k+) 5x7, 5x3.2, 2.5x3.2 sizes 
     Si5351A.MSOP10  25~27    0.002~200c    0.6             0.9             22mA CMOS   ~70ps pp  ~85c/1k  MSOP10
     Si5351A.QFN20   25~27    0.002~200c    0.6             0.9             22mA CMOS   ~40ps pp  ~$1.82c/1k  SI5351A-B-GM (QFN20 has lower jitter spec)
    
    From there, the newer Si514 is appx equal to the Si570 in jitter, but with better CMOS MHz range and lower Icc. Si570 goes higher in MHz, in LVDS modes.
    The 514CCC000926AAG Oscillator XO 5MHz ±30ppm CMOS 3.3V 6-Pin SMD Tray looks to be lining up nicely with Prop1, powers up at 5MHz.
    Stocked at Digi-Key Arrow Mouser Verical from $9.59/1+
    Cheapest showing is 514CBC001037BAG 24.576MHz 3.3V $6.79/1+, due June, but this needs non-pll mode until i2c changes.
    A possible stocked P1 Si570 could be
    570BCC000112DG 10.0000MHZ LVDS $15.63/1 3.3V ±7ppm -40°C ~ 85°C 108mA, shows powers up as LVDS, but 10MHz is low, so a medium RL could probably drive in p1
  • Peter JakackiPeter Jakacki Posts: 8,331
    edited 2019-05-25 - 01:48:11
    I loaded the SI5351 onto my new P2D2 last night and was able to write some code to set it up with TAQOZ. Just for testing I cut the CLK0 output going to the P2 and probed CLK1 which is easily accessible. I got too tired because I was also testing the RV-3028 RTC as well and hope to finish it all off properly today although it is outputting something in the meantime :) Just adding some stuff for the final stages.

    Here's the register dump just for fun:
    TAQOZ# CG 0 $100 DUMP --- 
    00000: 11 F8 03 00  00 FF 00 00  00 00 00 00  00 00 90 00     '................'
    00010: 00 00 00 80  80 80 80 80  00 00 00 00  00 00 00 00     '................'
    00020: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00030: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00040: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00050: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00060: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00070: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00080: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00090: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    000A0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    000B0: FF 0C 00 00  00 30 1E D2  60 60 B8 02  00 00 00 00     '.....0..``......'
    000C0: 00 00 00 00  00 00 00 00  00 00 00 00  00 45 54 00     '.............ET.'
    000D0: 00 00 00 80  00 00 00 00  00 00 1C 00  00 00 FF 3F     '...............@'
    000E0: 00 00 38 00  00 00 00 00  00 00 00 00  00 00 00 00     '..8.............'
    000F0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................' ok
    

    and why not the RV-3028 since I mentioned it:
    TAQOZ# RTC 0 $40 DUMP --- 
    00000: 22 51 15 00  01 01 00 80  80 80 00 00  00 00 31 00     '"Q............1.'
    00010: 00 00 00 00  00 00 00 00  00 00 00 A6  9E E8 5C 00     '..............\.'
    00020: 00 00 00 00  00 00 49 00  33 00 00 46  62 0D 17 19     '......I.3..Fb...'
    00030: 00 00 00 00  00 C0 FF BC  A9 19 00 00  00 00 00 00     '................' ok
    

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    P2 +++++ TAQOZ INTRO & LINKS +++++ P2 SHORTFORM DATASHEET
    P1 +++++ Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    Brisbane, Australia
  • jmgjmg Posts: 13,522
    I loaded the SI5351 onto my new P2D2 last night and was able to write some code to set it up with TAQOZ. Just for testing I cut the CLK0 output going to the P2 and probed CLK1 which is easily accessible. I got too tired because I was also testing the RV-3028 RTC as well and hope to finish it all off properly today although it is outputting something in the meantime :) Just adding some stuff for the final stages.

    Here's the register dump just for fun:
    TAQOZ# CG 0 $100 DUMP --- 
    00000: 11 F8 03 00  00 FF 00 00  00 00 00 00  00 00 90 00     '................'
    00010: 00 00 00 80  80 80 80 80  00 00 00 00  00 00 00 00     '................'
    00020: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00030: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00040: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00050: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00060: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00070: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00080: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    00090: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    000A0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................'
    000B0: FF 0C 00 00  00 30 1E D2  60 60 B8 02  00 00 00 00     '.....0..``......'
    000C0: 00 00 00 00  00 00 00 00  00 00 00 00  00 45 54 00     '.............ET.'
    000D0: 00 00 00 80  00 00 00 00  00 00 1C 00  00 00 FF 3F     '...............@'
    000E0: 00 00 38 00  00 00 00 00  00 00 00 00  00 00 00 00     '..8.............'
    000F0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00     '................' ok
    

    and why not the RV-3028 since I mentioned it:
    TAQOZ# RTC 0 $40 DUMP --- 
    00000: 22 51 15 00  01 01 00 80  80 80 00 00  00 00 31 00     '"Q............1.'
    00010: 00 00 00 00  00 00 00 00  00 00 00 A6  9E E8 5C 00     '..............\.'
    00020: 00 00 00 00  00 00 49 00  33 00 00 46  62 0D 17 19     '......I.3..Fb...'
    00030: 00 00 00 00  00 C0 FF BC  A9 19 00 00  00 00 00 00     '................' ok
    

    Impressive what TQAOZ can do in one line...
    I find this in my notes, for pre-programmed Si5351A choices.

    Si5351A-B04486-GT Crystal Frequency (MHz): 25.000000000 Internal Load Capacitance (pF): 10 Default I2C address: 0x62
    Output Clock Configuration:
    CLK0 (MHz): 49.152000000 from PLLA
    CLK1 (MHz): 24.000000000 from PLLB
    CLK2 (MHz): 45.158400000 from PLLB

    That Si5351A-B04486-GT seems well stocked in Digikey/Mouser, and would start-up with some known MHz on the CLK pins, before any i2c programming occurs.
    At the more useful GPS TCXO drive of 26MHz, those numbers would be 4.00% higher
  • Peter JakackiPeter Jakacki Posts: 8,331
    edited 2019-05-25 - 02:48:21
    @jmg - good find, I was just placing another order with Mouser so I have included some of those pre-programmed versions as well.

    Thinking about that a bit more, I could load these on as the default P2 clock on all these boards rather than rely on the direct 25MHz crystal which then ends up on the Si5351 instead. Then we just specify the default P2 clock source as 49.152MHz :) Or else I can get some more boards done to replace these that uses the CLK1 output.
    Nuff said for now as I see I'm going a little OT.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    P2 +++++ TAQOZ INTRO & LINKS +++++ P2 SHORTFORM DATASHEET
    P1 +++++ Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    Brisbane, Australia
  • Nothing comes for free. The Si53521 has those micro pitch pins, and requires an external crystal, and is known to have spurs. The Si570 has much better specs, has an internal crystal, surface mount SMD-8 pads (no pins), but at the price of having horrendous 64-bit math (Prop only has *signed* integers for LONGS) so I had to "design" unsigned 32/64-bit functions to take care of that limitation.
  • Peter JakackiPeter Jakacki Posts: 8,331
    edited 2019-05-25 - 13:36:45
    Horses for courses and the Si5351 is almost free in comparison. The chip costs around $1 and the 20ppm crystal only 43c although I only paid 29c in an order of 100. A "cheap" Si570 with one output and 20ppm is around $20 and is still a DFN pack. The Si5351's MSOP10 pack I soldered manually with a regular iron and tip without any problems whereas any leadless package really needs paste and heat.

    Simple unsigned 32/64-bit maths functions are "simple" enough really and even Tachyon has mixed modes built-in on the P1.







    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    P2 +++++ TAQOZ INTRO & LINKS +++++ P2 SHORTFORM DATASHEET
    P1 +++++ Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    Brisbane, Australia
  • jmgjmg Posts: 13,522
    PropGuy2 wrote: »
    Nothing comes for free. The Si53521 has those micro pitch pins, and requires an external crystal, and is known to have spurs. The Si570 has much better specs, has an internal crystal, surface mount SMD-8 pads (no pins), but at the price of having horrendous 64-bit math (Prop only has *signed* integers for LONGS) so I had to "design" unsigned 32/64-bit functions to take care of that limitation.

    Of course. It depends on your final uses, which is best. What do you intend to use this for ?

    In the table I pasted above, the VCO GHz gives a good indication of the Jitter/spurs to be expected.
    The Si514 looks newer and is broadly similar to the older Si570 - did you look at that, to see if a Si514 version is much different in code ?
    Horses for courses and the Si5351 is almost free in comparison. The chip costs around $1 and the 20ppm crystal only 43c although I only paid 29c in an order of 100.
    Even better is that the Si5351A can operate on a cheap (VC)TCXO, like this 26c/100 model, where the GPS volumes result in quite low prices.

  • PropGuy2PropGuy2 Posts: 209
    edited 2019-05-27 - 13:43:52
    The Si570 synth chip will be used in all band Ham transceiver that I have been designing for the past few months. For production, i need to watch the component count, make the PCB very reliable (no customer returns) and for a very competitive price. If I can use a synth chip with a built-in crystal, I am going to do it - Same with a RTC chip (DS3231) with a built-in and temperature compensated crystal, I am going to do it. The main PCB has few externally wired components, switches or connectors, all to save on using wire jumpers (lots of labor), using a capacitive touch keypad = no twisty knobs, using a VGA display = no expensive LCD displays; plus everyone has an extra VGA laying around ...and it uses the Parallax FLiP module. :-D
    2939 x 2286 - 1M
    1789 x 1135 - 491K
    3945 x 1911 - 2M
Sign In or Register to comment.