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
First I compile with a nominal value of 2MHz. I measure output frequency with Hantek and get the correction.
Second Compilation Clk0
Second compilation of F446Si5351_3
Second Compilation Clk1
Second compilation of F446Si5351_3
Second Compilation Clk2
Second compilation of F446Si5351_3
Si5351
Hardware: Si5351
F446
Hardware: F446
Both
Hardware: complete.