Russ G4SAQ built the OCXO/Si5351A Synth kit. On programming the Si5351A, Russ writes:
I have built this kit to drive a modified satellite LNB LO so I needed a means of programming the si5351a. As I am familiar with PICs, I wanted to use that approach, rather than the AVR microcontrollers which you favour.
The real problem I faced was getting i2c to work on a modern PIC16 device. It was hard to find any readily available code. Eventually I found some Microchip code in the now redundant PIC18 peripheral libraries and that is fine after minor tweaks.
I have written two PIC projects. The first is my own work and it utilizes a register file generated by the Silabs ‘Clockbuilder’ Windows software. This works well.
Click to download files:
main.c | for PIC16F1459 |
i2c.c | based on Microchip library code |
i2c.h | based on Microchip library code |
i2c.c | Generated by the SiLabs "ClockBuilder" software |
The second project utilizes code from your website under the title, “Example 2: using AVR's TWI (I2C) peripheral”. I took the si5351a.c file (and its header) and adapted them for PIC use. This also works well.
Click to download files:
main.c | for PIC16F1459 |
si5351a.c | QRP Labs demo code adapted for PIC use |
si5351a.h | header file for the si5351a demo library |
i2c.c | based on Microchip library code |
i2c.h | based on Microchip library code |
Thanks for sharing, Russ!
Please also refer to documents and theoretical discussion on the main Si5351A Synth kit demo page.