Programmable Clock F446-Si5351

by andrea000trevisan in Circuits > Electronics

267 Views, 0 Favorites, 0 Comments

Programmable Clock F446-Si5351

I've adapted code from https://www.instructables.com/Clock-Generator-With-Si5351-and-Blue-Pill/ . I connect Si5351 to STM32F446 without pull-up resistors as they are set in F446Si5351_3.ioc . Change SI5351_XTAL_FREQ from 25 MHz to 27 MHz and waves stop jittering. Traces of 25 - 27 MHz are in: Si5351A_B_C Data Sheet and similar.

First I compile with a nominal value of 2MHz. I measure output frequency with Hantek and get the correction.

Then I compile with the correction and get right frequencies. Now waves mistake 1 Hz after 20 mins since device is turned on. Initially waves mistake 10 Hz.

First compilation of F446Si5351_3: const float freqCorrection = 1.0; , ie: nominal 2MHz. Hantek azure: clk0 measures MEASURED_CH1_2MHZ value.

Second compilation of F446Si5351_3: const float freqCorrection = (float)CH1_SI5351_FREQ / MEASURED_CH1_2MHZ; , ie: corrected. Hantek yellow: clk0, clk1 and clk2.

Electronic scheme: pdf.

First Compilation

pic_478_8.gif

First I compile with a nominal value of 2MHz. I measure output frequency with Hantek and get the correction.

Second Compilation Clk0

pic_478_5.gif

Second compilation of F446Si5351_3

Second Compilation Clk1

pic_478_6.gif

Second compilation of F446Si5351_3

Second Compilation Clk2

pic_478_7.gif

Second compilation of F446Si5351_3

Si5351

20211010_185118.jpg

Hardware: Si5351

F446

20211010_185150.jpg

Hardware: F446

Both

20211010_185005.jpg

Hardware: complete.